※ この記事はLinuxサーバーの知識がある人向けの内容です。
LinuxサーバーでDSTの専用サーバーを建てる場合、有志が配布している専用サーバーの Docker イメージを利用すると、面倒なSteamコマンドのセットアップをせずに専用サーバーの起動をすることができ、管理も楽です(Dockerについてはこの記事の最後で軽く解説しています)。
有志が配布している専用サーバーのDockerイメージ[]
例えばgithubには以下のようなイメージがあります。
- https://github.com/Jamesits/docker-dst-server
- https://github.com/fairplay-zone/docker-dontstarvetogether
- https://github.com/mathielo/dst-dedicated-server
それぞれ作成者が違うため、起動方法やサーバー設定の変更方法も違います。 筆者のおすすめは Jamesits/docker-dst-server です。Dockerがインストールされていればコマンド一本で起動すること、設定やサーバー状態をディレクトリに保存するため、設定変更やバックアップを行いやすいことがメリットです。
Jamesits/docker-dst-server を用いた専用サーバーの起動・設定[]
READMEにも書いてあるため、ここでは簡単に説明します。
初回の起動・設定[]
ここでは ~/.klei を設定・セーブデータのディレクトリとしますが、docker内の専用サーバーから読み書きできるよう、 ~/.klei 下に読み書き権限を与えておきます。
mkdir ~/.klei chmod 777 ~/.klei
以下のコマンドで、jamesits/dst-server:latest のイメージを取得し、 dst-server という名前で起動できます。
docker run --name dst-server -d -v ~/.klei/DoNotStarveTogether:/data -p 10999-11000:10999-11000/udp -p 12346-12347:12346-12347/udp -it jamesits/dst-server:latest
その後しばらくすると、 Done, please fill in `DoNotStarveTogether/Cluster_1/cluster_token.txt` with your cluster token and restart server! というメッセージが表示され、設定ディレクトリにトークンを設定するように求められます。トークンをこちら の方法で取得し、/.klei/DoNotStarveTogether/DoNotStarveTogether/Cluster_1/cluster_token.txt にトークンを書き込みます。
また、ここで ~/.klei/DoNotStarveTogether/DoNotStarveTogether/Cluster_1/cluster.ini を編集してサーバー設定(名前や人数など)を変更しておくことができます。ワールド名だけでも識別のため変更しておいたほうが良いです。
cluster_name = manaten テストサーバー
設定後、以下のコマンドを入力してしばらく待つと、設定した名称でサーバーが起動するはずです。
docker restart dst-server
別途DSTを起動し、サーバー一覧に設定した名称の、専用サーバーアイコンのサーバーがあれば成功です。
サーバーの停止・起動・再起動[]
それぞれ以下のコマンドでできます。DST自体にアップデートがあった場合などは、サーバーも更新しないとサーバーリストで確認できませんので、その場合は再起動してあげます。 このDockerイメージでは、再起動すると自動でサーバーのアップデートも行われます。
docker stop dst-server # 停止 docker start dst-server # 起動 docker restart dst-server # 再起動
別のワールドで遊ぶ[]
別のDockerコンテナとして別のサーバー起動することもできますが、スペックの問題や手間などから、データをまるまるコピーしてゲーム内でワールド作り直しを実行するのが良いと思います。元のワールドで遊びたい場合はコピーしたデータを書きどせばよいです。
サーバー設定・データは ~/.klei/DoNotStarveTogether/DoNotStarveTogether/Cluster_1 下に収納されているため、このディレクトリをまるまるコピーすればよいです。 データを変更する前に必ずサーバーを停止し、変更後にサーバーを再起動してあげます。
おまけ: Dockerとは?[]
Docker は、主にIT・Web業界で用いられているソフトウェアの名称です。何をするためのソフトウェアかというと、すごく簡単に説明するとコンピュータの中にコンピュータを起動するためのソフトウェアです。VMWareや、VirtualBoxといった仮想マシンを起動するソフトウェアをもしご存知でしたら、それに近いものですが、より軽量な コンテナ という概念でコンピュータの中のコンピュータを扱います。
コンテナはメインのコンピュータとは別のコンピュータのように扱うことができ、他のソフトウェアをインストールしたり起動したりすることができます。例えば、 「steamコマンドと専用サーバーをインストールし、サーバーの設定を行ってあり、起動すると専用サーバーを起動するコンテナ」 を作ったりすることができます。
更にこのコンテナは、イメージという概念で使い回すことができます。「専用サーバーを起動するコンテナのイメージ」からは「専用サーバーを起動するコンテナ」を作ることができ、更にイメージは他人に配布することもできます。
まとめてしまうと、どこか有志が設定してくれた「専用サーバーを起動するイメージ」を使い、「専用サーバーを起動するコンテナ」を起動することで、面倒なインストール・設定作業を端折って専用サーバーを起動できるということです。