从0到1搭建《英灵神殿》(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 | docker run -d \ |
除了上面的参数, 其它参数可以在 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 创建世界的备份, 直接在这里下载就好.