
hermsi/ark-server您可以使用此镜像启动公共或私有会话的ARK服务器,服务器本身由ARK-Server-Tools进行管理。
此镜像始终安装当前可用的最新版本ARK服务器。因此,标签对应镜像所使用的ARK-Server-Tools版本。
请将容器卷直接挂载到WSL的文件系统中。 挂载到Windows管理的文件系统会导致安装过程极其缓慢甚至卡住。
服务器的基本配置通过启动容器时设置环境变量完成:
| 变量 | 默认值 | 说明 |
|---|---|---|
| SESSION_NAME | Dockerized ARK Server by github.com/hermsi1337 | ARK会话名称,在游戏服务器列表中可见 |
| SERVER_MAP | TheIsland | 想要游玩的地图 |
| SERVER_PASSWORD | YouShallNotPass | 加入会话所需的服务器密码(若要禁用密码验证,可覆盖为空字符串) |
| ADMIN_PASSWORD | Th155houldD3f1n3tlyB3Chang3d | 用于访问ARK管理员控制台的管理员密码 |
| MAX_PLAYERS | 20 | 允许加入会话的最大玩家数 |
| UPDATE_ON_START | false | 是否在启动时更新ARK服务器 |
| BACKUP_ON_STOP | false | 优雅停止ARK服务器前是否创建备份 |
| PRE_UPDATE_BACKUP | true | 更新ARK服务器前是否创建备份 |
| WARN_ON_STOP | true | 优雅关闭时是否广播警告 |
| ENABLE_CROSSPLAY | false | 启用跨平台游玩。启用时应禁用BattlEye,因为它可能导致Epic玩家断开连接 |
| DISABLE_BATTLEYE | false | 禁用BattlEye保护 |
| ARK_SERVER_VOLUME | /app | 服务器文件存储路径 |
| GAME_CLIENT_PORT | 7777 | 暴露的游戏客户端端口 |
| UDP_SOCKET_PORT | 7778 | UDP原始套接字端口(始终为游戏客户端端口+1) |
| RCON_PORT | 27020 | 暴露的RCON端口 |
| SERVER_LIST_PORT | 27015 | 暴露的服务器列表端口 |
| GAME_MOD_IDS | empty | 要安装的额外游戏模组,用逗号分隔(例如:GAME_MOD_IDS="487516323,487516324,487516325") |
docker run
我个人更推荐使用docker-compose,但对于希望直接运行ARK服务器的用户,可使用以下命令:
bash# 您可能需要修改SESSION_NAME、ADMIN_PASSWORD或主机卷路径 $ docker run -d --name="ark_server" --restart=always -v "${HOME}/ark-server:/app" -e SESSION_NAME="Awesome ARK is awesome" -e ADMIN_PASSWORD="FooB4r"
docker-compose
若要使用docker-compose启动(我个人更推荐此方式而非简单的docker run),可参考以下docker-compose.yml配置:
ymlversion: '3' services: server: restart: always container_name: ark_server image: hermsi/ark-server:latest volumes: - ${HOME}/ark-server:/app - ${HOME}/ark-server-backups:/home/steam/ARK-Backups environment: - SESSION_NAME=${SESSION_NAME} - SERVER_MAP=${SERVER_MAP} - SERVER_PASSWORD=${SERVER_PASSWORD} - ADMIN_PASSWORD=${ADMIN_PASSWORD} - MAX_PLAYERS=${MAX_PLAYERS} - UPDATE_ON_START=${UPDATE_ON_START} - BACKUP_ON_STOP=${BACKUP_ON_STOP} - PRE_UPDATE_BACKUP=${PRE_UPDATE_BACKUP} - WARN_ON_STOP=${WARN_ON_STOP} ports: # ARK游戏客户端连接端口 - "7777:7777/udp" # UDP原始套接字端口(始终为游戏客户端端口+1) - "7778:7778/udp" # RCON管理端口 - "27020:27020/tcp" # Steam服务器列表端口 - "27015:27015/udp" networks: - default
修改上述docker-compose.yml后,启动服务器:
bash$ docker-compose up -d
容器启动且ARK安装完成后,您可以开始调整配置。基本上,您可以修改ARK-Server-Tools支持的所有设置。有关可用命令的参考,请查看其文档。
主要配置文件位于容器内以下路径:
/app/server/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini/app/server/ShooterGame/Saved/Config/LinuxServer/Game.ini您可以直接修改这些文件以应用更改。
或者,您可以使用ARK-Server-Tools运行任何可用命令来应用更改:
bash$ docker exec ark_server arkmanager status $ docker exec ark_server arkmanager update --force $ docker exec ark_server arkmanager installmods
完整命令列表请查看此处。
您还可以在容器内添加定时任务,例如用于更新或备份。为此,请编辑服务器卷中的crontab文件:
bash$ vim "${HOME}/ark-server/crontab"
添加有效的定时任务语法:
bash0 0 * * * arkmanager update --warn --update-mods >> ${SERVER_VOLUME}/log/crontab.log 2>&1 0 0 * * * arkmanager backup >> ${SERVER_VOLUME}/log/crontab.log 2>&1
保存文件(:wq)并重启容器:
bash$ docker restart ark_server

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务