ARK:Survival Evolved 用自宅サーバー構築メモ

いわゆるLinux自宅サーバーです。初心者が書いたので初心者向けです。

ホロライブなどVtuberの方達はじめ、配信者の方達ARK楽しそうですよね。あなたもやりたくなりますよね。鯖立てよう。

ubuntuのインストールからサーバーの公開まで メモも兼ねて書いておきます。 基本的にはこちらのサイトがよくまとまっていて参考になります。

 

試す場合は、一度軽く全体を読んでからやることをお勧めします。 ポート 解放など、環境によってはできない場合もあります。

※自己責任でお願いします。 

目次

1.サーバーのスペック

2.ubuntuのインストール

3.ポート解放

4.ファイルオープン上限の設定

5.steamCMDとARKのダウンロード

6.ARKの起動

7.systemctlで自動起動

8.セーブデータ、サーバー設定など

9.おまけ

 

1.サーバーのスペック

ARKのサーバーを起動するためにはメモリが最低6GB必要とのこと。自分の環境では常時7GB程度使用しています。

 

 接続人数6人で安定して動作しています。

CPU使用率は30%くらいで余裕があります。  

2.ubuntuのインストール

USBを用いてインストールしました。 参考サイト

そのコマンドないよって言われたらググって

sudo apt-get install (入れたいコマンド )

しましょう。

インストール後、sshを入れてwindows/macで操作しています。 私のエディタはダサいと言われようがemacsです。  

3.ポート解放

ポート解放が行えるインターネット契約であることを確認してください。

ゲーマーなら知ってるかと思いますが一部のjcom、なんとかairはできません。その場合はレンタルサーバーなどを使ってください。

 

解放するポートは以下の通りです。

 

ルーターubuntuの両方で必要になります。

 

ルーター側(自分の場合)

ブラウザでルーターにログインする。(多分192.168.1.1)

サーバーを外部に公開

サーバーのアドレスにubuntuipアドレスを入力

上記のポートを選択

 

ubuntu

ubuntuのポート解放は、先にufwでファイアーウォールの設定が有効になっていることを確認した方が良さげです。セキュリティー的にもそうですし、有効でないとサーバーに自分以外入れなかったです。

ファイアウォール設定の確認

$ sudo ufw status

 ファイアウォールの有効・無効

$ sudo ufw enable
$ sudo ufw disable

ポートの解放、設定の更新、確認

$ firewall-cmd --permanent --add-port=27015/udp
$ firewall-cmd --permanent --add-port=7777/udp
$ firewall-cmd --permanent --add-port=7778/udp
$ firewall-cmd --permanent --add-port=27020/tcp
$ firewall-cmd --reload
$ sudo ufw reload
$ sudo ufw status

 

4.ファイルオープン上限の設定

arkサーバーのファイルオープン数が、ubuntuのデフォルトの制限値よりも大きいライしいので、上限を上げる必要があります。

まずは設定ファイルを開いて、

$ emacs /etc/sysctl.conf

以下を追記します。

fs.file-max=100000

設定を反映させます。

$ sysctl -p /etc/sysctl.conf

次に1プロセスの上限数も変更します。同様にファイルを開き、

$ emacs /etc/security/limits.conf

以下を追記してください。

* soft nofile 1000000
* hard nofile 1000000

設定の反映

sysctl -p /etc/slimits.conf

5.steamCMDとARKのダウンロード

steamのゲームなんでsteamを使ってインストールします。

32ビット用バイナリのインストール

steamCMDは32ビットで動作しているので64ビットのマシンを使っている場合は以下のインストールが必要になるそうです。 yumのインストールしていなければしておいてください。

$ sudo yum install -y glibc.i686 libstdc++.i686
steamCMDのダウンロード

ダウンロードディレクトリを作ってそこにcurlで持ってきます。

$ cd
$ mkdir steam
$ cd steam
$ curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

ARKのダウンロード

steamCMDを起動して匿名ログイン。インストールディレクトリ"ark"を指定してサーバーをインストールします。

$ ./steamcmd.sh
>Steam login anonymous
>Steam force_install_dir ark
>Steam app_update 376030 validate
>Steam exit

これでサーバーの起動ができます。

7.ARKの起動

arkの起動コマンドは以下の通りです。

$cd steam/ark/ShooterGame/Binaries/Linux/
$./ShooterGameServer <マップの指定>?listen?SessionName=<セッションの名前(サーバーブラウザ上で表示される名前)>?ServerPassword=<入室パスワード>?ServerAdminPassword=<管理者用パスワード> -server -log

<>内を適宜書き換えてください。 マップはTheIsland、TheCenter、Ragnarokなど。

設定ファイルなどは steam/ark/ShooterGame/Saved に初回起動後作成されます。

起動時に

[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.

というエラーが表示されることがありますがサーバーの動作には関係しないので無視して大丈夫です。

8.systemctlで自動起動

このままでも十分サーバーとして機能しますが、サーバーが動いている間、他のことができないですし、何かと不便なのでsystemdを用いて自動で起動できるようにすると便利です。 こちらを参考に

9.セーブデータ、サーバー設定など

ゲームのセーブデータ及び設定ファイルは steam/ark/ShooterGame/Saved に生成されます。

デフォルトで15分おきにワールドの保存が行われます。他にも参加ユーザーごとにセーブファイルが生成されます。

設定は海外wikiを参照したり、配布ファイルを使ったり、Ark Server Manager(略称:ASM)で生成後サーバーに移すなどで行えます。 windowsで作成したファイルは文字コードや改行に注意してください。

置く場所は、steam/ark/ShooterGame/Saved/Config/LinuxServer 内です。

10.おまけ

htopをインストールして使うと、サーバーマシンのCPUやメモリ、動いているプログラムなどリアルタイムに観察できます。 見た目もかっこいいので有能感に浸れて最高です。是非サーバーが動いている時に眺めてみてください。

それから、サーバー上から管理者コマンドって使えないんですかね。minecraftみたいに。 知ってる方いらっしゃいましたら教えてください。