SAITOUの書きなぐりメモ

さいとーの趣味と生活を垂れ流しています。

例のお金で月1万のサーバーを借りて10カ月ゲームサーバー立てる 2日目

何日明けての2日目なんだって話なのですか、2回目なので2日目です。

さいとーです。

 

例の企画ですが、あんまりまとまった話ではないですが

まとめるまでに忘れそうなので、ぶつ切りでも定期的に話を上げる方向にしないと行けなっかった。

いや、2日目の話は実際のサーバー構築の話を書こうと思ったのですが、

再起動かけたら起動しなくなった件が解決せず、どうすっかーと思ってました。

 

改めて、検索に引っかかるようにするためにもおさらいです。

NTTのVPSサービス「Indigo」を使って

恐竜サバイバルゲー「ARK」のサーバーを必要に応じて立てる。

そんな企画を進行中です。

 

で、その再起動出来なくなった際の設定等がこちら。

 

ssh設定
sshのコンフィグ修正
vi /etc/ssh/sshd_config


# SELinuxに22222登録
# semanage port -a -t ssh_port_t -p tcp 22222


SELinux無効化
setenforce 0


vi /etc/selinux/config
SELINUX=disabled

 


vi /etc/sysctl.conf
fs.file-max=100000


時間設定
cp -p /etc/localtime /etc/localtime.org
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/local


yum install gdb


yum install glibc.i686 libstdc++.i686 -y


ユーザー追加
useradd steamman


パスワード変更
password ****


ディレクトリ作成
mkdir steam


steamcmdダウンロード
curl -sqL "http://media.steampowered.com/installer/steamcmd_linux.tar.gz" | tar zxvf -


ark install
/home/steamman/steam/steamcmd.sh +login anonymous +force_install_dir /home/steamman/steam/ARK/ +app_update 376030 +quit

 


サービス登録
vi /etc/systemd/system/ark.service


内容は下記
[Unit]
Description=ARK


[Service]
ExecStart=/home/steamman/steam/ARK/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?SessionName=nankasuru.net?ServerAdminPassword=**** -server -log
ExecStop=/bin/kill ${MAINPID}
Restart=always
Type=forking
User=steamman
Group=steamman


[Install]
WantedBy=multi-user.target


登録確認
systemctl list-unit-files --type=service | grep hello
systemctl daemon-reload
systemctl enable ark.service

 

多分、サービス登録が良くなかった。

カッコつけて自動で起動させれるようにしようとして失敗してる。

キックするだけのシェルスクリプトにして、後は裏で動かしとくみたいな。

そんなんじゃないとダメな気がする。
 

細かい検証はできてないけど、今の進捗として

・都度サーバーを立てる場合、ゲームサーバー立ち上げまで30分くらいかかる

  →ほぼ、steamからサーバープログラムを落とす時間、

   スナップショットはAMIみたいにインスタンス消しても残るものなら

   最新を毎朝取りに行って、遊ぶときに起動くらいまでにさせれば短縮は出来る。

   それか、最低スペックのサーバーで常時最新のサーバープログラムをダウンロードしてさせといて、

   インスタンス起動時のインストールの際に、そこからコピーするようにする。

   コピーで動くかわかんないけども、、、、

 

・Indigo  APIのラッパーみたいな謎クラス作成

  ちっとも進んでない。

  まだそんなに考える事ないから手を動かすだけのフェーズ。

  最終的に対話形式でインスタンス立てれたり、

  今、どれだけのインスタンスが動いてて今月の料金いくらかとか

  そこまで出来ればなんか使い物になりそう。

  特に後者、これはIndigoはVPSサービスだけで課金まわりはもう一つ上のNTTのサービスだから

  そっちのAPIがあればそれを使う方が正確だけども、予測をやらそうとしたら

  APIだけじゃ無理で(多分)、インスタンスの利用状況を自分で把握しないといけない。

  今回、やろうとしてるのが、インスタンスを使う時だけ用意するスタイルなので

  利用率高いインスタンスは立てっぱなしの方がいいとか、

  判断させれたら、、、、

 

とりあえず、そんな感じかな。

 

あ、あと前に立ててたARKのサーバーデータを

新しく建てたサーバーで読ませたら

島は再現出来たけどキャラデータが復元出来んかった。

一定期間接続なかったらキャラデータ消すとかないよね??