手帳

  • 2025-02-19
  • IT系 ゲーム

ARK ASが開始されたときに公式サーバーで遊んでいたのですが、流石に民度が酷すぎてまともに遊べる感じではなかったので早々にNitradoでサーバー立ててしばらく友だちと遊んでいました。

そしたらなんとNitradoでファイルが壊れて遊べなくなり、そのバックアップデータをもとにVPSで遊べるようにしました。

公式だとVPSでメモリ8GBあれば遊べるとのことだったのですが、実際のところ(これから書く内容で)サーバーの立ち上げすらできず困っていたのですが、ある日突然「VPSのメモリを無料で増やしますキャンペーン」が始まり、そちらにアップして遊ぶことにしました。

2年目からは12ヶ月一括払いでも月7,800円という高額なので、コレまでいろいろなところに分散していたサービスを全部このVPSにまとめる事でなんとか対応知ることにします。。。。

DockerでARK Survival Ascendedを立ち上げる

もうすでに偉い人がImageを作ってくれているのでそれを持ってきてdocker compose up -dするだけです。

docker-compose.yml

portsで公式の掲示板?のリストに表示させる必要がなければ
“${RCON_PORT}:${RCON_PORT}/tcp”
の行はそのままコメントアウトしてください。

services:
  asa_server:
    tty: true
    restart: unless-stopped
    image: azixus/ark-ascended-docker
    build:
      context: .
      args:
        PUID: ${PUID}
        PGID: ${PGID}
        TINI_VERSION: ${TINI_VERSION}
    env_file:
      - .env
    volumes:
      - ./ark_data:/opt/arkserver
      - ./ark_backup:/var/backups/asa-server
      - steam_data:/opt/steamcmd
    ports:
      # Port for connections from ARK game client
      - "${SERVER_PORT}:${SERVER_PORT}/udp"
      #uncomment if you want to expose the RCON Port
      - "${RCON_PORT}:${RCON_PORT}/tcp"
    networks:
      - default
    # Increase default grace period to ensure clean shutdown
    stop_grace_period: 45s
    deploy:
      resources:
        limits:
          memory: 16g
    # Comment to enable swap
    memswap_limit: 16g

volumes:
    steam_data:                                                                                                                                                                              

.env

SESSION_NAME=xxxxxxxxxxx
SERVER_PASSWORD=xxxxxxxxxxx
ARK_ADMIN_PASSWORD=xxxxxxxxxxx
は好きなものに置き換えて。

ポート関係は、一応公式に準じて設定しています。
SERVER_PORT=7777
RCON_PORT=27020
QUERY_PORT=7778

ARK_EXTRA_OPTSでは、PVEをやりたいのでPVE=trueのパラメーターをつけてあげています。

# Basic server config
COMPOSE_PROJECT_NAME=kappaark01

#APPID should only be changed if Wildcard provides a new one
ASA_APPID=2430930
SERVER_MAP=TheIsland_WP
SESSION_NAME=xxxxxxxxxxx
SERVER_PORT=7777
MAX_PLAYERS=10
SERVER_SHUTDOWN_TIMEOUT=30

# Comment to disable password
SERVER_PASSWORD=xxxxxxxxxxx
ARK_ADMIN_PASSWORD=xxxxxxxxxxx

# Comment to disable RCON
# If you disable RCON, the builtin manager won't work
RCON_PORT=27020
QUERY_PORT=7778

# Comment to enable BattlEye
DISABLE_BATTLEYE=1

# Mods: Please provide a comma seperated list of the curse-forge modIDs and uncomment the MODS arg
# e.g. MODS=931872,931338
# MODS=

# Extra arguments
ARK_EXTRA_OPTS=?ServerCrosshair=true?OverrideStructurePlatformPrevention=true?OverrideOfficialDifficulty=5.0?ShowFloatingDamageText=true?AllowFlyerCarryPvE=true?PVE=true
ARK_EXTRA_DASH_OPTS=-ForceAllowCaveFlyers -ForceRespawnDinos -AllowRaidDinoFeeding=true -ActiveEvent=Summer -clusterID=xxxxxCluster  -ClusterDirOverride="/opt/shared-cluster"

# Image specific configuration
# PUID/PGID of the arkuser
PUID=1000
PGID=1000

# Tini version
TINI_VERSION=v0.19.0

# Uncomment to remove unnecessary files to reduce image size
# REDUCE_IMAGE_SIZE=1

# Various files
LOG_FILE=/opt/arkserver/ShooterGame/Saved/Logs/ShooterGame.log
PID_FILE=/opt/arkserver/.server.pid

STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/arkuser/.steam/steam
STEAM_COMPAT_DATA_PATH=/home/arkuser/.steam/steam/steamapps/compatdata/${ASA_APPID}

あとは

docker compose up -d
docker compose logs -f

でコンテナを立ち上げてログを経時的みて以下のようなログが最後に出たら無事立ち上がりです。

その後しばらく(数分?)して、公式に自分のサーバー名で検索してでてきたらあとは遊べます!

おまけ:Nitradoからバックアップデータと設定を引き継ぐ

これは後日更新します!