英灵神殿(Valheim)是近两年最火的北欧生存建造游戏之一,十人小队砍树建家、打五兽,乐趣全在"存档一直在"。但官方没有提供服务器,靠某个人开着电脑当主机——他一下线,全队的进度就暂停。
这篇教程带你用一台云服务器把 Valheim 专用服务端跑起来,24 小时在线、断线重连、存档不丢。全部命令可抄,Linux 原生服务端,不需要 Wine。
本文由财富云计算整理,我们主营 NAT 型云服务器(无独立公网 IP),价格比独立 IP 机型省一半以上,跑游戏服完全够用。更多开服攻略见端口速查表。
一、这篇适合谁
- 朋友固定几个人到十几人,想长期经营一个世界
- 不想再让某个人的电脑当"主机",也不想他一下线全员掉线
- 有一台云服务器(NAT 型也可以),想自己动手不求人
如果你还没买服务器,先看游戏服配置怎么选,Valheim 属于最省资源的一类,2 核 4G 就能带十人。
二、配置需求:人数决定内存
Valheim 服务端是 Unity 编写,物理模拟比较吃单核主频,内存随世界规模和在线人数增长。实测参考:
| 同时在线 | CPU | 内存 | 磁盘 | 带宽 |
|---|---|---|---|---|
| 1–4 人 | 2 核 | 2–4 GB | 10 GB | 5 Mbps |
| 5–8 人 | 2–4 核 | 4–6 GB | 15 GB | 10 Mbps |
| 9–16 人 | 4 核 | 6–8 GB | 20 GB | 15–20 Mbps |
| 16+ 或大型世界 | 4–8 核 | 8–16 GB | 30 GB+ | 20 Mbps+ |
几个要点:
- 单核主频比核心数重要。Valheim 物理线程吃单核,高主频 2 核好过低主频 8 核。
- 世界越大越吃内存。玩家把地图刨得千疮百孔、建满基地之后,内存占用会持续上涨,16 人服建议 8G 起步。
- NAT 型完全够用。Valheim 只需要 UDP 端口,流量大头是玩家之间的同步数据,十人服一个月也就几十 GB 流量。NAT 型没有独立公网 IP 不影响 Steam 联机(详见NAT 型服务器能力指南)。
- 磁盘要 SSD。服务端会周期性保存世界,机械盘会出现存档卡顿。
三、安装:SteamCMD 一条命令
Valheim 官方提供专用服务端工具,Steam App ID 是 896660,Linux 原生支持,匿名下载即可。
先准备 SteamCMD(已装过的跳过):
# Debian/Ubuntu
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmd
# 或者手动安装
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -建议单独建一个用户跑服务端,不要用 root:
sudo adduser --disabled-password --gecos "" valheim
sudo mkdir -p /opt/valheim && sudo chown valheim:valheim /opt/valheim
sudo -u valheim -s下载服务端:
cd ~/steamcmd
./steamcmd.sh +force_install_dir /opt/valheim +login anonymous +app_update 896660 validate +quit下载完成后 /opt/valheim 下会有:
valheim_server.x86_64—— 服务端主程序start_server.sh—— 官方启动脚本steamapps/—— 依赖库
如果 SteamCMD 报错,先查SteamCMD 常见错误码,大部分问题(no such app、下载中断)都有固定解法。
四、启动参数详解
先看官方 start_server.sh 里的默认参数,理解每一项再改:
export templdpath=$PWD/linux64
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
export SteamAppId=892970
./valheim_server.x86_64 -name "我的服务器" -port 2456 -world "world1" -password "123456" -crossplay -public 1逐项说明:
| 参数 | 说明 |
|---|---|
-name | 服务器名,显示在游戏内服务器列表 |
-port 2456 | 游戏端口,UDP,一般不动 |
-world world1 | 世界名,决定存档文件夹名,改一次等于开新世界 |
-password | 进服密码,建议设置,防止陌生人进房拆家 |
-crossplay | 开启跨平台,Xbox/PC 好友可以一起玩 |
-public 1 | 是否在 Steam 服务器列表公开显示;自用建议 0 |
注意:-world 一旦确定就别再改。改世界名等于抛弃旧存档开新图。想让新人直接进现有世界,就用原来的名字启动。
写一个自己的启动脚本:
cat > /opt/valheim/start.sh <<'EOF'
#!/bin/bash
cd /opt/valheim
export templdpath=$PWD/linux64
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
export SteamAppId=892970
exec ./valheim_server.x86_64 -name "英灵殿-小队服" -port 2456 \
-world "northland" -password "your_password" -crossplay -public 0
EOF
chmod +x /opt/valheim/start.sh-public 0 加密码,好友通过"加入游戏 → 输入 IP:端口"直连;-public 1 则任何人能在列表搜到。
五、systemd 守护:开机自启+崩溃重启
用 screen/tmux 挂着也能跑,但服务器一多就乱。推荐 systemd,崩溃自动拉起:
sudo tee /etc/systemd/system/valheim.service <<'EOF'
[Unit]
Description=Valheim Dedicated Server
After=network.target
[Service]
Type=simple
User=valheim
ExecStart=/opt/valheim/start.sh
Restart=on-failure
RestartSec=10
WorkingDirectory=/opt/valheim
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now valheim
systemctl status valheim日常管理命令:
systemctl restart valheim # 重启
journalctl -u valheim -f # 看实时日志更多服务托管细节见systemd 服务管理指南。
六、端口与防火墙:只放行必要的
Valheim 需要 UDP 2456–2458(游戏 2456,其余为 Steam 查询端口):
# ufw 用户
sudo ufw allow 2456:2458/udp
# firewalld 用户
sudo firewall-cmd --permanent --add-port=2456-2458/udp
sudo firewall-cmd --reload云控制台安全组同样要放行 UDP 2456–2458(安全组配置实战)。
NAT 型服务器用户:在商家控制台做端口映射,把外网某 UDP 端口映射到内网 2456,然后把映射后的外网端口告诉好友。注意 NAT 映射通常是"一个外网端口对一个内网端口",2456–2458 三个端口要逐条加映射。端口规划参考端口速查表。
验证服务端是否在监听:
ss -lunp | grep 2456有输出说明服务起来了;没输出先看日志。
七、管理员命令与白名单
进游戏按 F5 打开控制台,输入:
adminadd <你的角色名或SteamID>角色名就是你的游戏角色名。常见管理命令:
| 命令 | 作用 |
|---|---|
adminadd / adminremove | 添加/移除管理员 |
banadd / banremove | 封禁/解封(加名字或 IP) |
kick <名字> | 踢人 |
save | 手动保存世界 |
管理员列表存放在服务端用户的 ~/.config/unity3d/IronGate/Valheim/adminlist.txt,封禁列表是 bannedlist.txt。可以直接编辑文件后重启服务生效。
存档位置(备份必看):
~/.config/unity3d/IronGate/Valheim/worlds/
├── northland.db # 世界主存档
├── northland.fwl # 世界元数据
└── ....db 文件就是全部世界进度,拷走它 = 带走整个世界。
八、存档备份:定时自动执行
Valheim 世界是团队几个月的心血,服务端每次更新前、每次改配置前,都要备份。一个开箱即用的备份脚本:
cat > /opt/valheim/backup.sh <<'EOF'
#!/bin/bash
# Valheim 自动备份:保留最近 14 天
SAVE_DIR="$HOME/.config/unity3d/IronGate/Valheim"
BACKUP_DIR="/opt/valheim/backups"
KEEP_DAYS=14
mkdir -p "$BACKUP_DIR"
tar -czf "$BACKUP_DIR/valheim-$(date +%F).tar.gz" -C "$SAVE_DIR" worlds adminlist.txt 2>/dev/null
find "$BACKUP_DIR" -name "valheim-*.tar.gz" -mtime +$KEEP_DAYS -delete
EOF
chmod +x /opt/valheim/backup.sh
# 每天凌晨 4 点备份
(crontab -l 2>/dev/null; echo "0 4 * * * /opt/valheim/backup.sh") | crontab -更通用的备份策略(异地、多代、恢复演练)看服务器备份策略和rsync 备份实战。
换服务器不丢存档:把备份 tar 包拷到新服务器,解压到对应用户的 .config 目录,用同一个 -world 名字启动即可,完整搬家教程见游戏服迁移指南。
九、更新:每次游戏更新后必做
Valheim 更新频繁,客户端和服务端版本不一致会连不上。更新流程:
sudo systemctl stop valheim
sudo -u valheim -s
cd ~/steamcmd
./steamcmd.sh +force_install_dir /opt/valheim +login anonymous +app_update 896660 validate +quit
exit
sudo systemctl start valheim更新前一定先跑一次备份脚本。Valheim 的大版本偶尔会改动世界格式,旧存档直接覆盖更新有概率出问题,留着旧包随时能回滚。
想彻底自动化(定时检查更新+自动重启+更新失败自动回滚)看游戏服自动更新实战。
十、MOD 与进阶
Valheim mod 生态靠 BepInEx,常用的是 ValheimPlus(品质-of-life 修改)。装 MOD 的通用流程和创意工坊订阅式 MOD 服的区别,见游戏 MOD 服搭建指南。
一台机器想同时跑多个 Valheim 世界(比如一个生存服一个建筑服),改 -port、-world、存档目录即可,注意资源叠加,多开隔离方案见一台服务器开多个游戏服。
十一、常见问题
Q1:好友连不上,提示 Connection failed?
按顺序查:① 服务端是否在跑(systemctl status valheim);② UDP 2456–2458 是否放行(安全组+服务器防火墙两层);③ NAT 用户确认映射端口对不对;④ 客户端和服务端版本是否一致(游戏更新后服务端也要更新)。
Q2:服务器列表搜不到?-public 0 就是故意不公开的,只能直连 IP:端口。想公开就改 -public 1。
Q3:内存一直涨,几天不重启就卡?
Valheim 长跑内存泄漏是已知现象。加 swap 缓解(swap 优化指南),再挂一个每天凌晨定时重启的 cron:
0 5 * * * systemctl restart valheimQ4:想从小服务器换大的,麻烦吗?
不麻烦。停服 → 备份 → 新服务器解压 → 同世界名启动,十分钟搞定,参考游戏服迁移指南。
Q5:服务端 CPU 长期 100%?
看同时在线人数和世界规模是否超出配置,参考第二节的表格升配;也可能是 MOD 或死亡掉落堆积导致,服务器资源排查有定位方法。
Q6:管理员命令没反应?
控制台要先 adminadd 生效(重启后仍在),且命令要用对角色名;列表文件被手动改坏也会失效,检查 adminlist.txt 格式。
十二、小结
Valheim 服务端是 Linux 原生、门槛最低的生存游戏服之一:2 核 4G 起步,三个 UDP 端口,一个 systemd 服务,一套备份脚本,就能让全队的北欧世界 24 小时在线。存档.db 文件是整个团队的心脏,备份脚本挂上的那天起,睡觉都踏实。
需要服务器跑 Valheim,可以看看财富云计算的 NAT 型云服务器——无独立公网 IP,价格比独立 IP 机型省一半以上,十人小队服轻松带动, Steam 联机不受影响。更多游戏的开服教程持续更新在游戏配置与开服教程总索引。
相关阅读:帕鲁开服 Linux 版 · 致命公司开服 · 幸福工厂开服 · 我的世界 Java 版开服 · 饥荒联机开服
延伸阅读
- 高防误区与避坑清单:25 个坑+下单前必问 14 问+到货验货流程
- DNS 攻击防护专题:劫持、隧道、投毒、放大四类攻击与 DNSSEC
- 电商大促防攻击预案:T-14 到当天的分级响应与降级开关
- 源站真实 IP 隐藏完全指南:六大暴露面排查+NAT 型终极方案
- 日志分析找攻击源:Nginx 日志三维度分析法与证据固定
- 攻击应急响应手册:六阶段响应流程,从确认到复盘的照做清单
- iptables 抗 DDoS 配置模板:状态过滤+SYN 防护+防扫描+游戏服版
- OpenResty Lua 自研 WAF:动态限流+攻击特征检测+Redis 黑名单
