
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
如遇到问题,请在https://github.com/Renegade-Master/zomboid-dedicated-server/issues/new/choose%E6%8F%90%E4%BA%A4%E6%8A%A5%E5%91%8A%E3%80%82
https://github.com/Renegade-Master/zomboid-dedicated-server/actions/workflows/docker-build.yml/badge.svg?branch=main](https://github.com/Renegade-Master/zomboid-dedicated-server/actions/workflows/docker-build.yml) https://quay.io/repository/renegade_master/zomboid-dedicated-server/status "Docker Repository on Quay"](https://quay.io/repository/renegade_master/zomboid-dedicated-server)
!https://img.shields.io/docker/v/renegademaster/zomboid-dedicated-server?label=%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC !https://img.shields.io/docker/image-size/renegademaster/zomboid-dedicated-server?label=%E9%95%9C%E5%83%8F%E5%A4%A7%E5%B0%8F !https://img.shields.io/docker/pulls/renegademaster/zomboid-dedicated-server?label=DockerHub%E6%8B%89%E5%8F%96%E6%AC%A1%E6%95%B0
使用Docker(可选Docker-Compose)部署的Project Zomboid专用服务器。几乎从零构建,旨在成为体积最小的Project Zomboid专用服务器!注意: 此镜像为“无root权限”(rootless),因此不应以root用户运行。尝试以root用户运行将导致服务器无法启动(参见https://github.com/Renegade-Master/zomboid-dedicated-server/issues/8%E3%80%81https://github.com/Renegade-Master/zomboid-dedicated-server/issues/14%EF%BC%89%E3%80%82
启动服务器的最低要求说明:
shell# 拉取最新镜像: docker pull docker.xuanyuan.run/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 16261:16261/udp --publish 16262:16262/udp \ --name zomboid-server \ docker.xuanyuan.run/renegademaster/zomboid-dedicated-server:latest
容器的默认行为是在崩溃后不会自动重启,以便用户有时间调查问题原因。但您可能希望更改https://docs.docker.com/engine/reference/run/#restart-policies---restart%E4%BB%A5%E8%87%AA%E5%8A%A8%E4%BB%8E%E6%84%8F%E5%A4%96%E6%95%85%E9%9A%9C%E4%B8%AD%E6%81%A2%E5%A4%8D%E3%80%82%E4%BB%A5%E4%B8%8B%E9%80%89%E9%A1%B9%E6%9C%89%E5%8A%A9%E4%BA%8E%E5%BA%94%E5%AF%B9%E6%AD%A4%E7%B1%BB%E6%83%85%E5%86%B5%EF%BC%9A
--restart=unless-stopped:除非使用Docker/Podman API停止容器,否则每次容器退出时都会重启。--restart=on-failure[:max-retries]:仅当容器以非零退出代码退出时才重启。可选地,可配置仅重启固定次数以防止崩溃循环。这些选项也可在docker-compose.yaml文件中设置。
每次提交都会通过GitHub Actions构建服务器并短暂启动,以确保服务器始终可正常运行,降低发布无法运行版本的可能性。启动服务器后会更改并检查主要配置,以验证用户可以配置其实例。验证过程中还会使用自定义端口和远程RCON命令,确保用户可以使用任何端口组合托管服务器。您可以在https://github.com/Renegade-Master/zomboid-dedicated-server/actions/workflows/docker-build.yml%E6%9F%A5%E7%9C%8B%E4%B9%8B%E5%89%8D%E7%9A%84Action%E8%BF%90%E8%A1%8C%E8%AE%B0%E5%BD%95%E3%80%82
| 提供者 | 镜像名称 | 拉取命令 |
|---|---|---|
| https://github.com/Renegade-Master/zomboid-dedicated-server/pkgs/container/zomboid-dedicated-server | ghcr.io/renegade-master/zomboid-dedicated-server | docker pull ***-ghcr.xuanyuan.run/renegade-master/zomboid-dedicated-server:x.y.zdocker pull ghcr.io/renegade-master/zomboid-dedicated-server:latest |
| https://hub.docker.com/r/renegademaster/zomboid-dedicated-server | docker.io/renegademaster/zomboid-dedicated-server | docker pull docker.xuanyuan.run/renegademaster/zomboid-dedicated-server:x.y.zdocker pull docker.io/renegademaster/zomboid-dedicated-server:latest |
| https://quay.io/repository/renegade_master/zomboid-dedicated-server | quay.io/renegade_master/zomboid-dedicated-server | docker pull ***-quay.xuanyuan.run/renegade_master/zomboid-dedicated-server:x.y.zdocker pull quay.io/renegade_master/zomboid-dedicated-server:latest |
主机上需要存在两个目录:
| 名称 | 目录路径 | 描述 |
|---|---|---|
| 配置数据 | ZomboidConfig | 用于存储服务器配置和存档文件。 |
| 安装数据 | ZomboidDedicatedServer | 用于存储服务器游戏数据。 |
这些文件夹必须在您打算运行Docker镜像的目录中创建。可以是您在某种“服务器目录”中创建的文件夹,也可以是克隆仓库后的仓库根目录。如果Docker镜像启动时这些文件夹不存在,将出现权限错误(参见https://github.com/Renegade-Master/zomboid-dedicated-server/issues/8%E3%80%81https://github.com/Renegade-Master/zomboid-dedicated-server/issues/14%E3%80%81https://github.com/Renegade-Master/zomboid-dedicated-server/issues/17%EF%BC%89%EF%BC%8C%E5%9B%A0%E4%B8%BADocker%E5%BC%95%E6%93%8E%E4%BC%9A%E5%9C%A8%E5%AE%B9%E5%99%A8%E8%BF%90%E8%A1%8C%E6%97%B6%E5%88%9B%E5%BB%BA%E8%BF%99%E4%BA%9B%E6%96%87%E4%BB%B6%E5%A4%B9%EF%BC%8C%E5%AF%BC%E8%87%B4%E5%AE%83%E4%BB%AC%E5%9C%A8%E4%B8%BB%E6%9C%BA%E4%B8%8A%E5%B1%9E%E4%BA%8E%60root%60%E7%94%A8%E6%88%B7%EF%BC%8C%E4%BB%8E%E8%80%8C%E5%BC%95%E5%8F%91%E6%9D%83%E9%99%90%E5%86%B2%E7%AA%81%E3%80%82
“配置数据”文件夹存储服务器配置和存档文件。此文件夹可像非Docker方式运行服务器一样打开和编辑,您可以备份存档文件或编辑服务器配置文件。建议在尝试编辑“配置数据”文件夹中的文件前,先成功启动服务器一次。文件生成后,即可安全编辑。大多数配置选项更改需要重启服务器才能生效,也可通过游戏内管理菜单配置大部分设置。
“安装数据”文件夹存储服务器游戏数据。此文件夹可打开和编辑,但服务器完全重启时可能会在文件验证过程中重置其中的更改。因此,建议通过Docker镜像提供的“可选参数”表中的环境变量来更改此文件夹中的文件。
服务器总共可使用三个端口,但只有两个是严格必需的:
| 名称 | 默认端口 | 描述 | 是否必需 |
|---|---|---|---|
DEFAULT_PORT | 16261 | 服务器用于监听连接的端口。 | 是 |
RCON_PORT | 27015 | 服务器用于监听RCON连接/命令的端口。 | 否 |
UDP_PORT | 16262 | 服务器用于促进客户端连接的额外端口。 | 是 |
所有端口均可配置为不同的端口号,但需注意,若在游戏配置文件中更改端口,必须在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 docker.xuanyuan.run/renegademaster/zomboid-dedicated-server:<标签名>
或构建镜像:
shellgit clone https://github.com/Renegade-Master/zomboid-dedicated-server.git \ && 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 16261:16261/udp --publish 16262:16262/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 https://github.com/Renegade-Master/zomboid-dedicated-server.git \ && 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]时,玩家即可开始加入服务器。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务