
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像提供一个简单的Quake3专用服务器,最初基于Arch Linux,后迁移至Alpine Linux,镜像体积从约900MB降至32MB。
要运行一个基础的baseq3专用服务器,请执行:
bashexport PAK0=/path/to/pak0.pk3 docker run -it --rm -v ${PAK0}:/pak0.pk3 \ -p 0.0.0.0:27960:27960/udp jberrenberg/quake3
若需后台运行,将-it --rm替换为命名和后台参数:
bashexport PAK0=/path/to/pak0.pk3 docker run --name quake -d -v ${PAK0}:/pak0.pk3 \ -p 0.0.0.0:27960:27960/udp jberrenberg/quake3
停止服务器:
bashdocker stop quake
删除容器:
bashdocker rm quake
为添加额外地图和配置,需创建数据容器存储文件:
bashdocker run -v /home/ioq3srv/.q3a/baseq3 --name quake3-data busybox
复制配置文件到数据容器:
bashexport PAK0=/path/to/pak0.pk3 docker cp my-server.cfg quake3-data:/home/ioq3srv/.q3a/baseq3/my-server.cfg
或挂载数据容器下载地图:
bashdocker run --rm -it --volumes-from quake3-data alpine bash cd /home/ioq3srv/.q3a/baseq3/ wget http://example.com/some_q3map.zip unzip some_q3map.zip
将pak0.pk3复制到数据容器(启动时无需再挂载):
bashexport PAK0=/path/to/pak0.pk3 docker cp ${PAK0} quake3-data:/home/ioq3srv/.q3a/baseq3/
使用自定义配置启动服务器:
bashdocker run \ -it \ --rm \ -v ${PAK0}:/pak0.pk3 \ -p 0.0.0.0:27960:27960/udp \ --volumes-from quake3-data \ jberrenberg/quake3 +exec my-server.cfg
创建/etc/systemd/system/quake3.service文件:
bash[Unit] Description=quake3 server After=docker.service Requires=docker.service [Service] Restart=always RestartSec=60 ExecStartPre=/usr/bin/docker pull jberrenberg/quake3:latest ExecStart=/bin/bash -c "/usr/bin/docker start quake3 || /usr/bin/docker \ run --rm \ --name quake3 \ --volumes-from quake3-data \ -p 0.0.0.0:27960:27960/udp \ jberrenberg/quake3:latest" ExecStop=/bin/bash -c '/usr/bin/docker stop quake3' [Install] WantedBy=multi-user.target
重新加载systemd并启动服务:
bashsystemctl daemon-reload systemctl start quake3 systemctl enable quake3
在服务器配置中添加sv_allowDownload 8和sv_dlURL http://example.org,可将下载请求重定向到HTTP服务器。
启动NGINX容器时挂载数据容器:
server { listen 80; location / { root /home/ioq3srv/.q3a/; sendfile on; sendfile_max_chunk 1m; if ($http_referer !~* (^ioQ3:\/\/.*)) { return 401; } } location ~ (\.cfg$) { return 401; } }
SELinux问题
若在CentOS上遇到VM_CompileX86: mprotect failed错误,需创建SELinux模块:
bashsudo grep -e ioq /var/log/audit/audit.log |grep avc |tail -n 1 | audit2allow -M quake3 semodule -i quake3.pp
验证模块加载:
bashsemodule -l |grep quake3
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务