
renegademaster/zomboid-dedicated-server如遇到问题,请在GitHub仓库提交报告。
 !Docker镜像大小(按日期最新) !DockerHub拉取次数
使用Docker(可选Docker-Compose)部署的Project Zomboid专用服务器。几乎从零构建,旨在成为体积最小的Project Zomboid专用服务器!注意: 此镜像为“无root权限”(rootless),因此不应以root用户运行。尝试以root用户运行将导致服务器无法启动(参见#8、#14)。
启动服务器的最低要求说明:
shell# 拉取最新镜像: docker pull renegademaster/zomboid-dedicated-server:latest # 创建两个文件夹 mkdir ZomboidConfig ZomboidDedicatedServer # 运行服务器(使用最低选项): docker run --detach \ --mount type=bind,source="$(pwd)/ZomboidDedicatedServer",target=/home/steam/ZomboidDedicatedServer \ --mount type=bind,source="$(pwd)/ZomboidConfig",target=/home/steam/Zomboid \ --publish ***:***/udp --publish ***:***/udp \ --name zomboid-server \ docker.io/renegademaster/zomboid-dedicated-server:latest
容器的默认行为是在崩溃后不会自动重启,以便用户有时间调查问题原因。但您可能希望更改重启策略以自动从意外故障中恢复。以下选项有助于应对此类情况:
--restart=unless-stopped:除非使用Docker/Podman API停止容器,否则每次容器退出时都会重启。--restart=on-failure[:max-retries]:仅当容器以非零退出代码退出时才重启。可选地,可配置仅重启固定次数以防止崩溃循环。这些选项也可在docker-compose.yaml文件中设置。
每次提交都会通过GitHub Actions构建服务器并短暂启动,以确保服务器始终可正常运行,降低发布无法运行版本的可能性。启动服务器后会更改并检查主要配置,以验证用户可以配置其实例。验证过程中还会使用自定义端口和远程RCON命令,确保用户可以使用任何端口组合托管服务器。您可以在此处查看之前的Action运行记录。
| 提供者 | 镜像名称 | 拉取命令 |
|---|---|---|
| GitHub Packages | ghcr.io/renegade-master/zomboid-dedicated-server | docker pull ghcr.io/renegade-master/zomboid-dedicated-server:x.y.zdocker pull ghcr.io/renegade-master/zomboid-dedicated-server:latest |
| DockerHub | docker.io/renegademaster/zomboid-dedicated-server | docker pull docker.io/renegademaster/zomboid-dedicated-server:x.y.zdocker pull docker.io/renegademaster/zomboid-dedicated-server:latest |
| Red Hat Quay | quay.io/renegade_master/zomboid-dedicated-server | docker pull quay.io/renegade_master/zomboid-dedicated-server:x.y.zdocker pull quay.io/renegade_master/zomboid-dedicated-server:latest |
主机上需要存在两个目录:
| 名称 | 目录路径 | 描述 |
|---|---|---|
| 配置数据 | ZomboidConfig | 用于存储服务器配置和存档文件。 |
| 安装数据 | ZomboidDedicatedServer | 用于存储服务器游戏数据。 |
这些文件夹必须在您打算运行Docker镜像的目录中创建。可以是您在某种“服务器目录”中创建的文件夹,也可以是克隆仓库后的仓库根目录。如果Docker镜像启动时这些文件夹不存在,将出现权限错误(参见#8、#14、#17),因为Docker引擎会在容器运行时创建这些文件夹,导致它们在主机上属于root用户,从而引发权限冲突。
“配置数据”文件夹存储服务器配置和存档文件。此文件夹可像非Docker方式运行服务器一样打开和编辑,您可以备份存档文件或编辑服务器配置文件。建议在尝试编辑“配置数据”文件夹中的文件前,先成功启动服务器一次。文件生成后,即可安全编辑。大多数配置选项更改需要重启服务器才能生效,也可通过游戏内管理菜单配置大部分设置。
“安装数据”文件夹存储服务器游戏数据。此文件夹可打开和编辑,但服务器完全重启时可能会在文件验证过程中重置其中的更改。因此,建议通过Docker镜像提供的“可选参数”表中的环境变量来更改此文件夹中的文件。
服务器总共可使用三个端口,但只有两个是严格必需的:
| 名称 | 默认端口 | 描述 | 是否必需 |
|---|---|---|---|
DEFAULT_PORT | *** | 服务器用于监听连接的端口。 | 是 |
RCON_PORT | 27015 | 服务器用于监听RCON连接/命令的端口。 | 否 |
UDP_PORT | *** | 服务器用于促进客户端连接的额外端口。 | 是 |
所有端口均可配置为不同的端口号,但需注意,若在游戏配置文件中更改端口,必须在Docker运行命令的--publish ...中或Docker-Compose文件的services.zomboid-server.ports配置项中暴露更改后的(或默认)端口。此外,这些端口必须不被防火墙阻止。如果您位于路由器和/或防火墙后,几乎肯定需要开放这些端口,以便网络外部的用户连接到服务器。端口转发和在托管服务器中开放端口不在本项目范围内,具体操作需咨询ISP、服务器提供商或参考第三方路由器说明。
严格必需的端口(DEFAULT_PORT和UDP_PORT)用于服务器监听连接和与已连接客户端通信,必须分配值且可从互联网访问(即“转发”)。
若打算使用RCON与服务器交互,则RCON_PORT也必须开放连接。若不打算使用RCON,则无需在Docker运行命令或Docker-Compose文件中包含此端口,关闭此端口可增强服务器安全性。
服务器可使用纯Docker或Docker-Compose运行。最终结果相同,但推荐使用Docker-Compose以简化配置。
| 参数 | 描述 | 取值范围 | 默认值 |
|---|---|---|---|
ADMIN_PASSWORD | 服务器管理员账户密码 | [a-zA-Z0-9]+ | changeme |
ADMIN_USERNAME | 服务器管理员账户用户名 | [a-zA-Z0-9]+ | superuser |
BIND_IP | 服务器绑定的IP地址 | 0.0.0.0 | 0.0.0.0 |
GAME_VERSION | 要运行的游戏版本 | [a-zA-Z0-9_]+ | public |
GC_CONFIG | 指定Java垃圾回收器 | [a-zA-Z0-9_]+ | ZGC |
MAP_NAMES | 地图名称(例如 North;South) | map1;map2;map3 | Muldraugh, KY |
MAX_RAM | 最大RAM使用量 | ([0-9]+)m | 4096m |
STEAM_VAC | 是否使用Steam VAC反作弊 | (true|false) | true |
TZ | 容器时区设置 | [A-Z]+ | UTC |
USE_STEAM | 创建Steam服务器还是非Steam服务器 | (true|false) | true |
以下环境变量将自动覆盖服务器config.ini文件(位于/home/steam/Zomboid/Server/[name].ini)中的值。直接编辑.ini文件中的这些值将导致它们被默认值或配置的环境变量覆盖。
其他值可以且应该直接在.ini文件中编辑。
| 参数 | 描述 | .ini变量名 | 取值范围 | 默认值 |
|---|---|---|---|---|
AUTOSAVE_INTERVAL | 自动保存间隔(分钟) | SaveWorldEveryMinutes | [0-9]+ | 15m |
DEFAULT_PORT | 其他玩家连接的端口 | DefaultPort | 1000 - 65535 | *** |
MAX_PLAYERS | 服务器允许的最大玩家数 | MaxPlayers | [0-9]+ | 16 |
MOD_NAMES | 创意工坊模组名称(例如 ClaimNonResidential;MoreDescriptionForTraits) | Mods | mod1;mod2;mod | |
MOD_WORKSHOP_IDS | 创意工坊模组ID(例如 2160432461;2685168362) | WorkshopItems | 2160432461;2685168362; | |
PAUSE_ON_EMPTY | 无玩家连接时暂停服务器 | PauseEmpty | (true|false) | true |
PUBLIC_SERVER | 设为false时,仅预批准/允许的玩家可加入服务器(注意:不要与.ini中的Public选项混淆) | Open | (true|false) | true |
RCON_PASSWORD | 用于验证传入RCON命令的密码 | RCONPassword | [a-zA-Z0-9]+ | changeme_rcon |
RCON_PORT | 监听RCON命令的端口 | RCONPort | 1000 - 65535 | 27015 |
SERVER_NAME | 公开可见的服务器名称 | PublicName | [a-zA-Z0-9]+ | ZomboidServer |
SERVER_PASSWORD | 服务器密码 | Password | [a-zA-Z0-9]+ | |
UDP_PORT | 用于促进客户端连接的额外端口 | SteamPort1 | 1000 - 65535 | 8766 |
以下是使用Docker镜像运行服务器的说明。
本地获取镜像:
从DockerHub拉取镜像:
shelldocker pull renegademaster/zomboid-dedicated-server:<标签名>
或构建镜像:
shellgit clone [***] \ && cd zomboid-dedicated-server docker build -t docker.io/renegademaster/zomboid-dedicated-server:<标签> -f docker/zomboid-dedicated-server.Dockerfile .
运行容器:
注意:方括号中的参数为可选。若要覆盖默认端口,还需更改下方的published端口。
shellmkdir ZomboidConfig ZomboidDedicatedServer docker run --detach \ --mount type=bind,source="$(pwd)/ZomboidDedicatedServer",target=/home/steam/ZomboidDedicatedServer \ --mount type=bind,source="$(pwd)/ZomboidConfig",target=/home/steam/Zomboid \ --publish ***:***/udp --publish ***:***/udp [--publish 27015:27015/tcp] \ --name zomboid-server \ [--restart=no] \ [--env=ADMIN_PASSWORD=<值>] \ [--env=ADMIN_USERNAME=<值>] \ [--env=AUTOSAVE_INTERVAL=<值>] \ [--env=BIND_IP=<值>] \ [--env=DEFAULT_PORT=<值>] \ [--env=GAME_VERSION=<值>] \ [--env=GC_CONFIG=<值>] \ [--env=MAP_NAMES=<值>] \ [--env=MAX_PLAYERS=<值>] \ [--env=MAX_RAM=<值>] \ [--env=MOD_NAMES=<值>] \ [--env=MOD_WORKSHOP_IDS=<值>] \ [--env=PAUSE_ON_EMPTY=<值>] \ [--env=PUBLIC_SERVER=<值>] \ [--env=RCON_PASSWORD=<值>] \ [--env=RCON_PORT=<值>] \ [--env=SERVER_NAME=<值>] \ [--env=SERVER_PASSWORD=<值>] \ [--env=STEAM_VAC=<值>] \ [--env=TZ=<值>] \ [--env=USE_STEAM=<值>] \ docker.io/renegademaster/zomboid-dedicated-server[:<标签名>]
(可选)将终端重新附加到日志输出(注意:这不是交互式终端)
shelldocker logs --follow zomboid-server
当控制台中出现LuaNet: Initialization [DONE]时,玩家即可开始加入服务器。
以下是使用Docker-Compose运行服务器的说明。
下载仓库:
shellgit clone [***] \ && cd zomboid-dedicated-server
在docker-compose.yaml文件中进行所需的配置更改。在services.zomboid-server.environment部分,可修改服务器配置值。
注意:若要覆盖默认端口,还需更改published端口。
运行以下命令:
创建数据和配置目录:
shellmkdir ZomboidConfig ZomboidDedicatedServer
从DockerHub拉取镜像:
shelldocker-compose up --detach
或构建镜像:
shelldocker-compose up --build --detach
(可选)将终端重新附加到日志输出(注意:这不是交互式终端)
shelldocker-compose logs --follow
当控制台中出现LuaNet: Initialization [DONE]时,玩家即可开始加入服务器。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务