基于Docker快速搭建方舟服务器教程(支持互通)

如何基于容器化快速搭建游戏服务器教程,配置详情请参见 https://gitee.com/gpg-dev/docker-ark-server,包含构建脚本+ark-example部署脚本

准备环境

操作步骤

安装docker、compose步骤省略,自行百度安装

1.配置环境变量文件

models.env
## mods 传图,提高等级,不掉,转图纸
GAME_MOD_IDS=1404697612,751991809,761535755,1600012696,1315534671,821530042
ACTIVE_MODS=1404697612,751991809,761535755,1600012696,1315534671,821530042

2.创建docker-ompose脚本

ark-demo.yml
version: '3'
services:
  Fjordur:
    restart: always
    container_name: Fjordur_server
    image: registry.cn-hangzhou.aliyuncs.com/gpg_dev/ark-docker:1.1.6
    volumes:
      - /home/ark/ark-app:/app
      - /home/ark/ark-backup:/home/steam/ARK-Backups
      - ./ini/GameUserSettings.ini:/app/GameUserSettings.ini
    environment:
      ##主机服务名
      - SESSION_NAME=新开GPG-ARK永久档护肝mod高倍维京PVE
      ##地图名称
      - SERVER_MAP=Fjordur
      ##密码
      - SERVER_PASSWORD=${SERVER_PASSWORD}
      ##管理员密码
      - ADMIN_PASSWORD=gaopuguang
      ##最多玩家数
      - MAX_PLAYERS=120
      ## 游戏模式
      - SERVER_PVE=true
      #方舟集群id
      - CLUSTER_ID=gpg-ark-cluster-id
      ##激活活动事件,如圣诞、情人节、夏季、万圣
      - ACTIVE_EVENT=vay
      ##分开存放
      - ALT_SAVE_DIRECTORY_NAME=newofficialfjordur1163
      #禁用反作弊
      - DISABLE_BATTLEYE=true
      ##Port for connections from ARK game client
      - GAME_CLIENT_PORT=17001
      ##Steam's server-list port
      - SERVER_LIST_PORT=27011
      ##RCON_PORT
      - UDP_SOCKET_PORT=18001
      ##RCON management port
      - RCON_PORT=27021
    ports:
      # Port for connections from ARK game client
      - "17001:17001/udp"
      # Raw UDP socket port (always Game client port +1)
      - "18001:18001/udp"
      # RCON management port
      - "27021:27021/tcp"
      # Steam's server-list port
      - "27011:27011/udp"
    networks:
      - default
    env_file:
      - ./env/models.env

注意:想要互通集群id为必须,另外存放文件最好分开存放

3.1使用docker-compose启动部署到目标服务器

3.2或者将yaml文件和xxx.env文件上传到服务器

执行以下脚本

docker compose -f xxx.yaml up 

4.等待和查看日志内容情况

初次需要下载数据,需要等待一段时间(取决于你的网速),会下载服务端地图、modes等

chown: warning: '.' should be ':': 'steam.'
2024-05-31T15:26:05.592888844Z chown: warning: '.' should be ':': 'steam.'
2024-05-31T15:26:05.617504032Z Starting periodic command scheduler: cron.
2024-05-31T15:26:05.626365983Z _______________________________________
2024-05-31T15:26:05.626406187Z 
2024-05-31T15:26:05.628324251Z # Ark Server - Fri May 31 15:26:05 UTC 2024
2024-05-31T15:26:05.628361135Z # IMAGE_VERSION: '1716267709'
2024-05-31T15:26:05.629864563Z # RUNNING AS USER 'steam' - '1000'
2024-05-31T15:26:05.629882843Z # ARGS: --arkopt,-NoBattlEye -clusterid=gpg-cluster
2024-05-31T15:26:05.629888820Z _______________________________________
2024-05-31T15:26:05.630574486Z Setting up folder and file structure...
2024-05-31T15:26:05.633217263Z Installing mods: '1404697612,751991809,761535755,1600012696,1315534671,821530042' ...
2024-05-31T15:26:05.633243483Z ...installing '1404697612'
2024-05-31T15:26:05.633256830Z ...already installed
2024-05-31T15:26:05.633267791Z ...installing '751991809'
2024-05-31T15:26:05.633295474Z ...already installed
2024-05-31T15:26:05.633313483Z ...installing '761535755'
2024-05-31T15:26:05.633332449Z ...already installed
2024-05-31T15:26:05.633338676Z ...installing '1600012696'
2024-05-31T15:26:05.633386731Z ...already installed
2024-05-31T15:26:05.633411833Z ...installing '1315534671'
2024-05-31T15:26:05.633419855Z ...already installed
2024-05-31T15:26:05.633425104Z ...installing '821530042'
2024-05-31T15:26:05.633440413Z ...already installed
2024-05-31T15:26:05.633482651Z $UPDATE_ON_START is 'true'...
2024-05-31T15:26:05.653813372Z Running command 'update' for instance 'main'
2024-05-31T15:26:05.679758237Z Checking for update; PID: 47
2024-05-31T15:27:46.969095320Z steamcmd.sh[169]: Restarting steamcmd by request...
2024-05-31T15:29:19.429073166Z Your server is already up to date! The most recent version is 13834083.
2024-05-31T15:29:19.466708493Z Running command 'run' for instance 'main'
2024-05-31T15:29:19.501434626Z 2024-05-31 15:29:19: start
2024-05-31T15:29:19.505038515Z 2024-05-31 15:29:19: Running /app/server/ShooterGame/Binaries/Linux/ShooterGameServer $'Fjordur?SessionName=\346\226\260\345\274\200GPG-ARK\346\260\270\344\271\205\346\241\243\346\212\244\350\202\235mod\351\253\230\345\200\215\347\273\264\344\272\254PVE?ServerPassword?ServerAdminPassword=gaopuguang?MaxPlayers=120?GameModIds=1404697612,751991809,761535755,1600012696,1315534671,821530042?Port=7777?QueryPort=27015?RCONEnabled=True?RCONPort=27020?ServerPassword?listen' -log -NoBattlEye -log
2024-05-31T15:29:19.507884433Z 2024-05-31 15:29:19: Server PID: 236
2024-05-31T15:29:20.824076414Z [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
2024-05-31T15:29:20.878388611Z Setting breakpad minidump AppID = 346110
2024-05-31T15:30:25.023657510Z 2024-05-31 15:30:25: server is up

最后出现server is up 代表部署并启动成功

5.打开steam进行连接

填写服务器地址:127015,点击确定,等待响应后查看列表,有记录代表添加成功。

6.以上为单图配置,需要互通的话

在yaml脚本里配置相同的clusterId,不要使用中文等特赦字符!!

    command:
      - "-clusterid=gpg-cluster"

7.对于本地机器穿透到公网

xxx暂未尝试xxx

Last updated