
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像提供 Open Transport Tycoon Deluxe(OpenTTD)专用服务器的容器化部署方案,支持快速搭建游戏服务器,可自定义配置、加载存档、映射用户权限及网络端口,适用于个人或多人游戏场景。
openttd 用户,主目录为 /home/openttd,配置文件、存档等存储于 .openttd 目录镜像包含用户名为 openttd 的用户,其主目录为 /home/openttd。OpenTTD服务器在Linux系统中使用用户主目录下的 .openttd 目录存储配置文件、存档及其他文件。
如需将本地文件暴露给容器内的OpenTTD服务器,需使用 -v 参数挂载本地目录至容器内(有关 -v 的更多详细信息,请参见https://docs.docker.com/engine/reference/commandline/run/%EF%BC%89%E3%80%82
可通过以下环境变量修改容器内应用的行为,使用 docker run 的 -e 参数设置(有关 -e 的更多详细信息,请参见https://docs.docker.com/engine/reference/commandline/run/%EF%BC%89%E3%80%82
| 环境变量 | 默认值 | 说明 |
|---|---|---|
| savepath | "/home/openttd" | 自动存档的保存路径 |
| loadgame | null | 存档加载模式,支持4种设置: - false:启动服务器并创建新游戏 - true:需同时设置 savename,加载指定存档文件- last-autosave:加载 <$savepath>/autosave 目录下最新的自动存档- exit:加载 <$savepath>/autosave/exit.sav 文件 |
| savename | null | 当 loadgame=true 时,设置存档文件名 |
| PUID | "911" | 容器内用户ID。若挂载本地目录(-v </本地路径>:</容器内路径>),需确保容器内用户ID与本地用户ID一致以保证文件读写权限 |
| PGID | "911" | 容器内组ID。与PUID类似,需与本地用户组ID一致以保证权限映射 |
| debug | null | 调试选项,具体参数参见OpenTTD官方调试文档 |
Docker默认不暴露容器端口至主机网络,需使用 -p 参数手动映射(有关 -p 的更多详细信息,请参见https://docs.docker.com/engine/reference/commandline/run/%EF%BC%89%E3%80%82
若OpenTTD配置监听3979端口,需通过 -p 3979:3979 映射端口(格式:<主机端口>:<容器端口>),同时支持TCP与UDP协议。
基础运行(暴露默认端口)
bashdocker run -d -p 3979:3979/tcp -p 3979:3979/udp docker.xuanyuan.run/bateau/openttd:latest
随机端口分配
bashdocker run -d -P docker.xuanyuan.run/bateau/openttd:latest
挂载本地存档目录(持久化存档)
默认不挂载 .openttd 目录时,服务器以新游戏启动;如需保存/加载存档,需挂载本地目录:
bashdocker run -v /本地路径/.openttd:/home/openttd/.openttd -p 3979:3979/tcp -p 3979:3979/udp docker.xuanyuan.run/bateau/openttd:latest
映射本地用户权限
设置容器内用户/组ID与本地一致(替换 <your_userid> 和 <your_groupid> 为实际ID):
bashdocker run -e PUID=<your_userid> -e PGID=<your_groupid> -v /本地路径/.openttd:/home/openttd/.openttd -p 3979:3979/tcp -p 3979:3979/udp docker.xuanyuan.run/bateau/openttd:latest
加载指定存档
启动服务器并加载名为 game.sav 的存档:
bashdocker run -d -p 3979:3979/tcp -p 3979:3979/udp -v /home/<your_username>/.openttd:/home/openttd/.openttd -e PUID=<your_userid> -e PGID=<your_groupid> -e "loadgame=true" -e "savename=game.sav" docker.xuanyuan.run/bateau/openttd:latest
提供Kubernetes部署示例文件 k8s_openttd.yml,包含ConfigMap(openttd.cfg配置)、Deployment及Service(监听31979端口UDP/TCP)。部署命令:
bashkubectl apply -f openttd.yaml
更多镜像标签请参见Docker Hub:https://hub.docker.com/r/bateau/openttd
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务