概要
前回最小構成でdockerfileからサーバーを構築してみました。今回は公開されているdocker-composeファイルからARKサーバーを構築しようと思います。
環境
- Ubuntu 22.04
- Docker 27.3.1
マシンスペック
- CPU
- core i7-6700
- メモリ
- 16GB
- ディスク
- SATA SSD 1TB
はじめに
前回に引き続きdockerのインストール等は他の記事に分かりやすく書いてあるので、自分が分かりやすいなと感じた記事を紹介しておきます。
docker-compose.ymlのダウンロード
$ wget https://raw.githubusercontent.com/mschnitzer/ark-survival-ascended-linux-container-image/main/docker-compose.yml
ポート開放
docker-compose.yml
のportのところを見てもらえればわかる通りに、最初の設定では7777/udp
と27020/tcp
を使うようになっています。なので、その2つのポートを気合いで開放してください。
27020/tcp
の方は変えても大丈夫なのですが7777/udp
を変えてしまうとサーバー検索の時点で見つからなくなってしまうので注意しましょう
一応、外部ポートが7777/udp
なら何でもいいので内部ポートをルーター設定で変えている場合は変えても問題ありません。 まぁ、これが出来る人はこんな記事読まないでしょうが...
とりあえず起動
$ docker-compose up -d
このコマンドはcompose-docker.yml
があるところで実行してください。
-d
というのはバックグラウンドで実行みたいなものです
$ docker logs -f asa-server-1
-f
はリアルタイムでログを表示という意味です
ここでStarting the ARK: Survival Ascended dedicated server
みたいなのが出てたら成功です
もし、Error! 23090
的なものが出ていたらもう一回docker-compose up -d
をしてあげましょう
設定ファイルを適用する
先ほどのログからctrl+C
で抜けてください。
$ docker cp ./your/path/GameUserSetting.ini asa-server-1:/home/gameserver/server-files/ShooterGame/Saved/Config/WindowsServer
./your/path/GameUserSetting.ini
のところはどっかから持ってくるなりvimとかで作るなり気合いでどうにかしてください
一度再起動しないとこの設定は適用されません
とりあえず停止
$ docker-compose down
このコマンドもcompose-docker.yml
があるところで実行してください
設定を反映
$ docker-compose up -d
$ docker logs -f asa-server-1
同じように起動出来たらさっきの設定が反映されているはずです
Game.ini
も変更したい場合は同じ手順で出来ます
バックアップのやり方
$ docker cp asa-server-1:/home/gameserver/server-files/ShooterGame/Saved ./your/path/backup
$ zip ./your/path/backup
自分はコンテナの中のセーブデータをホストPCにコピーしてzipするシェルスクリプトとcronで定期的に実行しています
どうやらdockerコンテナのボリュームでバックアップするというオシャレな方法もあるらしいのですが、自分はセーブデータさえ無事ならいいかなって思っているのでやりません
めんどくさいわけではないですからね
終わりに
dockerは本当に難しいですよね...自分もここまで構築するのに4日かかりました。もし、この記事を参考にしてやってみて詰まってしまったりしたら、コメントで質問ぶん投げてください。自分の分かる範囲で答えます。頑張ります。
参考