
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该Docker镜像用于部署ET:Legacy游戏服务器,可自动从指定URL下载地图(通过MAPS环境变量指定),并使用最新快照版本启动服务器。配置可通过环境变量定义或使用默认值,支持挂载地图卷以避免HTTP下载,日志输出到STDOUT便于通过docker logs查看。
MAPS环境变量从REDIRECTURL下载所需地图,支持挂载/maps卷优先使用本地地图docker logs查看SETTINGSURL拉取最新配置(默认使用https://github.com/Oksii/legacy-configs%EF%BC%89autorestart.sh脚本,可在检查无活跃玩家后重启服务器stable标签推荐用于竞技游戏,积极维护并随ET:Legacy快照自动构建适用于需要快速部署ET:Legacy游戏服务器的场景,如游戏社区服务器、比赛服务器、私人游戏房间等。支持单实例或多实例部署,适合各类规模的游戏服务需求。
yamlservices: etl-server: container_name: etl-server image: oksii/etlegacy:stable environment: - 'HOSTNAME=ET Legacy Docker' - 'MAPS=adlernest:braundorf_b4:supply:sw_goldrush_te' - 'PASSWORD=etlserver' volumes: - ./maps:/maps ports: - '27960:27960/udp' stdin_open: true tty: true restart: unless-stopped
bashdocker run -d \ -p "27960:27960/udp" \ -e "MAPS=adlernest:te_escape2:frostbite" \ -e "PASSWORD=war" \ -e "REFEREEPASSWORD=pass123" \ oksii/etlegacy:stable
https://github.com/Oksii/etlegacy/blob/main/example/docker-install-script.sh%E8%84%9A%E6%9C%AC%E5%8F%AF%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E4%BE%9D%E8%B5%96%E5%92%8CDocker%EF%BC%8C%E5%B9%B6%E5%BC%95%E5%AF%BC%E5%AE%8C%E6%88%90%E9%85%8D%E7%BD%AE%E3%80%82%E6%94%AF%E6%8C%81%E4%BB%A5%E4%B8%8B%E5%8A%9F%E8%83%BD%EF%BC%9A
etl-server辅助脚本便于服务器管理支持单实例或多实例配置,使用docker-compose方法,配置可通过settings.env文件修改。
安装命令:
bashcd ~ && \ curl -sSL https://raw.githubusercontent.com/Oksii/etlegacy/main/example/docker-install-script.sh \ -o docker-install-script.sh && \ chmod +x docker-install-script.sh && \ sudo ./docker-install-script.sh
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| REDIRECTURL | HTTP下载URL | https://dl.etl.lol/maps/et |
| MAP_PORT | 容器内部端口 | 27960 |
| MAXCLIENTS | 最大玩家数 | 32 |
| AUTO_UPDATE | 重启时更新配置? | true |
| SVTRACKER | 设置sv_tracker端点,默认通过ETL默认值使用et.trackbase.net:4444 | None |
| ASSETS | 下载可选资源到./legacy目录(如zzz_levelshots.pk3) | false |
| ASSETS_URL | 资源包下载直接链接 | None |
| SETTINGSURL | ETL配置仓库的Git URL(必须为公开HTTP) | https://github.com/Oksii/legacy-configs.git |
| SETTINGSPAT | 私有仓库的Github PAT令牌 | None |
| SETTINGSBRANCH | ETL配置仓库的Git分支 | main |
| ADDITIONAL_CLI_ARGS | 传递给服务器的额外参数列表,如:+set sv_tracker "et.trackbase.com:4444" +set sv_autodemo 2 | None |
SETTINGSURL的配置参数| 环境变量 | 描述 | 默认值 |
|---|---|---|
| MAPS | 地图列表,用:分隔 | 默认6张地图 |
| STARTMAP | 服务器启动地图 | radar |
| PASSWORD | 服务器密码 | None |
| RCONPASSWORD | RCON密码 | None |
| REFEREEPASSWORD | 裁判密码 | None |
| SCPASSWORD | 解说员密码 | None |
| HOSTNAME | 服务器主机名 | ET Docker Server |
| CONF_MOTD | 连接时显示的MOTD,使用\n换行或修改server_motd[%] | None |
| SVAUTODEMO | 自动录制演示:0(关闭),1(开启),2(仅玩家活跃时) | 0 |
| SVETLTVMAXSLAVES | 最大允许的ETLTV从服务器数量 | 2 |
| SVETLTVPASSWORD | ETLTV从服务器连接密码 | 3tltv |
| TIMEOUTLIMIT | 每地图方最大暂停次数 | 1 |
| SERVERCONF | 启动时加载的服务器配置 | legacy6 |
| STATS_SUBMIT | 每回合结束时使用game-stats-web.lua提交比赛报告 | false |
| STATS_API_TOKEN | 请求使用的API令牌 | None |
| STATS_API_PATH | 日志文件保存路径 | /legacy/homepath/legacy/stats/ |
| STATS_API_URL_SUBMIT | 提交match_report的API端点 | None |
| STATS_API_URL_MATCHID | 从指定base_url/server_ip/server_port端点获取matchID | None |
| STATS_API_DUMPJSON | 调试:发送前将统计JSON转储到文件 | false |
| STATS_API_LOG | 在game-stats-web.lua中启用日志 | false |
| STATS_API_OBITUARIES | 收集并提交死亡报告到JSON | false |
| STATS_API_DAMAGESTAT | 收集并提交伤害事件到JSON | false |
| STATS_API_MESSAGELOG | 收集并提交服务器消息到JSON | false |
注意:可通过挂载配置到
/legacy/server/extra.cfg来添加额外配置,但建议优先使用上述环境变量或自定义SETTINGSURL。
通过watchtower实现自动更新和重启,确保仅在无玩家时重启。需启用watchtower的--enable-lifecycle-hooks并添加以下标签:
yamllabels: - "com.centurylinklabs.watchtower.enable=true" - "com.centurylinklabs.watchtower.lifecycle.pre-update=/legacy/server/autorestart" watchtower: container_name: watchtower image: containrrr/watchtower command: --enable-lifecycle-hooks volumes: - /var/run/docker.sock:/var/run/docker.sock labels: - "com.centurylinklabs.watchtower.enable=false" - "com.watchtower=watchtower"
etl-server辅助脚本提供简单命令管理ET:Legacy服务器实例,使用引导安装脚本时自动安装。
用法
bashetl-server [start|stop|restart|status|logs|rcon|update] [instance_number] [command]
可用命令
| 命令 | 描述 | 示例 |
|---|---|---|
start | 启动服务器 | etl-server start 或 etl-server start 2 |
stop | 停止服务器 | etl-server stop 或 etl-server stop 1 |
restart | 重启服务器 | etl-server restart 或 etl-server restart 2 |
status | 显示服务器状态 | etl-server status 或 etl-server status 1 |
logs | 显示实时日志 | etl-server logs 2 |
rcon | 执行RCON命令 | etl-server rcon 2 map supply |
update | 更新Docker镜像 | etl-server update 或 etl-server update 2 |
状态信息
状态命令显示详细信息:容器状态和运行时间、服务器名称和当前地图、活跃玩家、端口配置、密码设置。
更新安全特性
更新命令包含安全检查:更新前检查活跃玩家、有玩家时发出警告、提供--force选项强制更新、更新前显示详细服务器状态。
示例
bashetl-server start # 启动所有服务器实例 etl-server stop 2 # 停止特定实例 etl-server status # 查看所有服务器状态 etl-server update 2 # 更新特定实例(先检查玩家) etl-server update 2 --force # 强制更新即使有活跃玩家 etl-server rcon 1 map radar # 在实例1上执行RCON命令 etl-server logs 2 # 查看实例2的实时日志
注意
settings.env文件中的配置您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务