ARKのサーバーをAWSで立てる (5)運用上の注意点など

ark

インスタンスの稼働

既にご存知だと思いますが、インスタンスは稼働時間に応じて料金が発生するので、必要ない場合は必ずインスタンスを停止させてください。

ec2-setting-5-1.png

(右クリックから停止を選択。 終了 だとサーバ自体が消えます)

なお、Webコンソールを開きっぱなしだとリロードが走って操作できていない場合があるので、必ず止まったことを確認するようにしてください。

スマホからEC2操作

iPhoneでしか確認していないのですが、 iOSの AWS Console というアプリを使うことで、 スマホからインスタンスの起動・停止・稼働状況の確認などが可能になります。

EC2のIPアドレス

基本的にはインスタンスを起動し直すごとにサーバーのPublic IPは変わってしまいます。

そのため、ARKのゲーム内のお気に入りサーバーとかに検索しても、起動し直すと出てこなくなると思います。

ゲーム内のサーバー検索は反映に時間がかかるので、discord通知(後述)などで接続可能になったら他のメンバーに知らせてあげるのがいいかもです。

IPを固定したいという方は、EC2に関連するAWSのサービスとして、IPを固定することができるElastic IPというのがあります。

料金はインスタンスを停止している時間に応じて$0.005/時間 が発生します。日本円で月¥400くらいでしょうか。 これくらいのコストをかけてもいいという方であれば利用してみてください。

restart時の注意点

main.cfg などの変更を反映するためには arkmanager restart による再起動が必要になります。

再起動を行う際にはその前に arkmanager saveworld でデータ保存することをおすすめします。

というのも、サーバーのデータ保存は15分間隔で行なっており、再起動でそこまでの内容が消えるためです。この間隔は設定で変更可能ですが、保存時に数秒のラグが発生するので、そこの快適さとのトレードオフとなります。

Discord通知

ark server toolsにはサーバーの起動時などにdiscordでメッセージを通知する機能があります。

詳しい使い方は https://github.com/FezVrasta/ark-server-tools#configuration-filesnotifyTemplate のあたりをご確認ください。

簡単に使い方を説明します。

main.cfg に下記のように追記します。

discordWebhookURL=https://discordapp.com/api/webhooks/68*****/50xq***********
notifyTemplate="ARKサーバー {msg}"
notifyMsgStarting="起動中..." # 起動中メッセージ
notifyMsgServerUp="起動しました" # 起動後メッセージ(接続可能)

流れてくるメッセージとしては、 ARKサーバー 起動中... などになります。

  • discordWebhookURL はDiscordの通知したいチャンネルを右クリック > 編集 > ウェブフック からURLが取得可能です。

    • こいつに所定の形式でリクエストを送ることで通知が送れます
  • notifyTemplate の部分が通知メッセージのベースとなります。
  • {msg} は通知タイミングによって、 notifyMsgServerUp などに設定したコメントが入ってきます。
  • サーバー終了時の通知については、インスタンスをブチッと終了させるため動作しません。。

Written by@macaron
ゲームが好きなWebエンジニアのBlogです。