使用Docker搭建Project Zomboid服务器
在本文中,我将详细介绍如何使用Docker来搭建一个Project Zomboid服务器。Project Zomboid是一款非常受欢迎的僵尸生存游戏,通过搭建私人服务器,您可以和朋友们一起在这个后启示录世界中生存。让我们开始吧。
前提条件
- 一台运行Linux的服务器(本教程以Ubuntu为例)
- 已安装Docker和Docker Compose
如果您还没有安装Docker和Docker Compose,可以参考以下命令:
# 安装Docker
wget -qO- get.docker.com | bash
# 设置Docker开机自启
systemctl enable docker
# 安装Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予Docker Compose执行权限
sudo chmod +x /usr/local/bin/docker-compose
配置文件
创建一个名为docker-compose.yml
的文件,内容如下:
version: "3.8"
services:
project-zomboid:
container_name: pzserver
image: pepecitron/projectzomboid-server
restart: unless-stopped
environment:
SERVER_ADMIN_PASSWORD: "密码"
SERVER_PASSWORD: "密码"
SERVER_NAME: "随便填"
SERVER_PUBLIC_NAME: "随便填"
SERVER_PUBLIC: "false"
SERVER_MAX_PLAYER: "4"
PGID: 1000
PUID: 1000
ports:
- "16261:16261/udp"
- "16262:16262/udp"
volumes:
- ./data/server-file:/data/server-file
- ./data/config:/data/config
让我们来解释一下这个配置文件的主要部分:
container_name
: 设置容器的名称为pzserver。image
: 使用pepecitron/projectzomboid-server镜像。restart
: 设置为unless-stopped,意味着除非手动停止,否则容器会自动重启。environment
: 设置了一些服务器的环境变量,包括管理员密码、服务器密码、服务器名称等。ports
: 映射了16261和16262两个UDP端口。volumes
: 将服务器文件和配置文件映射到本地目录,以便持久化数据。
启动服务器
在包含docker-compose.yml
文件的目录中,运行以下命令来启动服务器:
docker-compose up -d
这个命令会在后台启动Project Zomboid服务器。
开放防火墙端口
为了确保其他玩家可以连接到您的服务器,您需要在防火墙中开放相应的端口。以下是使用ufw
(Ubuntu默认防火墙)开放端口的步骤:
sudo ufw allow 16261/udp
sudo ufw allow 16262/udp
如果您使用的是其他防火墙软件,请参考相应的文档来开放这些端口。
连接到服务器
现在,您的Project Zomboid服务器应该已经成功运行了。玩家可以通过以下步骤连接到服务器:
- 启动Project Zomboid游戏。
- 选择"Join"(加入)。
- 点击"Add server"(添加服务器)。
- 输入您服务器的IP地址和端口(默认为16261)。
- 输入在docker-compose.yml文件中设置的服务器密码。
- 点击"Join"(加入)开始游戏。
管理服务器
-
查看服务器日志:
docker-compose logs -f project-zomboid
-
停止服务器:
docker-compose down
-
更新服务器:
bashCopydocker-compose pull docker-compose up -d
解决常见问题
关闭作弊检测
如果您和朋友在游玩时经常被踢出服务器,遇到"检测到格式错误的数据包"等问题,可以通过关闭作弊检测来解决。请注意,公开服务器不建议修改此项。
在Linux环境下,操作步骤如下:
-
进入服务器配置目录:
cd ./data/config
-
编辑
SERVER_NAME填写的值.ini
文件:
vim SERVER_NAME填写的值.ini
-
搜索
AntiCheat
,将AntiCheatProtectionType
参数1-24全部修改为false
。 -
保存并退出编辑器。
-
重启Docker容器以应用更改:
docker-compose restart project-zomboid
安装Mods
要在服务器上安装Mods,您需要修改docker-compose.yml
文件中的环境变量。在environment
部分添加以下内容:
environment:
...
MOD_NAMES: "RainWash;EasyConfigChucked;ExpandedHelicopterEvents"
MOD_WORKSHOP_IDS: "2657661246;2529746725;2458631365"
MOD_NAMES
: Mod的名称,用分号分隔。MOD_WORKSHOP_IDS
: Mod的Steam Workshop ID,用分号分隔。
添加或更新Mods后,重启容器即可自动应用更改:
docker-compose up -d
注意事项
- 请确保定期备份您的服务器数据(位于./data目录)。
- 如果您计划将服务器公开,请更改默认的管理员密码和服务器密码。
- 根据需要调整SERVER_MAX_PLAYER的值来控制最大玩家数。
通过以上步骤,您应该能够成功搭建并运行一个Project Zomboid服务器。祝您在这个充满挑战的僵尸世界中度过愉快的时光!如果遇到其他问题,欢迎在下面留言讨论。