前回の minecraft での爆速構築と、やることは同じです。
docker-compose のポートを変えるだけで簡単に ark のサーバを立ち上げれる。
また、環境変数を変えれば、マップ等の変更にも対応できます。
※後日バックアップで使用してるシェル等も記載したいと思います。
前回の minecraft 同様、またまた先人の神様が作り上げてくれた docker image を使います。
そのため、用意するものは docker-compose のみです。
turzam/ark
しょぼいサーバ等で立てる場合、6GB に届かない際は
スワップメモリを設定してくださいね!
(今回この設定自分は行っていないため省きます。)
> root
> |--docker-compose.yml
> |--ark
ark は空ディレクトリで OK
version: '3' services: ark-server: container_name: ark7777 image: turzam/ark ports: - '7778:7778' - '7778:7778/udp' - '7777:7777' - '7777:7777/udp' - '27015:27015' - '27015:27015/udp' tty: true stdin_open: true restart: always volumes: - ./ark:/ark environment: SESSIONNAME: 'サーバ名' SERVERMAP: 'マップ名' SERVERPASSWORD: 'パスワード' ADMINPASSWORD: '管理者パスワード' TZ: 'asia/tokyo'
enviroment の中身に関しては、先人の神様の詳細見ていただければと思います。
(バックアップ等の設定もできるため、一読をおすすめします。)
また、環境変数のみ env に書き出したい場合は下記のようにすれば多分可能です。
version: '3' services: ark-server: container_name: ark7777 image: turzam/ark ports: - '7778:7778' - '7778:7778/udp' - '7777:7777' - '7777:7777/udp' - '27015:27015' - '27015:27015/udp' tty: true stdin_open: true restart: always volumes: - ./ark:/ark env_file: - ./.ark.env command: - 'env'
SESSIONNAME="サーバ名"
SERVERMAP="マップ名"
SERVERPASSWORD="パスワード"
ADMINPASSWORD="管理者パスワード"
TZ="asia/tokyo"
こうすれば、環境変数等気にせずに compose のコピーが行えるので
複数立ち上げたい方にはおすすめです。
$docker-compose up -d
と実行すれば完了です。
立ち上げたばかりだと、ark ディレクトリ内の Game.ini 等シンボリックリンク先がない状態になっていますが
実行してから数分待たないといけませんので、焦らず待ってください。
下記コマンドで、waiting...になっていることを確認し
$docker-compose logs
一度 docker-compose を落とします
$docker-compose down
そのあと、ark ディレクトリ内に入り、中にある
Game.ini と GameUserSettings.ini を変更し再度立ち上げれば完了です。
ps:構築中、Game.ini がシンボリックリンク先がないところで焦って
1 時間無駄にしました・・・
皆さんも構築するときは"焦らずに"