ARK Survival EvolvedのEpicクライアントも入れる個人マルチプレイサーバ建てた
はじめに
この記事はARKを遊ぶPCとは別でサーバ専用機を用意し、なおかつサーバOSにLinuxを採用する人に向けて書きます。
※ARK Server Managerを使っている人向けにも追記しました。
Epicで無料になっていたので、ARK Survival Evolvedをやろうと思い、Epicクライアントでも入れる非公式マルチサーバを建てた のでメモとして残します。所々説明を端折っているので、わからない場合はGoogleで調べたりして補ってください。
いろいろと調べてもsteamのサーバの建て方した検索に引っかからないので、一度諦めかけたのですが、下記の記事を発見。
https://www.yukkuriikouze.com/2020/03/11/3567/
steam版のサーバがクロスプレイに対応しているらしい。そこで、steam版のサーバを建ててクロスプレイを有効にするオプション(-crossplay)をつけて起動する方法を試してみたらEpic版クライアントからもsteamサーバに入れました。※上記URLは構築の紹介をしていますが、初心者が参考にするには少し難易度高めの記事なので、後述のURLを参考にすることオススメです。
下記URLの記事を参考に構築しました。非常にわかりやすくまとめていただいたIb-Rorschach氏に感謝。
https://steamcommunity.com/sharedfiles/filedetails/?id=496317928
サーバOSはLinux(Ubuntu18.04)でARK Server Managerは使用せず、ShooterGameServerで直接起動する環境を構築します。構築にはCUIかターミナル上でsudoが使えるユーザで実施します。
御託はいいからさっさとクロスプレイの起動方法だけ教えろという方は目次の3.ARK Survival Evolvedサーバを起動するをクリック。
Windows×ARK Server Managerでクロスプレイしたい方は目次のEX.Windows×ARK Server Managerを使ってる人向け(動作未確認)をクリック
0.事前準備
準備といってもポート解放についてです。ファイアウォールを設定されてない方は飛ばしてください。
下記のコマンドでファイアウォールを通過できるように設定します。
sudo ufw allow 7777
sudo ufw allow 7778
sudo ufw allow 27015
sudo ufw allow 27020
最後27020は必須ではないようですので、セキュリティが気になる方は飛ばしてください。
自宅LAN内にサーバを建てる方は、ルータのポートフォワーディングもお忘れなく。ルータにより設定方法が異なるので、ここでは割愛します。
1.steamcmdをインストール
steamcmdはaptを使ってインストールもできるらしいですが、ここではshで組まれたインストーラを使います。
まず、インストーラをwgetで取得。そして解凍。
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
解凍すると、steamcmd.shというファイルとlinux32というフォルダができる想定です。※まだここでは実行しないでください。
次にlib32gcc1をインストール。※steamcmdを使うのに必須です。
sudo apt-get install lib32gcc1
lib32gcc1のインストールができたら、steamcmd.shを実行します。
./steamcmd.sh
実行すると、Redirecting stderr to ... というメッセージが表示され、最後にSteam>という表示で終わる想定です。
これで、steamcmdのインストールは終わりです。
2.ARK Survival Evolvedサーバのインストール
次にARKのサーバをインストールします。
「Steam>」と表示された状態で、下記コマンドを実行しsteamにログインします。
login anonymous
これでsteamにログインできました。
次にARK Survival Evolvedサーバをインストールするディレクトリを指定します。下記コマンドの[インストールディレクトリ]を任意の場所に指定して実行してください。私の場合、/home/[user_name]/steam/ark/を指定しました。
force_install_dir [インストールディレクトリ]
ディレクトリの指定ができたら、下記コマンドでインストールを開始します。※下記コマンドの376030はsteamが管理しているARK Survival EvolvedサーバのIDです。VALVEのサーバ一覧を見つけたので後述します。
app_update 376030 validate
実行すると、いろいろ表示されますが、最後の行が「Steam>」になるまで待ちます。
エラーなく「Steam>」まで表示されたら、下記コマンドでsteamcmdを終了します。
exit
ARK Survival Evolvedサーバのイントールはこれで完了です。
なお、サーバのアップデートもlogin anonymousからexitの流れを同じ手順で実施するとバージョンアップデートされます。
今回ARK Survival Evolvedサーバを建てるにあたって、下記のような一覧を発見しました。steamcmd欄にYesと表記されてれば、ARK Survival Evolvedサーバと同様にサーバのインストールが可能だと思われます。興味のある方、試してみてください。
https://developer.valvesoftware.com/wiki/Dedicated_Servers_List
3.ARK Survival Evolvedサーバを起動する
起動用ツールがあるディレクトリに移動します。私の場合、/home/[user_name]/steam/ark/ShooterGame/Binaries/Linuxになります。
cd [インストールしたディレクトリ]/ShooterGame/Binaries/Linux
移動後、下記コマンドでShooterGameServerという名前のファイルがあることを確認します。
ls
確認出来たら、次は起動です。起動時に設定をいろいろ渡せます。下記、私の環境での起動例です。末尾の-crossplayが重要です。これがないと、EpicでARKをダウンロードした人はサーバに入れませんので注意してください。
./ShooterGameServer TheIsland?MaxPlayers=20?Port=7777?QueryPort=27015?RCONEnabled=True?RCONPort=27020?ServerAdminPassword=[AdminPass]?ServerPassword=[pass]?SessionName=[noteserver]?bRawSockets?listen -log -crossplay
起動後[インストールディレクトリ]/ShooterGame/Saved/Logs/の下に、ログが出力されているはずです。ログ内にServer: "noteserver" has successfully started!とどこかに出力されていれば起動成功です。
また、下記のようにsteamクライアントから確認することもできます。
スチームクライアントの表示>サーバーをクリックすると下記のような画面が表示されます。
右下のサーバを追加を押し、ARK Survival Evolvedサーバが起動している端末のグローバルIPを入力し、このアドレスをお気に入りに追加を押すと、下記のように表示されます。
4.構築後に発生したトラブル
構築後、意気揚々とARKを起動し、セッション一覧からサーバに接続しようとしたところ、タイムアウトが発生し、一向に入れない事象が発生しました。
原因はサーバが311.74に対し、クライアントが311.81で実行されていたためで、2.ARK Survival Evolvedサーバのインストールのlogin anonymousからexitまで実施し、サーバのバージョンアップしたら解消しました。
サーバのバージョンアップをしたら311.88となり、クライアントを追い抜いてしまいましたが、なんか入れたのでヨシとしてます。(おそらく上位バージョンは、ある程度下位バージョンに互換があるのかと思います)
EX.Windows×ARK Server Managerを使ってる人向け(動作未確認)
Windows×ARK Server Managerでクロスプレイをしたい人向けです。構築方法は割愛します。なお、私は動作確認までしてませんので、そのあたりご容赦ください。
ARK Server Managerを起動後、管理者タブをクリックします。
一番下の、コマンドライン欄にあるサーバ引数に-crossplayを追記します。
これで起動すれば理論上クロスプレイ可能です。
以上で本記事は終わりです。
皆さんも構築&記事化してノウハウを共有し、楽しいゲームライフを送りましょう。
この記事が気に入ったらサポートをしてみませんか?