从0到1搭建《英灵神殿》(Valheim)游戏服务器

valheim

购买服务器

这边推荐 腾讯云学生机服务器(https://curl.qcloud.com/VpUtyVxr), 新客下单仅需99/年. 这边使用 基于操作系统镜像 OpenCloudOS 来创建. 地域根据自己的就近区域选择.

登录服务器

创建完我们直接登录进服务器.

安装 Docker

我的系统是 OpenCloudOS 9.6, 先安装 Docker:

1
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo && dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

设置 Docker 开机并启动

1
systemctl start docker && systemctl enable docker

创建存档文件夹

1
mkdir -p $HOME/valheim-server/config/worlds $HOME/valheim-server/data

[可选]使用本地存档

如果你 steam 中有云存档, 需要先移到本地.

然后电脑存档一般在 “C:\Users\你的用户名\AppData\LocalLow\IronGate\Valheim\worlds_local\xxx世界名”.

使用腾讯云右上角的文件管理, 将存档文件夹上传到服务器路径 “$HOME/valheim-server/config/worlds/“ 下.

运行服务端程序

启动服务容器:

1
2
3
4
5
6
7
8
9
10
11
docker run -d \
--name valheim-server \
--cap-add=sys_nice \
--stop-timeout 120 \
-p 2456-2457:2456-2457/udp \
-v $HOME/valheim-server/config:/config \
-v $HOME/valheim-server/data:/opt/valheim \
-e SERVER_NAME="服务器浏览器中会显示的名称" \
-e WORLD_NAME="世界名:目录里的worlds_local/目录,或者在1.0之前保存的文件名,但没有扩展.db/.fwl名" \
-e SERVER_PASS="登录服务器密码——最少5个字符!" \
lloesche/valheim-server

除了上面的参数, 其它参数可以在 valheim-server-docker 项目找到.
如果提示:

1
docker: Error response from daemon: failed to resolve reference "docker.io/lloesche/valheim-server:latest": 

则可能是网络原因, 无法拉取到服务所需要的镜像. 这时我们需要配置 Docker 国内镜像加速器并重启 Docker:

1
mkdir -p /etc/docker && tee /etc/docker/daemon.json <<<'{"registry-mirrors":["https://mirror.ccs.tencentyun.com"]}' && systemctl daemon-reload && systemctl restart docker

重新执行运行服务端的命令, 应该就可以了.
启动完之后我们执行 docker ps, 看到 CONTAINER ID 有记录说明服务端程序启动成功了.

查看运行日志

看到 Done 表示更新运行完成.

1
docker logs -f valheim-server 

开放防火墙端口

我们需要在腾讯云的防火墙里, 添加规则, 开放我们服务端程序的 TCP协议 和 UDP协议 2456-2457 端口.

进入房间

启动游戏, 添加服务器, 输入服务器的 ip 地址端口(默认端口可为空), 连接上就可以了.

存档备份

服务端程序会每隔一段时间在 $HOME/valheim-server/config/backups 创建世界的备份, 直接在这里下载就好.

视频教程