Closed25

[AWS] ARK: Survival Evolvedサーバーを立てる

murnanamurnana
ポート 用途
UDP 27015 Steamのサーバーブラウザのクエリポート
UDP 7777 ゲームクライアントポート
UDP 7778 生のUDPソケットポート(常にゲームクライアントポート+1)
TCP 27020 リモートコンソールサーバーアクセス用のRCON(オプション)

https://ark.fandom.com/ja/wiki/Dedicated_Server_Setup

ふむ?

murnanamurnana

AWS EC2のセキュリティグループを作ろうとしたら、VPCというまたわからん用語が出てきたので調べ中
https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html

Virtual private clouds、略してVPC

たぶん、イメージとしては家でローカルネットワーク(LAN)を構築するみたいな感じかしら

デフォルトでは、デフォルト サブネットはパブリック サブネットです。これは、メイン ルート テーブルがインターネット宛てのサブネットのトラフィックをインターネット ゲートウェイに送信するためです。宛先 0.0.0.0/0 からインターネット ゲートウェイへのルートを削除することで、デフォルト サブネットをプライベート サブネットにすることができます。ただし、これを行うと、そのサブネットで実行されている EC2 インスタンスはインターネットにアクセスできなくなります。
https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html

ほうほう、つまりAWSの外側から何もできなくなるし、AWSの内側からインターネットにアクセスすることも禁止できると

これはいったんデフォルトのやつにするか。
EC2インスタンス1台だけの構成だし、あるとしたらデータのバックアップで何か、くらいだろうし

murnanamurnana

こんな感じにすれば、Steam専用ポートってできるかな

アウトバウンドはいったん空っぽにしておこう
セキュリティグループを複数付けたときに、ゆるい設定を使うらしいので

murnanamurnana

ARKサーバに接続するクライアントは、UDP通信でポート7777に接続して来るらしいので
それは別のセキュリティプロトコルで設定。

アウトバウンドはどうしよ?

murnanamurnana

んあ?、もしかしてArmのほうが安く済む?
動作みないとだけど…

いったんt4g.largeにしてみよう

murnanamurnana

書けないと思ったら

[ec2-user@ip-<XXX> ~]$ ls -l  /etc/arkmanager/instances/main.cfg
-rw-r--r-- 1 root root 2512 Jan  8 07:07 /etc/arkmanager/instances/main.cfg

なので、

sudo vi /etc/arkmanager/instances/main.cfg
murnanamurnana

というか作成したユーザーに管理者権限がないのが問題だったので

sudo visudo

でファイルを見て、最初はここにsteamグループを入れちゃおうかと思ったけどやめて、

sudo usermod -G wheel steam

で、wheelグループ (これがデフォルトの、管理者権限のあるユーザーグループのようだったので)に追加

getent group wheel

で一応入ったのかを確認。

murnanamurnana
Installing ARK server ... -/home/steam/steamcmd/steamcmd.sh: line 37: /home/steam/steamcmd/linux32/steamcmd: cannot execute binary file

??? なぜだ?

[steam@ip-<XXXX> ~]$ ls -l /home/steam/steamcmd/linux32
total 6108
-r-xr-xr-x 1 steam steam  352763 Jan  5  2018 crashhandler.so
-r-xr-xr-x 1 steam steam  922064 Jan  5  2018 libstdc++.so.6
-rwxrw-r-- 1 steam steam 4839761 Jan  5  2018 steamcmd
-r-xr-xr-x 1 steam steam  130423 Jan  5  2018 steamerrorreporter

もしかして: マシンのアーキテクチャがARMだから

murnanamurnana

あー、解決方法がないので
インスタンスからつくりなおすか…

murnanamurnana

仕事が立て込んでいて、精神的に辛いのでしばし中止します…

落ち着いたらやるんだ…

murnanamurnana

セキュリティ的に改善の余地がありそう(ユーザー名、ポート辺り)なので
しばしスポットインスタンスで構築 & 立ち上げ練習中…
(料金が安いのと、どうせいったん壊すとかそういうやつなので)

https://aws.amazon.com/jp/ec2/spot/

murnanamurnana

立ち上がったのでわかったこと:

  • ARMはだめ、steamCMDや依存モジュールが対応していない
    • AMIはAmazon Linux 2 (x86_64) にする
  • スポットインスタンスはいろいろ試すのにもってこい
  • ARK Managerでのインストールは5分くらい?かかるのでしばし待つこと

次のチャレンジでやること:

  • AWSでのデフォルトでのログイン名「ec2-user」 の変更 (セキュリティ的に)
  • セットアップ時の作成ユーザー名の変更
  • ポート番号の変更 (/etc/arkmanager/instances/main.cfg) 以下はデフォルトの値
    • ark_RCONPort="32330" TCP
    • ark_Port="7778" TCP
    • ark_QueryPort="27015" UDP
  • データバックアップ
  • (スポットインスタンス向け) シャットダウン直前のセーブとバックアップ
このスクラップは2024/03/19にクローズされました