何日明けての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 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のサーバーデータを
新しく建てたサーバーで読ませたら
島は再現出来たけどキャラデータが復元出来んかった。
一定期間接続なかったらキャラデータ消すとかないよね??