サーバー(VPS)を借りて ARK: Survival Evolved の個人サーバー(非公式サーバー)を設定・構築した手順についてご紹介させていただきます。仲間内で楽しくマルチプレイできるようになりますので、作り方の参考になれば幸いです。
本記事は Linux での構築方法をご紹介しています。Windows でのサーバーの立て方については以下の記事をご参照ください。
【ARK: Survival Evolved】個人サーバを構築しよう(Windows編)
目次
ARK: Survival Evolved とは
「ARK: Survival Evolved」は巨大な恐竜達が生息している島でサバイバルをしながら冒険をするオンラインマルチプレイ対応ゲームです。
ARK の世界にはトリケラトプスのように大人しい恐竜もいれば、ティラノサウルスのように凶暴な肉食の恐竜もいます。様々な危険な恐竜達がいる中で、プレイヤー達は生き延びていかなければなりません。
このゲームではお腹が空き、喉も乾きます。寒さや暑さによって行動や状態に制限が掛かったり、負傷や疲労、食中毒などリアルと同じように様々な状態異常があります。
生きることが非常に大変な世界ですが、その中で成長していく様々な要素が非常に楽しいゲームです。
レベルが上がるごとに様々なアイテムを作れるようになり、クラフトによって家などの建物も建てることができます。みんなで協力して材料を集め、分担してアイテムを作ったり組み立てたりする楽しさがあります。
また、恐竜を手懐けて(テイムして)仲間にすることができます。仲間になった恐竜は一緒に戦ってくれますので、恐竜を育てたり、強力な恐竜をテイムする楽しみもあります。
その他、マップのどこかにいる超強力なボスを協力して倒すという楽しみもあります。
様々なマップが追加で配信されており、2020年2月に新マップ「Genesis(ジェネシス)」も公開され、非常に盛り上がっているゲームです。
個人サーバ(非公式サーバ)とは
個人サーバは、個人が所有する、またはレンタルしたサーバ上で ARK のサーバプログラムを動かします。そこに ARK のクライアントプログラムから接続することで、仲間内だけでゲームをのんびり楽しむことができます。
個人サーバには接続パスワードを設定することができますので、知らない誰かが個人サーバにログインすることもありません。
また、個人サーバではメンバのプレイスタイルや要望に応じて、ゲームの設定を調整・変更することができますので、公式サーバよりも自分たちに合った設定で遊ぶことができます。
通常であれば公式に用意されたサーバに接続し、そこに接続する様々なプレイヤーと交流しながら遊ぶことができます。
しかし、中には悪質なプレイヤーがいたり、建設できる土地が余っていないなどの問題があります。
そのような問題を回避したい、または仲間内だけで楽しみたい、といった場合に個人サーバ(非公式サーバ)が便利です。
個人サーバで設定できること(例)
- 1日、昼、夜の時間経過のスピード
- プレイヤーや恐竜が受けるダメージの倍率
- PvP、PvEの切り替え
- 経験値倍率
- 恐竜のテイム速度
- 空腹になる速度
- 喉が渇く速度
- 恐竜のテイム速度
- 恐竜のスポーン(出現)速度 など
個人サーバを立てるまでの大きな流れ
個人でサーバをレンタルして ARK のサーバプログラムを動かす場合、大きくは以下の流れとなります。
- サーバ(VPS:仮想プライベートサーバ)をレンタルする
- サーバに ARK: Survival Evolved のサーバプログラムをインストールする
サーバのレンタル申し込みから ARKサーバプログラムのインストール、起動までスムーズにいけば 1時間も掛かりません。
レンタルする VPS について
サービス
私は以下の VPS で問題なく遊べることを確認しています。
さくらのVPS の場合、クレジットカード決済であればお試し期間として 2週間は無料でサーバが使えます。お試し期間中であれば申し込みをキャンセルすることができますので、サーバが急きょ必要なくなったり、うまく構築できなかった時にも安心です。ただし、お試し期間が過ぎると最低利用期間(3ヶ月)が設けられていますので、途中で解約ができません。
一方、ConoHa には無料期間はありませんが、時間単位の課金なので解約した場合の出費が最小限に抑えられます。途中解約する可能性があるなら、ConoHa が無難だと思います。
上記の VPS を選んだのは以下の理由からです。
- 実装メモリが少ない場合、ARK を起動するためにハードディスクを仮想的なメモリとして使う必要があるため、ハードディスクに高速な SSD を採用していることが必要
- 通信量の制限がない
- 上位プランへのスケールアップが可能
契約プラン
メモリ2GBプランでも動作はするものの、頻繁にラグが起きていたため、少なくとも 4GB以上のプランが個人的にはオススメです。
個人サーバへのサーバプログラムのセットアップ
1.サーバに接続
ARK のサーバプログラムをセットアップするために、レンタルしたサーバに接続します。
サーバの準備完了の通知が届いても、サーバの起動は自分で実施しなければならない場合があります。サーバの提供プロバイダからの通知メールをよく確認し、必要に応じてサーバを起動しておいてください。
SSHクライアントを使う場合
TeraTerm 等の SSHクライアントでサーバに接続します。
接続先のIPアドレスやパスワード等は、サーバを提供しているプロバイダからの通知メールを確認してください。
Tera Term のインストールや使い方については以下の別サイトの記事などが参考になると思います。
【ゼロからわかる】Teratermのインストールと使い方
直接コンソールを操作する場合
SSHクライアントを使わなくても VPSプロバイダのサーバ管理画面からコンソールを開いて直接操作することもできます。
参考:コンソールの開き方
さくらのVPS:https://manual.sakura.ad.jp/vps/server/console.html
ConoHa:https://support.conoha.jp/v/console/
2.仮想メモリ(swap領域)の拡張
ARK のサーバプログラムは最低でも 6GB のメモリを必要とするとのことです。メモリ 2GB などのプランでは足りないため、ハードディスクの領域を仮想的なメモリとして割り当てます。
※6GB 以上の十分なメモリを持ったマシンであれば、この操作は不要です。
swap領域の作成と割り当て
# dd if=/dev/zero of=/var/swpfile bs=1M
count=10240
# mkswap /var/swpfile
# chmod 600 /var/swpfile
# swapon /var/swpfile
上記の例では 10GB を仮想メモリとして追加しています。環境に合わせて自分で値(黄色部分)を調整していただいても構いません。
サーバ起動時のswap領域の割当設定
サーバが再起動すると追加で割り当てたswap領域が外れてしまいますので、サーバ起動時に再度swap領域が追加されるようにします。
Cent OS 6
# vi /etc/rc.local
以下の行を末尾に追加。
swapon /var/swpfile
Cent OS 7 以降
# vi /etc/systemd/system/swapon.service
以下の内容を記述して保存します。
[Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/sbin/swapon /var/swpfile [Install] WantedBy=multi-user.target
# systemctl enable swapon.service
3.Linuxで開けるファイル数上限の変更
オープン可能ファイル数の設定
Linux で開けるファイル数の上限を設定します。
# vi /etc/sysctl.conf
以下の行を追加
fs.file-max=100000
# vi /etc/security/limits.conf
以下の行を追加。
* soft nofile 100000
* hard nofile 100000
設定を反映させるために再起動します。
# reboot
4.接続ポートの開放
ARK では以下のポートを外部からの通信に使います。外部からサーバの以下のポートに対して通信が可能となるように、許可設定を行います。
- 27015/udp
- 7777/udp ※
- 7778/udp
※私の環境では 7777/udp を許可しなくてもプレイできたのですが、インターネット上の情報だとポートの開放が必要みたいなので、念のため開放しています。
OS のポート開放
以下は CentOS 7 以降の OS のポート開放手順です。
firewalld を有効化する
以下のコマンドを入力し、firewalld が有効になっているか確認します。
# systemctl is-enabled firewalld
enabled
もし有効(enabled)になっていなかった場合、以下のコマンドで有効化します。
# systemctl enable firewalld
# systemctl start firewalld
firewalld の ark のサービスを定義する
# vi /usr/lib/firewalld/services/ark.xml
以下の内容を記述し、保存します。
<?xml version="1.0" encoding="utf-8"?> <service> <short>ARK</short> <description>ARK Survival Evolved</description> <port protocol="udp" port="27015"/> <port protocol="udp" port="7777"/> <port protocol="udp" port="7778"/> </service>
定義した ark のサービスを firewalld に読み込ませる
# firewall-cmd --reload
初期設定のゾーンを確認する
# firewall-cmd --get-default-zone
public
初期設定のゾーンに ark サービスを追加する
# firewall-cmd --permanent --zone=public --add-service=ark
設定を firewalld に反映させる
# firewall-cmd --reload
VPS サービス側のポート開放
VPS のサービス側で通信ポートを閉じている場合は、開放します。以下は「さくらのVPS」と「ConoHa」での例です。
さくらのVPS
(1)VPSコンソールにログインし、レンタルしたサーバをクリックします。
(2)[パケットフィルタ] タブで [パケットフィルタ設定へ] を選択します。
(3)[カスタム接続許可ポート設定] で開放するポートを設定し、[設定] ボタンをクリックします。
ConoHa
(1)サーバーリストから [ネームタグ] のリンクをクリックします。

(2)[ネットワーク情報] セクションで [接続許可ポート] を「全て許可」にチェックします。

5.サーバプログラムのインストール
SteamCMD というプログラムをダウンロードし、SteamCMD を使って ARK のサーバプログラムを Steam からインストールするという流れになります。
必要なライブラリのインストール
# yum install -y glibc.i686
「SteamCMD」と「ARK のサーバプログラム」を実行するためのユーザを作成
# useradd -m steam
作成したユーザに切り替え
# su - steam
SteamCMD のダウンロード先ディレクトリを作成し、作成したディレクトリに移動
$ mkdir ~/Steam && cd ~/Steam
SteamCMD をダウンロードしてファイルを展開
$ curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
SteamCMD を実行
$ ./steamcmd.sh
ARK のサーバプログラムのインストール先ディレクトリを設定
Steam>force_install_dir ./ARK/
インストール先のパスはお好みで変更してください。
例では、カレントディレクトリが ~steam/Steam(/home/steam/Steam)となっていますので、~steam/Steam/ARK(/home/steam/Steam/ARK) ディレクトリの下にインストールされます。
匿名ユーザとしてログイン
Steam>login anonymous
ARK のサーバプログラムをダウンロード
Steam>app_update 376030 validate
「376030」は Steam で管理されている ARK のサーバプログラムの ID を示しています。
余談ですが、他ゲームのプログラム等についても同じように ID を指定すればダウンロードできるようです。もし Steam の他のゲームでサーバを立てることがあれば、ARK でやったことあったなと思い出していただけたら嬉しいです。
Steam 上のゲーム等の ID は以下のサイトで調べることができます。
SteamCMD を終了
Steam>exit
6.サーバプログラムの起動
ARKサーバプログラムの格納ディレクトリに移動
$ cd ~/Steam/ARK/ShooterGame/Binaries/Linux/
ARK のサーバプログラムを起動
$ ./ShooterGameServer TheIsland?Listen?SessionName=<セッション名>?ServerPassword=<ログインパスワード>?ServerAdminPassword=<管理者パスワード> -server -log -NoBattlEye &
TheIslandマップ名を指定しています。遊びたいマップに合わせてパラメータを変更してください。
指定できるパラメータについては以下のページの [GameUserSettings.ini] セクションが参考になります。
Server Configuration/ja
Server
Configuration ※英語ですが、こちらのページの方が情報が新しいです。
マップ名 | パラメータ名 |
---|---|
The Island | TheIsland |
The Center | TheCenter |
Scorched Earth | ScorchedEarth_P |
Ragnarok | Ragnarok |
Aberration | Aberration_P |
Extinction | Extinction |
Valguero | Valguero_P |
Genesis: Part 1 | Genesis |
Crystal Isles | CrystalIsles |
Genesis: Part 2 | Gen2 |
Lost Island | LostIsland |
ゲームのサーバリストに表示されるセッションの名前です。一緒にプレイする仲間が判別し易いような分かりやすい名前を付けると良いと思います。
例:
SessionName=TaroImo
ARK のクライアントからゲームにログインする時のパスワードです。このパスワードは一緒に遊ぶ仲間にも伝えてください。
例:
ServerPassword=PassW0rd
ゲーム内で管理者機能を使う際に必要なパスワードを設定します。
例:
ServerAdminPassword=AdPassW0rd
クライアント側で ARK を起動する際、プレイヤーのチート行為を防止するための BattlEye というプログラムをインストール・起動するか確認されます。
インストールしないことも可能なのですが、初期設定では BattlEye を起動していないとプレイできないようになっているため、「-NoBattlEye」オプションを付けて、BattlEye を起動していなくてもゲームをプレイできるようにしています。
ゲームクライアント側にできるだけ負荷を掛けたくないのでこのオプションを付けていますが、BattlEye を必須とするなら本オプションは削除してください。
ちなみにサーバプログラムを起動すると以下のようなエラーが表示されます。
Using binned.
4.5.1-0+UE4 7038 3077 404 10
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 346110
色々と調べてみましたがこのエラーは無視して良いようです。エラーが出ている状態でも問題なくゲームをプレイすることができました。
ポート待受状態の監視
UDPポートの待ち受け状態を監視し、ARK のサーバプログラムが通信の待ち受けを開始するまで待機します。
$ watch -n 5 "ss -anu"
27015 と 7778 ポートが表示されたら Ctrl + C キーを入力して監視を終了します。7778 ポートの待ち受けが開始されるまで、10分以上掛かる場合もありますのでご注意ください。
ゲームクライアントから個人サーバに接続してプレイするには
Steam のクライアント側でメニューから [表示]→[サーバー] を選択します。

[サーバーを追加] ボタンをクリックします。

サーバのホスト名やIPアドレスを入力し、[このアドレスをお気に入りに追加] ボタンをクリックします。

すると、以下のようにお気に入りにサーバが追加されます。
表示名はサーバプログラムの起動時に「SessionName=<セッション名>」で指定した名前です。
追加されたサーバを選択して [接続] ボタンをクリックします。

パスワードを入力して [接続] ボタンをクリックするとゲームが起動し、個人サーバに接続されます。 パスワードは、サーバプログラムの起動時に「ServerPassword=<ログインパスワード>」で指定したパスワードです。

サーバプログラムを終了するには
サーバプログラムを終了するには、ゲーム内で管理者コマンドを使います。
ゲーム内で Tabキーでコンソールを表示した後、以下のコマンドを入力し、管理者コマンドの利用を有効にします。
> enablecheats <管理者パスワード>
パスワードはサーバ起動時に「ServerAdminPassword=<管理者パスワード>」で指定したパスワードです。
例: enablecheats AdPassW0rd
次に以下のコマンドを入力し、サーバプログラムを終了します。
> adminCheat DoExit
大文字小文字は区別されませんので、全て小文字で入力してもコマンドとして認識されます。
サーバプログラムを終了させるのにいちいちゲームにログインするのが面倒という人は、RCONという仕組みを使って管理者コマンドをゲーム外から実行することができます。以下のページでご紹介していますので、気になる方はそちらもご参照ください。
【ARK: Survival Evolved】RCONによるゲーム外からの管理者コマンド実行
詳細なゲーム設定
サーバプログラムの詳細なゲーム設定は「GameUserSettings.ini」というファイルに記述されています。
設定ファイルのパス
[ARKのインストールパス]/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini
例:
~steam/Steam/ARK/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini
設定ファイルには「パラメータ名=値」の形式でパラメータが一行ずつ記載されています。
例えば、恐竜のテイム速度を3倍にするには以下の行を設定ファイル内の [ServerSettings] セクション下に追記します。
$ vi ~steam/Steam/ARK/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini
ARK のサーバープログラムを終了した状態で変更してください。もしくは、設定の変更後にサーバープログラムを再起動してください。
設定できるパラメータについては以下のページの [GameUserSettings.ini] セクションが参考になりますので、お好みで設定を変更してください。
Server Configuration/ja
Server
Configuration ※英語ですが、こちらのページの方が情報が新しいです。
最後に
一人だと生活していくだけでやっとな ARK の世界ですが、友達や会社の同僚と一緒にやると阿鼻叫喚な状況も含めて協力して苦境を乗り越えていくことがとても楽しいです。
サーバを立てるのは難しく感じますが、Linux を少し触ったことがあれば意外と簡単です。
もし仲間と個人サーバで遊びたいという思いがくすぶっている人がいましたら、チャレンジしてみてはいかがでしょうか。
皮脂や唾、手垢、汗などで表面は見えない雑菌だらけです。 衛生上も問題ですし、気持ち良く使うためにも、こまめに拭きとってキレイにしましょう。