FLINTERS Engineer's Blog

FLINTERSのエンジニアによる技術ブログ

VPSのLinuxサーバーを使って、低コストで安定したARK: Survival Ascendedの専用サーバーを建てよう!

はじめに

こんにちは。私はWebフロントエンド周りを触っていることの多い中途採用のエンジニアです。 2024年1月にFLINTERSが祝10周年!全社員でブログリレーをやらないか?と誘われて久しぶりにブログを書いております。私は99日目の担当です。

私事ですが、最近は11月初旬に発売したARK: Survival Ascended(以下、ARK: SA)という恐竜を育てたり建築したりサバイバルゲームを楽しんでいます。

ARK: SAは現時点で開発途中の早期アクセスゲームであり、公式公認のレンタルゲームサーバーでさえまだ安定しているとは言えない状況です。 しかし自分でサーバーを建ててしまえば、努力次第で安定したサーバーを作ることができます。

そこで本記事では、少々イレギュラーなサーバー環境となる、VPSのLinux サーバーを使って低コストで安定したARK: SAの専用サーバーを建てる手順について解説します。

代替手段との比較

  • Nitradoでゲームサーバーを借りる
    • $24.99/Month
    • 評判は𝕏などのSNSで確認してください
  • Windowsで専用サーバーを建てる
    • 自宅サーバーだと電気代が高い(推奨スペックを元に雑にChatGPT 3.5に計算をさせて4,320円/Month)
    • VPSだとWindows Serverのライセンスが高い(ContaboでUbuntuより+$17.99/Month)
    • 安定感はある
  • AWS、Google Cloudなどで建てる
    • 一般的にVPSの方がかなり安いです

必要な費用

  1. Contabo CLOUD VPS M: $12.50/Month
  2. Contabo Region Japan: $6.00/Month
  3. Contabo One-Time Setup Fee: $8.50
    ※VPSの契約期間に応じて割引あります

合計: $27.00($18.50/Month)

事前知識

ARK: SA Dedicated ServerはSteamからダウンロードすることになるので、事前に利用規約に目を通してください。 商業目的で使用することができない点に注目ですね!

また、本来ARK SA Dedicated ServerはWindows Serverでの稼働を期待していますが、ここではValveの開発したProtonを使ってLinux上で稼働させます。 Protonは一言で言えばLinux上でWindows用のゲームを実行するためのソフトウェアです。

最後に、Steamのインストールパスがなぜかぶれがちです。 もしパスに関するエラーが出たら、正しいパスを確認後スクリプトを修正し、いったんまっさらにした状態から再インストールすることをオススメします。

ここまで確認できたら次の項から実際の手順になります。

ContaboでVPSを購入する

まず最初に、Contaboの公式ウェブサイトにアクセスし、VPSを購入します。 ARK公式から専用サーバーの推奨スペックは発表されていないように見えますが、私は CLOUD VPS M $12.50 を選択しました。

Google検索で出てくる有識者の情報と比較しても問題はなさそうですね。

有識者の情報 CLOUD VPS M $12.50
Cores 4 CPU 8 vCPU
RAM 16GB 16GB
SSD 200GB 400GB
Bandwidth 400 Mbps 400 Mbps
OS Windows Server 2019 or newer version Ubuntu 20.04

注意点として、必要スペックはサーバーに接続するプレイヤーの人数に大きく影響を受けます。 今回紹介する環境では、プレイヤーの同時接続数10人までは快適に遊べることを確認しています。

以下、私の Configure your VPS です。

項目 Cloud VPS M
1. Select your term length 1 Month
2. Region Asia (Japan)
3. Strage Type 400 GB SSD
4. Image Ubuntu 20.04
5. Login & password for your server 任意のパスワード(記憶する)
6. Object Storage None
7. Networking Private Networking: No Private Networking
Bandwidth: 10 TB Out + Unlimited In
IPv4: 1 IP Address
8. Add-Ons Backup Space: None
Server Management: Unmanaged
Monitoring: None
SSL: None
Server Quantity 1

注文完了後、1~3日後にサーバーにアクセスできるようになるとメールで案内がきますが、私の場合はさらにその後10分後にサーバー情報が送られてきました。早い!

ARK: SA Dedicated Serverをインストールする

メールで送られてきたサーバー情報を元にsshでVPSに接続します。Windows 10からはcmdにOpenSSHが標準搭載されるようになったのは嬉しいですね!なお、今回はLinuxサーバーにおけるSSHの設定やFirewallの設定は割愛させていただきます。

ssh -lroot -p22 <IP address>
root@<IP address>'s password: as chosen by you during order process

gitをインストールして、専用サーバーをインストールするスクリプトをダウンロードして実行します。

apt update
# vimはお好みのエディタで
apt install git vim
mkdir git && cd $_
git clone https://github.com/k-sukehiro/ARKSurvivalAscended-Linux.git
cd ARKSurvivalAscended-Linux/
chmod 744 server-install-ubuntu20.sh
sudo ./server-install-ubuntu20.sh

途中、 STEAM LICENSE AGREEMENT が表示されるのでしっかり読んでからAGREEしましょう!

スクリプトの実行が終わったらプロセスを確認してみてください。 きっとARK: SA Dedicated Serverが起動しています。 それから数分後、ARKクライアントの非公式サーバーセッション一覧の中にあなたのサーバーが見つかるはずです。

ARK: SA Dedicated Serverを管理する

  • サーバーをアップデートする
sudo -u steam /usr/games/steamcmd +login anonymous +app_update 2430930 validate +quit
  • 起動する
sudo systemctl start ark-island
  • 再起動する
sudo systemctl restart ark-island
  • 停止する
sudo systemctl stop ark-island
  • サービスを変更する
sudo vim /etc/systemd/system/ark-island.service
sudo systemctl daemon-reload
  • サーバー設定を変更する
vim /home/steam/island-Game.ini
vim /home/steam/island-GameUserSettings.ini
  • サーバーの起動ログを確認する
tail -F /home/steam/island-ShooterGame.log

補足

一日一回Linuxサーバーを再起動するとリソースが良い感じです! 再起動後、ARK: SA Dedicated Serverは自動で起動します。

sudo vim /etc/crontab

# 朝4時に再起動する(サーバーのTime zoneはEST-0500)
0  14   * * *   root    /sbin/shutdown -r now

まとめ

低コストでARK: SAの専用サーバーを建てるための手順を解説しました。

GUIによって直感的にサーバーを管理でき、価格もお手頃なレンタルゲームサーバーは魅力的です。 しかしエンジニア視点ではSSH、CLIで管理できた方が問題が起こったときに自力で調査しやすく、レンタルサーバーのサポートとやりとりをせずに復旧できるのでこの不安定期には強みだと思います。 場合によってはサーバーバージョンアップをしない選択肢や、プログラムによる復旧の自動化など取れうる手段は無限大です。

この機会に仲間内用に一台いかがでしょうか!