帮助中心
香港服务器租用帮助
僵尸毁灭工程服务器docker开服
2022-12-05 17:25:53


引言

对于僵尸毁灭工程这一款游戏来说,联机游戏当然会比单机游戏增加更多乐趣。但是,这个游戏是基于P2P连接的,所以,囿于当作服务器的电脑所连接的网络环境延迟等问题,导致联机性能和体验感会下降。因此,很多玩家都会选择自建服务器,即购置云服务器安装steamcmd。官方给出的服务器搭建办法Dedicated Server - PZwiki中也是这种操作。但是这种操作具体在使用体验感上还有很多问题,我认为其中需要注意的就是需要单独为steamcmd创建新用户,游戏环境,以及如何合适的中断,保留服务器快照等问题。

基于如上的问题,所以我推荐使用docker运行容器来运行服务器进程。参考我使用的云服务器的配置是USA-IDC香港云服务器,Debain11,X86_64,2C4G6M的硬件配置,可以流畅进行联机游戏。需要自行在服务器上安装docker。同时,参考链接僵尸毁灭工程(Project Zomboid)自建Linux服务器完全指南 - 哔哩哔哩 (bilibili.com)。在运行服务器的过程中,我踩了很多坑,所以在此写文章记录下来。

安装环境

我们使用的镜像是steamcmd,参考cm2network/steamcmd - Docker Image | Docker Hub,拉取镜像docker pull cm2network/steamcmd。在成功拉取镜像之后,就可以运行容器了。需要注意的是,需要指定绑定的端口号以及本地的文件夹映射,也同时需要在云服务器商的管理面板中开放相关的端口。参考如下命令

docker run -itd -p 16261:16261/udp -p 8766:8766 cm2network/steamcmd 复制代码这里需要注意容器内部的16261端口需要UDP。并且,我自己的是没有进行文件夹映射的,但是推荐使用文件夹映射可以更加方便得管理存档,这个游戏的存档在steamcmd中的默认安装位置为/home/steam/Zomboid/Saves/Multiplayer,需要的话可以自己映射目录。

steamcmd

在运行了容器之后,attach容器docker attach ID。进入到/home/steam/steamcmd,如下图所示:

使用./steamcmd.sh运行steamcmd。之后需要匿名登陆和拉取僵尸毁灭工程游戏服务端文件

login anonymous app_update 380870 validate 复制代码在正确下载之后,可以在容器的/home/steam/Steam/steamapps/common/Project Zomboid Dedicated Server目录下找到游戏文件。

启动游戏

cd到上述目录,运行里面的start-server.sh即可开启服务器。

这种不指定servername的方式是会让游戏自动创建一个新的存档。在第一次进入这个存档,会让你设置admin用户的密码,如果想要登录为管理员,可以使用用户名admin以及刚才的密码登录。如果不想登录管理员,就是使用自己随便输入的账号和密码。管理员的命令参考Dedicated Server - PZwiki

存档管理

如果想把本地的存档放在服务器上玩,就需要将存档文件上传至服务器。可以考虑使用SCP命令,但是如果想有图形界面,在windows系统下可以考虑使用WinSCP软件WinSCP :: Official Site :: Free SFTP and FTP client for Windows。将存档文件上传到/home/steam/Zomboid/Saves/Multiplayer。

以下每一个文件夹都是表示一个存档的名字,一个存档可能包括如下文件

其中包括地图文件和配置文件。

如果要运行某个存档,需要cd到目录/home/steam/Steam/steamapps/common/Project Zomboid Dedicated Server,运行./start-server.sh -servername 存档文件夹的名字,例如下图所示,即可成功运行服务端:

在客户端中输入游戏服务器IP和端口(本示例端口默认)即可连接游戏服务器。

后记

欢迎加入我的服务器,它的IP为:code.masaikk.xyz,默认端口。在运行服务器游玩这款游戏的时候,体验感上升很多,联机游戏有着与单机游玩不同的乐趣所在。

游戏云主机推荐选择USA-IDC,采用CN2直连线路,可提供弹性升级网络,支持多种配置方案,可免费测试,可以联系我们的专业客服提供配置推荐

USA-IDC为您提供免备案服务器 0元试用
立即联系在线客服,即可申请免费产品试用服务
立即申请