EC2サーバ(Ubuntu)を立てる
Amazon マシンイメージ (AMI)
インスタンスタイプの選択
3-4人で遊ぶ想定なら
c6i.largeかc6i.xlargeあたり
インスタンスの詳細の設定
特に変更なし
ストレージの追加
デフォルトのサイズ 8GBだとゲームインストール時にエラーが出ます(ゲームサイズが12GBくらい)
余裕をもって15-20GBくらいにしておくと安心してインストールできます。
タグの追加
特に変更なし
セキュリティグループの設定
デフォルトなら26900-26903を開けてれば良いみたいです。
上記で設定出来たら「確認と作成」でインスタンスを構築
7dtdサーバのインストール
lib32gcc1のインストール(steamcmd実行のための前準備)
$ sudo dpkg --add-architecture i386
$ sudo apt update
$ sudo apt install lib32gcc1
Do you want to continue? [Y/n]
が表示されたら Y を押下
steamcmdのダウンロード及び解凍
$ mkdir ~/steamcmd && cd ~/steamcmd
$ wget http://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
$ tar zxvf steamcmd_linux.tar.gz
steamcmdシェル実行
$ ./steamcmd.sh
インストールディレクトリンの設定とアノニマスユーザでのログイン
Steam> force_install_dir 7dtdserver
Steam> login anonymous
7dtdクライアントのインストール(294420が7dtdのID)
Steam> app_update 294420
Steam> quit
バージョン指定をしない場合は、最新の安定版がインストールされる
beta版をインストールする場合は以下のようなオプションを指定する
Steam> app_update 294420 -beta latest_experimental
サーバの起動
cd ./7dtdserver
./startserver.sh -configfile=serverconfig.xml
以下の表示がされて止まりますが、問題なければゲームクライアントからIP指定で接続できるはずです。
Using config file: serverconfig.xml
Set current directory to /home/ubuntu/steamcmd/7dtdserver
Found path: /home/ubuntu/steamcmd/7dtdserver/7DaysToDieServer.x86_64
ゲームクライアントからも接続可能になっていると思うので、インスタンスのIPアドレスを入力して接続してみてください。
サービス登録
以降は作業として必須ではないですが、インスタンス立ち上げるたびに手動で立ち上げるのは面倒なので
サービス登録をして、インスタンスが立ち上がると7dtdサーバが起動するようにします。
サービス登録用のファイルを作成します。
sudo vim /etc/systemd/system/7dtd.service
vimでファイルを開いたら、以下の内容でファイルを更新します。
[Unit]
Description=7 Days to die server
[Service]
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu/steamcmd/7dtdserver/
ExecStart=/home/ubuntu/steamcmd/7dtdserver/startserver.sh -configfile=/home/ubuntu/steamcmd/7dtdserver/serverconfig.xml
ExecReload=/bin/kill -HUP $MAINPID
Type=simple
[Install]
WantedBy=multi-user.target
コマンドを実行して、サービス登録します。
sudo systemctl enable 7dtd.service
正常に完了したら、プロセスに7dtdサーバが表示されることを確認してください。(プロセスが居れば、ゲーム側から接続可能です)
ps -eaf | grep 7dtd
おまけ
①パスワード設定
serverconfig.xmlがデフォルトのままだと、誰でもアクセスできてしまうので、
「ServerPassword」だけでも設定しましょう。
以下のコマンドでアクセスして、「ServerPassword」にパスワード文字列を設定すれば完了です。
vim /home/ubuntu/steamcmd/7dtdserver/serverconfig.xml
②Mods配置
この手順でサーバを作成した場合のMods配置場所は以下になります。
入れたいModがあればModsディレクトリを作成して、ファイルを展開しましょう。
/home/ubuntu/steamcmd/7dtdserver/Mods/