ARK: Survival Evolved

ARK: Survival Evolved

53 ratings
ARK: Survival Evolved SteamCMDを使ったサーバーの建て方(Linux)
By Ib-Rorschach
概要
LinuxでSteamCMDを使った、ARK: Survival Evolvedのサーバーの建て方を探すと、ほとんど英語(涙目)。
なので、自分なりに翻訳して、サーバーの構築方法のメモを作ってみた。
   
Award
Favorite
Favorited
Unfavorite
※注意事項
  • これはLinux向けのARKサーバーの建て方です。
  • このガイドはサーバーの建て方のみ説明。(Config等の設定はなし)
  • このガイドはサーバー再構築用の自分用メモです。
  • 一部意味不明な箇所は別の解説サイトを見たりしてください。
  • 一応、他のLinuxディストリビューションでも可能だと思いますが、基本Ubuntuデスクトップ版向けに書いています。
  • OSのバージョン等でコマンドをそのまま実行できるとは限らないので、実行できなかったら場合は臨機応変に対応してください。
  • 2023年11月24日現在、記事の方法でサーバーを建てることができます。
  • 当記事の方法では、ARK: Survival Ascendedを遊ぶことはできません。
  • 自己責任でお願いします。
インストールと起動方法
[1]SteamCMDの入手
以下のURLからダウンロード出来ます。
https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
以下のコマンドを端末に打ち込むことで、カレントディレクトリ(今いるディレクトリ)に保存出来ます。


[2]SteamCMDの解凍
steamcmd_linux.tar.gzを右クリックで解凍するか、端末に以下のコマンドを打ち込んで解凍してください(任意の場所でOK)。
tar -xvzf steamcmd_linux.tar.gz


[3]GCCサポートライブラリのインストール
これをインストールしないとSteamCMDが起動できません。
自分のLinuxディストリビューションにあったコマンドを入力してください。

Ubuntu/Debian
sudo apt install lib32gcc1

RedHat系
sudo yum install glibc libstdc++

RedHat系 64-Bit
sudo yum install glibc.i686 libstdc++.i686


[4]SteamCMDの起動
[2]で解凍したSteamCMDの中にsteamcmd.shがあることを確認し、そのディレクトリで、以下のコマンドを端末に入力してSteamCMDを起動する(この際に管理者で起動しないこと)。
./steamcmd.sh

端末に「Steam>」と表示されたら起動成功です。
もし、ここで起動できなかった場合は、エラー文を見て対処をお願いします。
私の場合は、なんかのファイル(忘れた)に「プログラムとして実行する」ための許可がなかったため、chmodで許可を与えたら起動できました。


[5]ARK: Survival Evolvedサーバーのインストール

※[4]の続きです(「Steam>」と表示されている状態)。

(1)ログイン
普通にログインを行う場合は以下のコマンド(この後にパスワードとメールに送られてくる文字列を入力)。
login steamID(自分のID)

パスワード入力の手間を省略したい場合は以下のコマンド(基本、こっちでいいです。)
login anonymous


(2)インストールディレクトリの設定
以下のコマンドでインストールディレクトリを設定してください。
force_install_dir インストールディレクトリ

以下のコマンドは、「ホームディレクトリの中の、Steamフォルダの中の、ARKフォルダ(つまり、 /home/ユーザー名/Steam/ARK/)」にインストールする場合です。(任意でお願いします)。
force_install_dir /home/ユーザー名/Steam/ARK/


(3)インストール
以下のコマンドをそのまま入力。
app_update 376030 validate

「376030」はARK: Survival EvolvedのサーバーのApp IDらしいです。
「validate」を付けることでインストール後のチェックを行ってくれます。


(4)SteamCMDの終了
以下のコマンドで終了します。
quit


SteamCMDはアップデートをするのに必要なので、残しておくことを推奨します。



[6]ARK: Survival Evolvedサーバーの起動
インストール先に作成されたフォルダを開き、ShooterGame/Binaries/Linux/を端末で開く。

オープンで起動したい場合は、以下のコマンドのを実行。
./ShooterGameServer マップ名?listen?SessionName=サーバー名?ServerAdminPassword=管理者パスワード -server -log

プライベートで起動したい場合は、以下のコマンドのを実行(サーバーに入るときにパスワードを求められます)。
./ShooterGameServer マップ名?listen?SessionName=サーバー名?ServerPassword=ログインパスワード?ServerAdminPassword=管理者パスワード -server -log

マップ名の設定値は以下の通り
マップ名
設定値
アイランド
TheIsland
センター
TheCenter
スコーチドアース
ScorchedEarth_P
ラグナロク
Ragnarok
アベレーション
Aberration_P
エクスティンクション
Extinction
バルゲロ
Valguero_P
ジェネシス Part1
Genesis
クリスタルアイルズ
CrystalIsles
ジェネシス Part2
Gen2
ロストアイランド
LostIsland
フィヨルド
Fjordur

※注意
  • クライアントで認識できるようになるまで数分かかります。
  • 起動コマンドの日本語で書いてあるところは、半角英数字でお願いします。
  • サーバーとクライアントのバージョンは、通常同じでなければなりません。


サーバーを建てる方法は以上です。
アップデート
サーバーに入る場合は、クライアントも同じバージョンでなければなりません。
クライアントのアップデートは基本自動ですが、サーバーは手動です。
ぶっちゃけた話、アップデートはインストールと同じ手順です。

[1]SteamCMDの起動
SteamCMDの中のsteamcmd.shがあるフォルダで端末を開き、以下のコマンドを実行する。
./steamcmd.sh


[2]ログイン
普通にログインを行う場合は以下のコマンド(この後にパスワードとメールに送られてくる文字列を入力)。
login steamID
パスワード入力の手間を省略したい場合は以下のコマンド
login anonymous


[3]インストールディレクトリの設定
以下のコマンドでインストールディレクトリを設定してください。
force_install_dir インストールディレクトリ

以下のコマンドは、「ホームディレクトリの中の、Steamフォルダの中の、ARKフォルダ(つまり、 /home/ユーザー名/Steam/ARK/)」にインストールする場合です。(任意でお願いします)。
force_install_dir /home/ユーザー名/Steam/ARK/


[4]アップデート
以下のコマンドをそのまま入力。
app_update 376030 validate
「376030」はARK: Survival Evolvedを意味しています。
「validate」はアップデート後のチェックを行ってくれます。


[5]SteamCMDの終了
以下のコマンドで終了します。
quit
ポート開放
グローバルで接続する(WAN)場合は、ルーターにアクセスして、以下のポート開放をする必要があります。ルーターへのアクセス方法は、ルーターの説明書で確認するか、お持ちのルーターのWEBサイトで確認してください。

UDP 27015 (開放必須)
UDP 7777 (もしかしたら、これは開放しなくても動くかもしれない・・・)
TCP 32330 (開放する必要があるらしいのですが、開放しなくても動くので、開放しなくて大丈夫です、多分。)

他にも、Linuxでパケットフィルタリング(ファイアウォール)を設定している場合は、上記のポートを開放してあげてください。(Ubuntuはufw、その他のディストリビューションはfirewall-cmdで操作してるイメージ)

ローカルで接続する場合はLAN、それ以外で接続する場合はUnOfficialに表示されます。
最後に
注意事項で記載したように、これはサーバー再構築用の自分用メモです。
Goodってやっておいてくれれば、他の人も見つけやすいので、やっておいてくれると助かります。

ARK: Survival Ascendedのサーバーの建て方は気になってはいますが、Linuxは公式でサポートされていないっぽいです。それでも一応建て方自体はあるらしいですが、「検証のためだけに買うのもなぁ」って感じです。

※CentOS向けの記載は、CentOS Streamへの移行に伴い主流のLinuxディストリビューションではなくなるため、「RedHat系」へ変更しました。

※CentOS6で起動できない問題についての記載は、CentOS6のサポート終了に伴い削除しました。
21 Comments
Ib-Rorschach  [author] Sep 2, 2018 @ 1:07am 
VPSでCentOS7を使用しているんですね。了解しました。
サーバーログ的にはあんまり問題なさそうですね。建物が残っている(サバイバー情報は保存されているか分からないけど)ので多分セーブもうまくいっていると思うので、brave0401さんが仰っているようにサーバーとクライアントでの連動がうまくいっていないように見えます。ただそうなってしまうと、対処方法があんまり分からないです(汗)海外のwikiを覗いてきましたが、似たような事例は載っていませんでした。今動かしているサーバーとは別にサーバー(ソフトウェア的な意味で)を用意して、同じような動作になってしまうか確認したり、ディレクトリのアクセス権限を確認したりして改善の糸口を探るしかないかもです。お力になれずすみません。
ぶらべ@積みゲー消化中 Sep 1, 2018 @ 1:41am 
ご返信ありがとうございます。

サーバ側とクライアント側のサバイバーの情報が連動できていないみたいです。
1.サーバ再起動
2.ゲームクライアントより、サーバへログイン
3.サバイバ作成 ←サバイバの情報が保存されず?新規作成しかできない。
4.再起動前の建造物の位置に戻ると建物が残っている。
 ※サバイバを新規作成しているため、破壊等不可

サーバはVPSを利用。
OSはCentOs7を使用しております。

ログについては下記のディレクトリに起動成功ログしかでておりませんでした。
[Logs]$ pwd
/[インストール先]/ark/ShooterGame/Saved/Logs
[Logs]$
※各種configファイルについては特に変更はしておりません。
Ib-Rorschach  [author] Sep 1, 2018 @ 1:02am 
コメントありがとうございます。
最近新PCと新サーバーに移行した際にARKとARKサーバーを削除してしまったので、覚えてる範囲でお答えします。
「arkサーバーを起動すると、毎回セーブデータのバックアップが生成されます。」とありますが、ARKサーバーは定期的にバックアップを行っていたと思うので動作としては正しいかなと思います。
「その後、新規サーバとして起動してしまい前回の状態から開始ができません。」ということですが、動作環境が分からなかったりログを見ていないので正しい原因は分かりませんが、ARKサーバーを正常に終了できていない(終了時に破損?)のかなと思っています。多分、その辺りのことはログファイルに保存されていると思うので、ログファイルを読んでみてください。
ぶらべ@積みゲー消化中 Aug 30, 2018 @ 3:32am 
サーバを再起動後、arkのサーバを起動すると、毎回セーブデータのバックアップが生成されます。
その後、新規サーバとして起動してしまい前回の状態から開始ができません。
対処方法とかありますでしょうか。

Ib-Rorschach  [author] Dec 23, 2016 @ 10:31pm 
CentOS6についてのコメントありがとうございます。
ARKのLinuxでのサーバーの建て方について調べると、この記事が上位に表示されるんですねwすこし驚いていますw
一応参考ページを参考に記事を再編集してみました。もし手順が抜けてたり間違っていたりしたら、またコメントお願いします。
ぶっちゃけた話、私も大人しくCentOS7を使うべきだと思っています(笑)
neri Dec 20, 2016 @ 2:49am 
>追記
>CentOS6でサーバーが起動できない(未確認)
CentOS6で構築できたので報告
※SEO的に一番目にとまりやすいと感じたので、ここに書かせていただきます

要約:
 glibc-2.16 が使える状態ならば動作する 
環境:
 CentOS 6.8 , gcc-4.6.4, gclibc-2.16
補足:
  https://steamcommunity.com/app/346110/discussions/0/594820656473094010/
 ↑上記URL参考に、ビルド+インストールすること
 私の場合、標準インストールのgcc-4.4.7 ではglibcをコンパイルできなかったので
 gcc-4.6.4 のコンパイルから実施しました
 なんにせよ、この周辺の技術に明るい人以外は、大人しくCentOS7で建てたほうがよいかと
Satellito Sep 15, 2016 @ 9:49am 
長文での返信ありがとうございます!
どうしてもLANの方に自分のサーバが見えずversion.txtのほうを変えたら今度は見えるけど入れないという状況になったのでやはりversion.txtのバージョンがあってないとアップデートに成功していないのでは?と思っていました。
ですが、その後CentOSのアカウントをデータ毎削除し、インストールしなおしてバージョンを無視して鯖を起動したら247.21で鯖が建ちました!
ご教授ありがとうございましたm(__)m
Ib-Rorschach  [author] Sep 15, 2016 @ 1:17am 
専門的な知識をあまり持ち合わせていないので、数分ほど適当に考えて思いつくのはこれぐらいですかね?

最近はARKサーバーを簡単に建てることの出来るArk Server Managerなるものがあるらしいので、情報の少ないLinuxで無理して建てずにWindowsのほうでArk Server Managerを使って建ててみてもいいかもしれません。

長文失礼しました。
Ib-Rorschach  [author] Sep 15, 2016 @ 1:16am 
これは私の予想ですが、ARKサーバーのインストールディレクトリにある"version.txt"に記載された数字をバージョンだと考えたのではないでしょうか?
私のサーバーにも"version.txt"があり、中には「245.99」とのみ記載されています。この「245.99」という数字は、今回問題になっているバージョンと一致します。
この"version.txt"はどういった意図があるかは分かりませんが、結構ズレています。先ほどWindowsのARKのクライアントのインストール先にある"version.txt"を確認しましたが、"version.txt"には「247.1」ゲーム自体は「247.21」と記載されており、やはりズレがあります。
なので、サーバーは意外にも現最新バージョンである247.21の可能性があります。
Ib-Rorschach  [author] Sep 15, 2016 @ 1:16am 
ここまでの内容で質問に答えるための土台(記事内の方法で正しく起動できるかの確認)が出来たと思うので、本題の質問に答えたいと思います。
「バージョンが245.99より上のバージョンにならないという問題が発生」していることについて、「何かご存知の事があれば教えていただけないでしょうか?」という質問ですが、現段階では心当たりは1つだけあります。