ARK設定メモ

情報まとめときたい(Linux と ARKがメイン)

ARK Linux個人サーバー インストールメモ

/------- 2017/4/5 追記 -------------

再インストールするときわかりにくかったので書き直しました。
ARK:Survival Evolved Linux Dedicated Server 導入メモ - Linuxとかの設定メモとかそんな感じ

/-----------------------------------




※書いてある内容を実行して何かあっても責任はとれません。

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

構築する際、情報がバラバラでしたのでまとめておきたいと思います。

基本的にはDedicated Server Setup - Official ARK: Survival Evolved Wikiからの情報です。

以下の内容はすべてLinux向けです。CentOS7を使用してます。

Linux自体の設定等は書きません。

バックアップ、RCONの設定
ARK Linux個人サーバー 設定とか - Linuxとかの設定メモとかそんな感じ



目次

  1. サーバーの環境、スペック
  2. 下準備
  3. ARKのインストール、アップデート
  4. SteamCMDのインストール
  5. ARKのインストール、アップデート
  6. ARKの起動、停止
  7. Systemctlでの起動と停止
1.サーバーの環境、スペック

64bitOSが必要、サーバーのテストはUbuntu14.04でしている?

サーバーを起動するのに最低でも6GBのメモリーが必要みたいです。

SSDのアクセス速度を利用して、6GB未満の場合でもスワップを増やせば起動することはできます。さくらのVPSメモリ2GBのプランでスワップを4GB増やして起動はしました。テストくらいにしか使ってないので実用に耐えられるかは不明です。

私はWebArenaのVPSクラウドでメモリ6GBプランで建てていますが、5人程InするとCPU負荷が80%程度、メモリも80%程度でした。


2.下準備

・以下のポートの開放
UDP 27015 スチームサーバーブラウズで使うポート
UDP 7777 ゲーム用のポート
(UDP 7778 Raw UDP ソケットポート)
TCP 27020 RCONで使うポート。RCON使わないなら開けなくても大丈夫

root権限で

#firewall-cmd --permanent --add-port=27015/udp
#firewall-cmd --permanent --add-port=7777/udp

#firewallを再起動すると変更が適応されるのでリロード

#firewall-cmd --reload

・SteamCMDのインストールに要求されるライブラリーのインストール

#yum install -y glibc.i686 libstdc++.i686

・/etc/sysctl.conf に以下の行を追加。ここの設定を忘れてた時、ログイン時にクエリーエラーが出てました。

fs.file-max=100000

・/etc/security/limits.conf に以下の行を追加

*               soft    nofile          1000000
*               hard    nofile          1000000
3.SteamCMDのインストール

ここからはユーザー権限で行う。
・ユーザーの作成

#useradd [ユーザー名]
#passwd [ユーザー名]
#su - [ユーザー名]

・Steam用のフォルダを作成し移動

$mkdir Steam && cd Steam

・SteamCMDの本体をダウンロード

$curl -sqL 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz' | tar zxvf -

・SteamCMDの起動

$cd Steam
$./steamcmd.sh

・匿名でログイン

Steam>login anonymous

・ログアウト

Steam>exit

このSteamCMDでサーバープログラムをダウンロードしていきます
ARK以外にも対応しているゲームがたくさんあります。詳しくは↓
Dedicated Servers List - Valve Developer Community



4.ARKのインストール、アップデート

・Steamcmd.shあるディレクトリに移動して起動、ログイン

$./steamcmd.sh
Steam>login anonymous

・保存するディレクトリを指定する

Steam>force_install_dir <インストールディレクトリ>

・サーバーのダウンロード。ARKのSteamIDは376030なのでこれを指定する。

Steam>app_update 376030

・SteamCMDの終了

Steam>exit

以上の手順を1行で書いて実行すると楽です。<インストールディレクトリ>部分のみ環境に合わせて

./steamcmd.sh +login anonymous +force_install_dir <インストールディレクトリ> +app_update 376030 +quit

アップデートする場合も、この手順でします。
Dedicated Servers List - Valve Developer Community
またこちらにあるものは、同様の手順でインストールできるみたい?


5.ARKの起動、停止

・ARKの起動
ARKインストールしたディレクトリ以下の

<インストールディレクトリ>/ShooterGame/Binaries/Linux/

に移動して以下のコマンドで起動できます。

./ShooterGameServer TheIsland?listen?SessionName=<セッション名>?ServerPassword=<サーバーパス>?ServerAdminPassword=<管理者パス> -server -log

<セッション名>:サーバーの名前
<サーバーパス>:サーバーにログインするときのパスワード
<管理者パス>:サーバー内のコマンドを使うときのパスワード

・停止
現在の画面で動いてる場合はCtrl+C、別ウィンドウの場合は killで

※この方法でサーバー落としていたら恐竜のロス報告がありました。
いまは、ゲーム内でDoexitするかRCONでDoexitしています。

ゲーム内→TABでコンソールが開きますのでそこで

Enable cheats <管理者パスワード>
admincheats DoExit

と入力するとサーバーが終了します。
RCONでサーバーを停止する場合→
ARK Linux個人サーバー 設定とか - Linuxとかの設定メモとかそんな感じ

6.Systemctlでの起動と停止

・起動設定ファイルの作成
/etc/systemd/system/に ark-dedicated.service ファイルの作成

#cd /etc/systemd/system/
#vim ark-dedicated.service

内容は以下

[Unit]
Description=ARK: Survival Evolved dedicated server
Wants=network-online.target
After=syslog.target network.target nss-lookup.target network-online.target

[Service]
ExecStartPre=/home/<ユーザー名>/steamcmd.sh +login anonymous +force_install_dir <インストールディレクトリ> +app_update 376030 +quit
ExecStart=/home/<ユーザー名>/<インストールディレクトリ>/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?SessionName=<セッション名>?ServerPassword=<サーバーパス>?ServerAdminPassword=<管理者パス> -server -log
LimitNOFILE=100000
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s INT $MAINPID
User=<ユーザー名>
Group=<ユーザー名>

[Install]
WantedBy=multi-user.target

ユーザー名、インストールディレクトリ等は環境に合わせて。


設定を反映させる

systemctl daemon-reload

ARKの起動

systemctl start ark-dedicated.service

ARKの停止

systemclt stop ark-dedicated.service