ARKSurvivalAscended(ASA)の無料自鯖の立て方とセーブデータなどの基本構造

今回は基礎中の基礎のSteamCMDを使ったASAのサーバーを自宅のPC上で動かす方法を紹介するとともに、後に必要になる操作のために基本的なサーバーファイルの中身の説明などをしたいと思います。
ツールを使ってのサーバー構築に向けての基礎知識としてどうぞ。
最後はARK310設定を導入して完成まで。

必要スペック

PCの必要スペック各所で様々ありますが、ここはこちらでの実際の運用負荷を記載します。
結局それが一番参考になるかと。

10年前の型落ちPC、メモリを増やしたとはいえDDR3-1600MHz PC3-12800の型落ち規格。
HDDも書き込み、読み込み速度おっそいです。

  • Windows 10 Home 64bit
  • Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3.40 GHz
  • RAM 32.0 GB

実際の負荷、MOD多数、アクティブ20人ほどの状態。

やはり課題はメモリ、余裕をもったメモリサイズに仮想メモリも大きめにとったほうがいいです。
特にARK310だとハードなブリーディングが多くてテイム数もかなりの数になるので、フレンドと数名で遊べればOKという場合はこれの半分ぐらいの負荷と思って頂ければ大丈夫です。

※必要無いと思いますがサーバー起動時にエラーを吐いた場合など、お持ちのWindowsにMicrosoft Visual C++ 2019 Redistributable Packageが入っていない可能性があります。

https://learn.microsoft.com/ja-jp/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022

ARKのサーバーを立てるうえでの注意事項

規約に関する事

ARK: Survival Ascended Dedicated Server
https://steamdb.info/app/2430930/info

規約
https://store.steampowered.com/eula/2430930_eula_0

本ソフトウェア(ARK Survival Ascended Dedicated Server、以下「本アプリケーション」といいます)を利用することにより、お客様は以下の事項に同意したものとみなされます。

本アプリケーションは、個人的な使用のみを目的とし、許可されています。本アプリケーションを商業目的で使用することはできません。営利目的には、本アプリケーションの運用により発生する収益が、本アプリケーションの運用コストまたはチップを超える場合を含みます。

つまり、参加費用を徴収したり、サーバーをレンタルしたりしたらダメですよって事です。
以下、アウトになりそうな例

  • サーバーへの参加費用の徴収
  • 別サービスの会員のリターンとして参加権を与えたり優先参加などの特典にする
  • サーバーを構築してそれを貸し出して金銭を受け取る
  • ゲーム内コンテンツを使ってリアルマネーが絡んだ取引で収益を得る

なので、付随するもので収益が発生する場合、サーバーを運営する活動援助や周辺ツールの開発援助などの名目であれば問題ないでしょう。

一定のリスク

これはサーバーを公開する場合ですが、参加者、サーバー運営者、ともにPC同士で回線をつなぐことになります。IPなども見えます。
特に参加者はARKのサーバーにどんなツールが入っているか把握できません。
運営者もIPを別IPを迂回させるような方法を取らなければ筒抜けです。
活動者で自分が住んでいる地域などを隠している人は注意しましょう。

ARKのサーバーファイルの構築

注意事項はここまででここから必要最低限のサーバーを立てるまでの手順をざっといきます。

SteamCMDのダウンロード

https://developer.valvesoftware.com/wiki/SteamCMD

これをサーバーを作るフォルダに配置します。

サーバーのフォルダ構成を作る

親フォルダ→サーバーフォルダ+SteamCMDフォルダとしたほうが管理しやすいかと。
こんな感じ

C:\TESTASA

名前はなんでもいいですが半角英数字にしておかないと何がおきるかわかりません。

SteamCMDに必要なファイルをインストール

C:\TESTASA\SteamCMDに先ほどのsteamcmd.exeを配置してダブルクリックなどで起動。

ダウンロード関係が終了すれば閉じてOK、必要なファイルがインストールされています。

ARK: Survival Ascended Dedicated Serverのインストール

C:\TESTASAに移動

アドレスバーにcmdと入力

このフォルダが指定された状態でwindowsのコマンドプロンプトが起動します。

次のコマンドを記入

SteamCMD\steamcmd.exe +force_install_dir C:\TESTASA\Server1 +login anonymous +app_update 2430930 validate +quit

よく使うことになるので意味をざっくり解説

  • SteamCMD\steamcmd.exe(このフォルダからSteamCMDフォルダのSteamcmd.exeを起動)
  • +force_install_dir C:\TESTASA\Server1(インストールを行うフォルダの指定)
  • +login anonymous(Steamに匿名ログイン)
  • +app_update 2430930 validate(2430930はASAのアプリケーションのIDのようなもの)
  • +quit(終了)

同じ文章をサーバーパッチの更新などでも使います。+app_updateは初期インストールも包括しているという事です。

記入してエンターでダウンロード開始。

完了したら閉じてOKです。
C:\TESTASA\Server1にこのようにファイルが展開されています。

C:\TESTASA\Server1\ShooterGame\Binaries\Win64にお目当てのArkAscendedServer.exeがあります。

これで一度はサーバーファイルの構築は完了で、後は起動してから展開されるファイルなどがあるので、後半に解説します。

サーバーを起動するためのBatファイルの作成

ファイルの指定が正確であればどこで作ってもいいのですがわかりやすくC:\TESTASAに作ってみます。

Batファイルとはテキストベースで先ほどサーバーファイルを展開したようなコマンドを実行するためのファイルです。つまり先ほどのコマンドもこのファイルを作ればダブルクリックで起動してアップデートなどができます。
まずはテキストファイルで作ってみます。

アップデート用

起動用

start C:\TESTASA\Server1\ShooterGame\Binaries\Win64\ArkAscendedServer.exe TheIsland_WP?listen

シンプルな起動コマンドです。
パスの指定は省略できる部分もあるのですが、応用がきくように解説します。
Server.exeなどのパスを正確に欲しい時は

このようにパスのコピーをすると”C:\TESTASA\Server1\ShooterGame\Binaries\Win64\ArkAscended_BE.exe”っとクリップボードにコピーされるのでダブルクォーテーション”を削除するなどして使います。

  • start(実行)
  • C:\TESTASA\Server1\ShooterGame\Binaries\Win64\ArkAscendedServer.exe(実行するファイル)
  • TheIsland_WP(起動するMAP)
  • ?listen(ここから起動コマンドラインが続いていきます)

https://steamdb.info/app/2430930/config/

こちらでも確認できます。

例えばstart C:\TESTASA\Server1\ShooterGame\Binaries\Win64\ArkAscendedServer.exe TheIsland_WP?listen -UseBattlEyeと書けば、アンチチート(バトルアイ)を使用した状態で起動します。

さらにこちらで見れるコマンドラインを追加する事で様々な設定を入れる事ができます。https://ark.wiki.gg/ja/wiki/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A7%8B%E6%88%90

ほとんどがGameUserSettings.iniのServerSettingsで指定できるものなので、ここでは確実に必要なものを記入します。

?設定=数値といったものや-命令のような形式もあるので混乱しないように整理しながら書きましょう。

使用するポート番号
?Port=7777?QueryPort=27015?
ARKで使うポートはこちらhttps://ark.wiki.gg/ja/wiki/Dedicated_Server_Setup

クロスプレイの設定
-ServerPlatform=PC+XSX+WINGDK+PS5

サーバー言語の設定
-culture=ja

MODの読み込み
-mods=928793

MODに入れる番号はこちらで確認、複数入れる場合は1234,5678,1200っとカンマで区切ります。

繋げるとこんな感じ

start C:\TESTASA\Server1\ShooterGame\Binaries\Win64\ArkAscendedServer.exe TheIsland_WP?listen ?Port=7777?QueryPort=27015? -ServerPlatform=PC+XSX+WINGDK+PS5 -culture=ja -mods=928793

そろそろ文字ばっかりで頭が痛いですが頑張っていきましょう。
これを保存して拡張子を.Batに変更します。

完成です、ダブルクリックで起動してみましょう。
初回起動時はパブリックネットワークのうんたらこうたらって出るのでそれを許可。

おめでとうございます。まだまだ裸のサーバーの誕生です。

右上の矢印のようなマークを押すと下にコマンドを打てるスペースができるので、こちらにexitで終了できます。

今回はここからの解説のために一度このサーバーにログインしておきます。(本来ポート開放など行ってない状態だとログインできませんが、ローカル環境であればできるかも。)

問題なしですね。

今後BATファイルやiniファイルを頻繁に触ると思うので、そのたびにtxt形式に変更してるときりがありません。
Notepad++というソフトをお勧めしておきます。
VSCが使えるならそれでいいのですが、単一のファイルを初心者が手軽に編集するという面ではNotepadが適していると思います。

窓の社からのダウンロードリンク
https://forest.watch.impress.co.jp/library/software/notepadplusp/

覚えおくべきファイル

これから設定の編集などする上でよく使うファイルの場所などを解説します。

“C:\TESTASA\Server1\ShooterGame\Saved\Config\WindowsServer\GameUserSettings.ini”

サーバーに関する設定を行うファイル。

“C:\TESTASA\Server1\ShooterGame\Saved\Config\WindowsServer\Game.ini”

ゲームに関する設定を行うファイル。

“C:\TESTASA\Server1\ShooterGame\Saved\SavedArks\TheIsland_WP”

アイランドのセーブデータフォルダ。

“C:\TESTASA\Server1\ShooterGame\Saved\SavedArks\TheIsland_WP\000237fe467945faa927c73ec62865ca.arkprofile”

セーブデータ内にあるキャラクターデータ。「000237fe467945faa927c73ec62865ca」の部分はユーザーに与えられるEOSID、BANなどにも使います。
これを参照してキャラクターの復元などもできます。

“C:\TESTASA\Server1\ShooterGame\Saved\Logs\ShooterGame.log”

サーバーログ、設定によって取得するログが異なります。

各所の設定はゆっくり根気よく詳しくなりましょう。
今回はここにARK310の設定を入れながら設定していきます。

ARK310の設定を入れて初期設定をする

ARK310では設定ファイルを配布しているので、こちらから起動コマンドラインとサーバー設定を参照します。

まずは起動コマンドライン

?ServerAutoForceRespawnWildDinosInterval=0?AllowCrateSpawnsOnTopOfStructures=True?RCONEnabled=True?RCONServerGameLogBuffer=600?RCONPort=<ポート>?-UseBattlEye –culture=ja –ServerPlatform=PC+XSX+WINGDK+PS5 -log -servergamelog -servergamelogincludetribelogs -ServerRCONOutputTribeLogs -UseItemDupeCheck –clusterid=ark310 –WinLiveMaxPlayers=50 –mods=928793,927083,929420,941145,935297,947835,929902

ポートなどは既に書いてあるのでこの部分だけ先ほどのBATファイルへコピペします。
RconPortだけ27020で指定しましょう。

こんな感じです。
続いてGame.iniは全て削除してからコピペでOK。

GameUserSettings.iniも同じく全て削除してから、パスワードやサーバー名を記入。
GameUserSettings.iniに関してはポート番号など起動コマンドラインが優先されて勝手に書き換えてくれます。

サーバー名とパスワードのみ設定しました。

これで保存して起動してみましょう。

ARK310と同じ設定のサーバーの完成です。

設定ファイルは随時更新していきます。
できればダウンロードしてすぐに使えるような状態にするつもりです。
あとはポート開放のみです。
これは環境によるので割愛したいところですが、管理人の環境での設定を紹介します。

コミュファ光F5648の場合のポート開放

いろんなポート開放ツールがありますが、いまいち安定する気がしないので、自身のルーターの設定の仕方は知っておいたほうが良いと思います。

ネットで自身のルーターの型番とポート開放などでぐぐれば出てくるかと、最悪の場合でも取説をダウンロードして睨めっこしましょう。

ARKのポートは、

指定した7777に対して+1をして7777~7779
Steamサーバーへのポート開放で27015(無くてもいけるっぽいけど念のため)
Rconポートで27020

ともにTCPとUDPを開きます。

コミュファの場合はインターネット→セキュリティ→ポート転送という名前であります。
これは機種やメーカーによって違うのでご自身のメーカーや型番を調べてネットで調べてみましょう。

後書き

お疲れさまです。サーバーを立てる事はできたでしょうか?
ですが、これは序盤も序盤です。
バックアップはどうするの?フレンドのために常時稼働にしておきたいけどクラッシュしたらどうしよう。
定期的に恐竜のデストロイをかけて再スポーンさせたい。
シャットダウン時にタイマー設定したい。
サーバーを立てれても実際に動かし続けるとなるとやることはいっぱいです。
ですがご心配なさらず、既にそれらを解決するツールなどの数は増えています。
もっと簡単にサーバーを立てれます。
ですが、これぐらいはサーバーの構成などを知っておいたほうが対応力も上がると思うので、一度チャレンジしておくべきかなぁと個人的には思います!それはよきARKライフを!


コメント


    Fatal error: Uncaught Error: Class 'SwpmMemberUtils' not found in /home/r7004364/public_html/ark310.com/wp-content/themes/ARK310/functions.php:221 Stack trace: #0 /home/r7004364/public_html/ark310.com/wp-includes/class-walker-comment.php(183): mytheme_comments(Object(WP_Comment), Array, 1) #1 /home/r7004364/public_html/ark310.com/wp-includes/class-wp-walker.php(147): Walker_Comment->start_el('', Object(WP_Comment), 1, Array) #2 /home/r7004364/public_html/ark310.com/wp-includes/class-walker-comment.php(139): Walker->display_element(Object(WP_Comment), Array, '5', 0, Array, '') #3 /home/r7004364/public_html/ark310.com/wp-includes/class-wp-walker.php(390): Walker_Comment->display_element(Object(WP_Comment), Array, '5', 0, Array, '') #4 /home/r7004364/public_html/ark310.com/wp-includes/comment-template.php(2391): Walker->paged_walk(Array, '5', 0, 0, Array) #5 /home/r7004364/public_html/ark310.com/wp-content/themes/ARK310/comments.php(6): wp_list_comments('callback=mythem...') #6 /home/r7004364/public_html/ark310.com/wp-includ in /home/r7004364/public_html/ark310.com/wp-content/themes/ARK310/functions.php on line 221