【ARK】QNAPのNASを使ったARK個人サーバーの簡単な立て方

QNAPを狙ったランサムウェアが確認されています(2022.01.25~)

2022年9月12日時点、QNAP NASを対象としたゼロデイ脆弱性を利用したランサムウェアが確認されています。

メーカーによる対策が取られていない現時点ではQNAP NASをインターネットに公開することは非常に危険です。対策済みのアナウンスが出るまで、本記事に記載されているNASの公開は絶対にしないでください。私はサーバを公開することを諦め、VPNを使ってフレンドからNAS上のARKサーバーにアクセスしてもらっています。

参考:QNAP公式アナウンス / 最近のDeadBolt攻撃に関するQNAPの対応、処置および声明

ARK:Survival Evolved は個人で非公式サーバーを立てて友達同士だけで遊べるのも魅力の一つ。しかし、ARKのサーバーを立てたい!と思い立っても導入のハードルが多く、二の足を踏む人も多いのではないだうか。

ARK個人サーバーを導入するハードル
  • 快適にプレイ可能なスペックのレンタルサーバーは費用が高い
  • そもそもサーバーをセットアップ・運営できるか不安
  • 自分のPCをサーバーにすると電源を落とせないし、セキュリティも心配

そんなとき、自宅のNASがARK個人サーバーとして使えるんじゃないかと思いついた。

私が愛用しているQNAP製のNAS「TS-251+」は5年前に発売された家庭向けNASであるが、そこそこのスペックがあるし、メイン用途はファイルサーバーなので、マシンパワーを持て余している。もちろん24時間稼働しているので、サーバー条件も申し分ない。

NASへのゲームサーバー導入となると、通常よりもハードルが高いと思われるかもしれないが、ARKサーバーには有志が作成したDocker版が存在する。そして、QNAPのNASはContainer Stationという、GUIの画面上で簡単にDockerを扱える仕組みがある。

通常のLinux版ARKサーバーは、コマンドラインで必要なライブラリをインストールする必要があったり、ポート開放を行ったりと、導入にはそれなりの経験と知識が必要だ。しかし、QNAPならContatiner Stationを用いることで、GUIオンリーで簡単にARKサーバーを導入できた。

あらためて、QNAP製NASの良さを実感できた良い機会だったので、導入方法を紹介する。

ARKサーバーの必要スペック

公式ARK Wiki[英語]には以下のようにスペックの記述がある。

ARK専用サーバーの必要スペック(翻訳)
  • 64bitのOS(Linux or Windows)であること
  • メモリに6GB以上の空きがあること
    • 接続されているプレイヤーの数が増えるにつれて、メモリの必要量は増えていきます。これはあなたのmodや設定可能なオプションにも依存します

QNAPのNASの多くは、64bitのLinuxがベースとなっており、OSの問題はない。しかし、6GBのメモリ空き状態確保が難しいポイントだ

家庭用のNASの場合、メモリは多くても4GBあたりが一般的だからだ。私のQNAP TS-251+はメモリを購入時の2GBから8GBに増設してあるが、システムがすでに占有しているメモリを考慮すると、NASの搭載メモリが8GB以上は必須だと感じた。

さて、必要となるCPUスペックに関する記述がないが、実感としてはそこまで高性能なCPUを必要としないようだ。

TS-251+の搭載CPUはIntel Celeron J1900(4core 2.0GHz) で、家庭向けNASとしては割と高性能な部類だ。このCPUの場合、ARKサーバーを稼働させた場合でもCPU使用率が数%上昇しただけだった。仮に2coreのCPUだったとしても問題なく稼働できるだろう。

必要なQNAP NASのスペック
  • 2Core 以上のx86 CPUであること
    • CPUがARMのNASでは動きません
    • IntelもしくはAMDのCPUが載ったNASであればOK
  • 8GB以上のメモリを搭載していること
    • 家庭向けはメモリ4GBまでのモデルしかない。8GB以上へのメモリ増設は必須
  • Container Station対応モデルであること
    • 一部の入門モデルはContainer Stationをインストールできないので注意

いまからNASを購入するなら、TS-253Dがおすすめ。メモリを8GB以上に換装すれば、これから紹介する方法でARKサーバー運用が可能だ。

TS-253D Intel Celeron クアッドコア 2ベイNAS
QNAP
TS-253D Intel Celeron クアッドコア 2ベイNAS
Amazon_logoAmazon
Rakuten_logoRakuten

自宅のインターネット環境にも注意

自宅のサーバーを公開するので、「ポート開放」ができるインターネット接続環境が必要だ。

特に厄介なのが、IPoE(IPv6)方式のうち、DS-Lite(transixやクロスパス)を使っている環境ではポート開放ができない。我が家もDS-Liteなのだが、ARKサーバーのためにPPPoEを併用して使っている。

今回はNASがPPPoE(IPv4)でインターネットに接続していることを前提に説明する。

QNAP製NASにARKサーバーをインストールする

必要なアプリの準備

まずはQTS(QNAP上のOS)の通常状態ではインストールされていない、以下2つのアプリをインストールする。

必要となるQNAPアプリ
  • Container Station
    • Docker版ARKのインストールや管理を行う
  • myQNAPcloud Link
    • ネットワークのポート開放を行う
    • DDNS(ドメイン名でサーバーを公開する)の設定を行う

アプリのインストールは簡単だ。QNAPの管理画面にログインし、AppCenterから「Container Station」と「myQNAPcloud Link」をインストールするだけだ。

QNAPにContainer StationとmyQNAPcloud Linkをインストールする
QNAPにContainer StationとmyQNAPcloud Linkをインストールする

myQNAPCloudの初期設定

APPCenterよりmyQNAPCloudを開き、「自動ルータ構成」と「My DDNS」を設定しておく。

myQNAPcloudを設定する
myQNAPCloudで自動ルータ構成とMy DDNSを設定しておく

自動ルーター構成

サーバーの公開に必要なルーターのポート開放を自動で設定してくれる。自動と言っても、UPnPの仕組みを利用しているので、ルーター側でUPnPを有効にしておく必要がある。

この自動ルーター構成機能を用いることで、ルーター設定を手動で変更しなくても、必要なときにNAS側からポート開放ができるのでとても簡単。

My DDNS

自分のARKサーバーにアクセスしてもらうには、自宅のIPアドレスを伝える必要があるが、IPアドレスは固定でなく数日で変わってしまう。

DDNSを設定して、〇〇〇.myqnapcloud.comのようにホスト名で自宅のARKサーバーに接続してもらうように連絡しておけば、IPアドレスが変わろうと関係ない。サーバーの運用がとても楽になる。

Docker版ARKのインストール

Container Stationを開き、全てデフォルトのまま初期設定を済ませる。

その後「作成」タブのイメージ検索ボックスから【ark】と検索する。最もポピュラーな@turzamのDocker版ARKが一番上に出てくるはずだ。

メモ

ここで紹介するturzam/ark のコンテナイメージ は6年以上メンテナンスされていない。今から始めるなら、頻繁に更新されており、マニュアルも親切なhermsi/ark-server のコンテナイメージがおすすめだ。

ContainerStationでdocker版arkをインストールする
Container Stationでturzam/arkをインストールする

turzam/arkの「インストール」ボタンをクリックすると、インストールするバージョンを聞かれるので、「latest」を選択する。その後、コンテナ作成の設定画面が表示される。

ここでARKサーバーの環境変数(MAPやパスワードなどの設定)を編集するために詳細設定を行いたいのだが、Dockerイメージ(turzam/ark)をインストールした後でしか設定することができない。

そこで、とりあえず「作成」をクリックし、Dockerイメージをインストールしてしまおう。

コンテナの作成画面
コンテナ作成画面が開いたら、何も触らず「作成」をクリック

Dockerイメージのインストールが完了すると、Container Stationの概要にコンテナ「ark-1」が追加される。

コンテナが起動すると、すぐさま、ARKサーバーのダウンロードとインストールが始まるが、環境変数の設定がされていない状態(すべてデフォルト)でサーバーが起動してしまうため、すぐにark-1コンテナを停止し、削除しよう。

コンテナの概要を選択し、動作を停止・削除する
環境変数が未設定のままARKサーバーのインストールが始まってしまうため、一旦コンテナを削除する。

次に、Container Stationの「作成」を再び選択し、turzam/arkを探す。今度はインストールではなく「作成」ボタンに変わっているはずだ。

これはturzam/arkのDockerイメージのインストール自体は完了しているため、次回からはコンテナの作成工程だけでよいからだ。余談だが、インストールしたイメージは「画像(イメージの誤訳)」タブから閲覧できる。

インストール済みのイメージからコンテナを再作成する
turzam/arkのコンテナを作成する

先程と同じコンテナ作成画面が表示される。今度は「詳細設定」を選択し、環境変数の設定を行う。

詳細設定をクリックする
今度は「詳細設定」をクリックする

コンテナの環境設定

コンテナの環境設定画面が開く。Docker版ARKはここでサーバーの肝となる設定を行う。

コンテナの環境変数設定
コンテナの環境設定画面。★印のところはデフォルト設定から変更することをオススメする

▼変更をオススメするARKサーバー設定の一覧

名称
ADMIN
PASSWORD
サーバーの管理者パスワード。管理者コマンドの実行に必要(デフォルト:adminpassword)
NBPLAYERSプレイヤー数の最大値(デフォルト:70人)
SERVERMAPサーバーマップを入力する(デフォルト: TheIsland)
以下はその入力例(カッコ内はマップ名の通称)
TheIsland(The Island)
TheCenter(The Center)
Ragnarok(Ragnarok)
ScorchedEarth_P(Scorched Earth)
Aberration_P(Aberration)
SERVERPASSWORDサーバーに接続する際、パスワードを求める(デフォルトはパスワード無)
ARKの非公式サーバーはSteamで世界中へ公開されるため、知り合いだけでプレイしたい場合は必ずパスワードを設定する
SESSIONNAMESteamで公開されるサーバー名。全世界に公開されるので変なサーバー名は避けよう

Dockerの使い勝手として注意しておくべき点がある。コンテナ作成時の「環境設定」は、コンテナを一度作成すると後で変更することができない。

環境変数を修正するにはサーバーを初めから作成し直さなければならないので、間違いがないよう慎重に入力しよう。

コンテナのネットワーク設定

続いてコンテナのネットワーク設定を行うため、詳細設定メニューの「ネットワーク」を選択する。

ホスト側(NAS)のポートが空白になっているので、コンテナ側と同じポートを使用するよう各ポート番号(7778/TCP/UDP, 27015/TCP/UDP, 32330/TCP)を入力する。

さらに7777/TCP/UDPを新規に追加する。この7777ポートがないとサーバーにログインできないので注意して欲しい。

コンテナ作成のネットワーク設定
コンテナのネットワーク設定で、コンテナ側のポートとホスト側(NAS)のポートを関連付ける

各ポートの役割はARK公式Wikiを参照して欲しい。

公式Wikiによれば32330/TCP(RCONポート)を除く、TCPポートのフォワーディングは不要のようだ。

コンテナ作成の実行

これで一通りの設定が完了となる。最後に「作成」ボタンをクリックするとARKサーバーのインストールをはじめとしたコンテナの作成が実行される。

コンテナ作成の実行を行う
コンテナ作成の実行

作成が実行されるとARKサーバーコンテンツのダウンロードが始まるため、ネットワーク使用量のダウンロード側が急激に増える。数十GBの大容量データをダウンロードするので時間がかかる。

コンテナ作成中の画面
ARK Dockerコンテナ作成中のContainer Stationの画面

しばらく待つと、Container Stationのコンソール画面に変化が起こる。次のように表示され、10分以内にサーバーが立ち上がる。

コンテナ作成中のコンソール表示
ARK Dockerコンテナ作成中のコンソール表示

このとき何が起こっているかと言うと、ARKサーバーのデータがNASのメモリに展開されている。そのためNASのメモリ使用量が急激に増大する。

最終的には約6GBのメモリが使用され、NAS全体のメモリ使用率はシステムメモリを含め80%近くになる。精神衛生上よろしくはない。

docker版ark起動中のメモリ使用率
Docker版ARK起動中のメモリ使用率の変化

このまま待っていれば、確かにARKサーバーは立ち上がるのだが、私のNAS(TS-251+)では先の案内のように10分で立ち上がらず、15分必要だった。

ちなみにサーバーが起動したかどうかは、コンソール表示だけでは判断つかない。実際は起動した後も「Waiting…」のままだ。サーバーの起動状況は、コンテナ内のコンソールにログインすると知ることができる。

コンテナ内のコンソールにログインするには「端末」ボタンをクリックし、コマンドを実行するのフォームに /bin/bash とシェルのパスを入力する。Container Stationのデフォルト通り /bin/sh と入力しても良いが、bashの方が扱いやすい。

dockerコンテナ内でのコンソール起動
Dockerコンテナ内へのコンソールログイン

コンテナへのログインが完了すると、ブラウザ上にコンソール画面が表示される。ここで以下のようにコマンドを入力すると、サーバー起動ステータスを確認できる。

# arkmanager status
Docker版arkの起動ステータス確認
ARKサーバーの起動ステータス確認(起動中の場合)
docker版arkの起動ステータス確認-起動完了後
ARKサーバーの起動ステータス確認(起動後)

Server listenningがYESになれば、ARKサーバーの起動は完了だ。私の場合はServer onlineがNoの表示であったが特に問題なくプレイできた。

メモ|コンテナへのログイン時の注意

その後、ARKmanagerのアップデートにより、root環境ではarkmanagerコマンドが実行できなくなった。コンテナにログイン後、arkmanagerをインストールした”steam”ユーザーに変更する必要がある

root@****> arkmanager
Invalid steamcmd_user in config file   # エラーにより実行できない

root@****> su steam   # ユーザーをsteamに変更
steam@****> bash      # シェルを変更

steam@****> arkmanager status  # arkmanagerコマンドが実行できる

Running command 'status' for instance 'main'
 Server running:   Yes
 Server PID:   78
 Server listening:   Yes

メモ|MODインストールの注意

MODのインストールはarkmanagerから行ったほうが良い。仮に他の方法で行うと、MODファイルの所有者権限の違いにより、ARKサーバーのアップデートに失敗してサーバー自体が強制終了(Abort)してしまう。例えば、ファイラーなんかでMODファイルをコンテナ内に移動させると、rootユーザーが移動させたMODファイルがsteamユーザーで読み書きできなくなる自体が発生する。

arkmanagerでMODをインストールするには、上記の方法でコンテナへログインし、steamユーザーに成り代わった後、次のコマンドを実行する

steam@****> arkmanager installmods [MODナンバー]

ルーターのポート開放を行う

ここまで来ると、自宅PCからはARKサーバーに接続可能だが、外部(インターネット側)からは接続できない。ルーターのポート開放を行うことでインターネット側からもARKサーバーに接続できるようになる。

QNAPのAPP Centerから「myQNAPcloud Link」のアプリを開き、「自動ルータ構成」を選択する。次の画面で「NASサービスの追加」ボタンをクリックする。

自動ルータ構成(ポート開放)の設定
自動ルータ構成(ポート開放)の設定

サービス編集画面になるので、ARKサーバーの公開に必須となる以下の3つのポートを追加する。

  • 27105/UDP
  • 7777/UDP
  • 7778/UDP
ARKクエリポート(UDP:27015)の追加例
ARKクエリポート(UDP:27015)の追加例。サービス名は適当でもよい

最後に「ルータに適用」をクリックすると、自動的にルータ側にポート開放が反映される。素晴らしく簡単だ。

自動ルータ構成の設定-ポート開放
自動ルータ構成のポート開放設定を反映させる

UPnPが使えないルーターの場合はこの方法は適用できない。直接ルーターの管理画面でポートマッピングを実施しよう。

ARKサーバーへの接続

Steamを開き、左上メニューの「表示」→「サーバー」→「お気に入り」タブを開く。「サーバーを追加」をクリックし、NASのIPアドレスを入力する。

自分の場合
NASのローカルIPアドレス:27015 と入力
例)192.168.0.10:27015

知り合いを参加させる場合
myQNAPcloudで登録したDDNSのアドレス:27015 を入力
例)○○○.myqnapcloud.com:27015

SteamにARKサーバーを登録する
Steamに自分のARKサーバーを登録する

これで「接続」を選択すると、ARKが立ち上がり、見慣れたセッション選択画面になるはずだ。自宅のNASにアクセスしているだけなので、恐ろしくPING応答が早い。

ARKのセッション画面
ARKのセッション画面

ゲーム設定に関して

以下のファイルを編集する。

# GameUserSettings.ini
\\NASのIPアドレス\Container\container-station-data\lib\docker\volumes\コンテナのボリューム名\_data\server\ShooterGame\Saved\Config\LinuxServer\GameUserSettings.ini
# Game.ini
\\NASのIPアドレス\Container\container-station-data\lib\docker\volumes\コンテナのボリューム名\_data\server\ShooterGame\Saved\Config\LinuxServer\Game.ini

編集方法は「ARK & GameUserSettings.ini & 設定」で検索すればたくさんヒットする。例えばARK公式Wikiの日本語翻訳版はお勧めだ。

編集した後はContainer StationでARKコンテナの再起動をお忘れなく。

TS-253D Intel Celeron クアッドコア 2ベイNAS
QNAP
TS-253D Intel Celeron クアッドコア 2ベイNAS
Amazon_logoAmazon
Rakuten_logoRakuten

あとがき

ARKサーバーのメモリリソースが大きく、メモリを8GBに増設したTS-251+でも使用率80%を超えてしまった。

精神衛生上よろしくないのと、場合によってはメモリスワップを起こす可能性が高いので、結局お金を掛けてNASのメモリを16GBに交換した。

メモリを16GBにしたので、2つのARKコンテナを起動させ、同時に2つのMAPを運用することも可能となった。詳しいやり方はこの記事のコメントを見て欲しい。

34 COMMENTS

案山子

初めまして。ARKを始めるにあたりNASサーバーの記事を参考にさせてもらいました。
導入にあたって、記事内のいくつかに質問があるのですが対応可能でしたら、メールコメント等でお返事いただければ幸いです。よろしくお願いします。

返信する
mimo mimo

コメントありがとうございます。
他の方にも参考となるように、このコメント欄でご質問いただけますと幸いです。よろしくお願いします。

返信する
案山子

返信ありがとうございます。質問させて頂きます。
前提
NAS TS-253Be クアッドコア1.5 GHz CPU 2ベイを購入。
steam版ARKをsaleを利用して購入。

アプリContainer Station myQNAPcloud Link 2.2.16を用意。

ルーター構成、myDDNSの設定を終えた後、Docker版ARKを検索、インストール選択する際にバージョンを問われましたので「latest」(最新版?)をひとまず選択しました。詳細設定にてコンテナ作成時環境設定に移ったのですが名称、値両項目とも「データがありません」との表記状態なのですが、追加を選択してARK環境設定の各項目を自ら入力する。という解釈でよいのでしょうか?(間違いが無い様に慎重に入力と書かれていましたので)

そうであれば、画像のスクロール途中STEAMPORTより下の項目が分からず…。turzam Docker版ARK DLページの変数一覧を覗いてみたりもしましたが見当らない無い項目もいくつかありました。

コンテナのネットワークポート設定も同様、ホスト コンテナ プロトコル項目
デフォルトが「データがありません」という形なのでコンテナ作成環境設定と
同様追加、入力という形でしょうか?

ホスト(QNAP)で使用するポートを設定する。コンテナと同じポートで問題ない
の部分のサーバーポート32330は各々使用NASのポートという事でしょうか?

設定に強くなくお手数をおかけしますがよろしくお願いします。長文失礼しました。

返信する
mimo mimo

まず、「Docker版ARKのインストール」の説明に誤りがありました。

ご指摘のとおり、Dockerイメージ(turzam/ark)の初回インストール時には環境設定の項目が表示されず、「データがありません」となってしまいます。

また、ここで設定値を手入力した場合でも、後のインストール時にデフォルト設定値で上書きされてしまいます。

環境設定を行うためには、一度起動したコンテナを停止・削除したあと、再度コンテナを作成することで、環境設定が可能となります。

詳しくは「Docker版ARKのインストール」項を書き直しましたので、一度この通りお試しください。

—-
>ホスト(QNAP)で使用するポートを設定する。コンテナと同じポートで問題ない
>の部分のサーバーポート32330は各々使用NASのポートという事でしょうか?

その認識で間違いありません。
32330ポートは自動ルータ構成でポート開放していません。これは32330ポートがARKサーバーで「RCONというゲーム外からの管理者コマンド実行」に使われるポートなので、セキュリティ上あえて開放しないようにしています。

返信する
案山子

mimo様。分かりやすく教えていただき、本当にありがとうございます。

記事を再度拝見いたしました、早速コンテナ作成環境設定にトライしてみます。

また、案山子の理解が及ばない部分が出ましたら質問をさせていただければと
思います。

返信する
案山子

コンテナ作成環境設定は記事の通り無事進めることが出来ました。ありがとうございます。

作成後、Waiting…からのarkmanager statusでサーバーステータスもserver Online
以外はグリーンでしたので
NASサービスの追加、適用、steam側でのサーバー追加

QNAP Qfinder Pro 7.4.1 TOPに表記されているIPアドレス:27015を入力後接続、
このサーバーには設定したパスワードが必要という事でコンテナ作成時に設定した
通り入力をしてみた所、アークトップ画面にて

「unable to query server info for invite」エラーにより立ち上がらず…。

上記エラーでいろいろと調べてファイアウォール、セキュリティ(PC側)、
(NAS側は未だSSL証明書未導入)関係も当ってみたのですが結果は変わらずでした。

1点、ブログ内の表記と違う所としてコンテナ作成時のネットワーク設定
コンテナーMACアドレス表記がニュートラル表記のままだったので

QNAP Qfinder Pro 7.4.1 TOP に記載されているMACアドレスも入力しなくては
ならなかったでしょうか?度々申し訳ありませんが意見を頂ければ幸いです。

よろしくお願いします。

返信する
案山子

上記コメントMACアドレスの自己解決いたしました。大変申し訳ございませんでした。

有力な理由が浮上いたしましたのでお伝えしたく思います。

記事内容ARKサーバーへの接続項目のサーバーの追加、
NASのローカルIPアドレス:27015入力後、このアドレスをお気に入りに追加、
追加したサーバーを右クリック「サーバー情報を見る」で確認したところ

IPアドレス項目がNASローカルIPアドレス:7777と表記されて
いました。何度:27015と入力してお気に入り登録しても末尾
7777に変更はなく、編集もできない状態です。

何度も本当に申し訳ありませんが意見を頂ければ幸いです。

返信する
mimo mimo

私の環境でも再現しました。どうもポートの開放不足のようです。

一度、作成済みのコンテナを削除していただいて、再びコンテナを再作成してください。
その際、コンテナのネットワークポート設定では画像のように「7777」TCP/UDPを手動追加してみてください。

コンテナの作成後、実際に上記のポートフォワードで動作しているか、コンテナ設定をご確認ください。
※他のコンテナで使用するポートと重複があった場合、ContainerStationでは自動的に他のポートに割り振られてしまいます。

「unable to query server info for invite」エラーは表示されますが、私の場合はこの設定でローカル環境からARKにログインすることができました。

返信する
案山子

無事、ログインに至ることができました。友人のログインもNAS側のサービス編集追加
プロトコルUDP7777を追加することで可能になりました。

このブログを見つけられてよかったです。

おんぶにだっこ状態で大変申し訳ないのですが、〆にブログ最後尾のゲーム設定

\\NASのIPアドレス\Container\container-station-data\lib\docker\volumes\コンテナのボリューム名_data \GameUserSettings.ini

についてご教示いただきたいのですが、PCサーバーなら

programfiles(×86)/steam/steamapps/common/ARK/shootergame/saved/config/windowsnoeditor/gameusersettings

から編集できると思いますがNASのDocker版ARKの場合手順もどこかcontainer-stationarのkmanagerstatus入力の様な場所から編集する形でしょうか?

よろしくお願いします。

返信する
mimo mimo

無事、リモートからもログインできたとのことで安心しました。
どうやら、Epic版とのクロスプレイが可能となった6月頃から、ポート周りの仕様が変わったようです。
時間があるときに記事も修正しておきます。

さて、
コンテナ内のデータはPCからNASの共有フォルダに直接アクセスして編集できます。
(もしくはQNAPアプリのFileStationからアクセスしても良いです)

その際、アクセスするフォルダのパスは以下のようになります。
\\NASのローカルIPアドレス\Container\container-station-data\lib\docker\volumes\コンテナのボリューム名\_data\

コンテナのボリューム名はArk-1コンテナ設定の「共有フォルダ」より確認できます。
コンテナのフォルダパス確認方法

ここへアクセスできれば、Windows版ARKサーバーと見慣れた同じフォルダ構成が見えるはずです。

案山子

無事たどり着くことが出来ました。

そこで新たに疑問点がありましたのでご意見を頂ければ幸いです。

GameUserSettings.ini 
Game.ini

両iniファイルを見つけることが出来たのですが、Game.iniファイルはデフォルトで1B
GameUserSettings.iniファイルはデフォルトで5.05KB

それぞれのファイルを右クリックから開く→この種類のファイルはデバイスに損害を
与える可能性があるため、ブロックされました。→保存or削除

保存選択後ファイルを開いてみるとメモアプリで内容が表示されたのですが
Game.iniファイル内は空白で
MatingIntercalMultiplier 交配間隔
EggHatchSpeedMultiplier 孵化速度
といった変更したい項目が無く

GameUserSettings.iniファイルはコマンド項目こそいろいろ表示されるのですが
XPMultiplier レベリング速度
TimingSpeedMultiplier テイム速度
といった目当ての項目が無く

無い項目は自身でコマンドと数値を入力するという形式なのでしょうか?色々と調べてみると
Docker版ではありませんがPC版やPS版ではGame.iniファイルを開くと文字がずらっと出てくる
等説明されていたので、気になっております。

よろしくお願いします。

返信する
mimo mimo

はい、私もGame.ini は空白。
GameUserSettings.ini はデフォルト要素しか記載されていません。

追加したいオプション項目をGameUserSettings.iniの[ServerSettings]配下へ追記していきましょう。

私はGame.iniを編集したことはないのですが、一行目に[/script/shootergame.shootergamemode]を記入してから、配下にオプションを入れていくようですね。

オプション項目や書き方はこちらのサイトが参考になります。
https://ark-ja.gamepedia.com/Server_Configuration

.iniファイルを編集した後は、コンテナ再起動を行うと、オプションが反映されます。

返信する
案山子

なるほど、デフォルト一覧だったのですね。

おかげ様で希望のARK環境を整えられそうです。

本当にありがとうございます。

早速、編集、再起動でセッションプレイしてみます。

返信する
案山子

追記

ひとまず
GameUserSettings.ini項目を追加、数値を設定し、コンテナの再起動をしてみた所、適用されていない感じでした…。

手っ取り早く見ることが出来るものとして、
saverPVE⁼True PVE設定
ShowFloatingDamageText=True ダメージ数値表示設定

を[ServerSettings]デフォルト項目の一番下に入力
コマンドを入力して値を設定するとデフォルト項目と同じく紫文字に変わり
ましたので保存、コンテナからarkにチェックマークを入れ、再起動を選択
arkmanager statusにてサーバー起動を確認、steam側で表示、お気に入り
サーバー追加を再度しないといけない形になっていたので改めて追加。

ARKtopからお気に入りセッション選択画面に表示されているモードが
PVPのままで友人に攻撃を加えた所、ダメージにより体力が減少。ダ
メージ表記無し

野生生物を攻撃した際も、与、被ダメージに数字表示は出ませんでした。

ゲーム内オプションにARKサーバー設定管理者コマンドログ 無効
と表示がありますが関係があるのでしょうか。

よろしくお願いします。

返信する
mimo mimo

私も同じようにGameUserSetting.iniの[ServerSettings]へ
・serverPVR=True
・ShowFloatingDamageText=True

を追加し、コンテナを再起動したところゲーム側に反映されました。

案山子さんはWindowsで編集したファイルをNAS側へ戻しているかと思われますので、もしかするとWindowsとLinuxの文字コードや改行コードの違いでうまく編集できていないかもしれません。

一度NAS上で.iniを編集してみてください。

QNAPのFileStationアプリで編集する場合は、
.iniファイルで右クリックし、「Text Editor」で開くを選択してください。
Text Editorのインストールを促されるので、インストール後、編集してみてください。

返信する
案山子

返信ありがとうございます。

File stationから直接編集を行ってみます。

自分で編集をしてみた時を顧み、もしかしたら原因になっているのかもという2点として。

1.GameUserSetting.ini内ServerSettings配下に
・serverPVE=True
・ShowFloatingDamageText=True
を入力する際に、web上から項目をコピーペーストしてしまった。

2.改行する際に、Enterと↓送りを混ぜてしまった。(ちゃんとEnter改行で統一していたかもしれません。)または、意図しない改行で空白欄を作ってしまった。(作ってない可能性も)

と確かにご指摘頂いた様な文字コード、改行コードに触れている可能性がありました。

早速、改めてiniファイル編集を手入力、Enter改行で統一、試して参ります。

追記として、steam側でARKupdateが入り友人がログインできなくなってしまったのですが、
コンテナの選択チェックマーク→再起動を実行することで、コンソール内でupdateの文字
が表示され、サーバー起動確認後、無事再ログイン出来るようになりましたのでNAS再起
動によるupdate適応という知識が付きました。重ねてありがとうございます。

返信する
案山子

連投失礼します。

できる限り注意を払って手入力してみましたが、やはり適用出来ておらず…。
ただ、また気になる部分がありましたので瑕疵部分なのかは分かりませんがご意見を頂ければ
幸いです。

コンテナのコンソール画面の一区画です。

Copying ARK tribe files
*.arktribe cp: cannot stat ‘/ark/server/ShooterGame/Saved/SavedArks/*.arktribe’: No such file or directory
cp: cannot stat ‘/ark/server/ShooterGame/Saved/SavedArks/*.arktribe’: No such file or directory
cp: cannot stat ‘/ark/server/ShooterGame/Saved/SavedArks/*.tmptribe’: No such file or directory
[ FAILED ]
Copying GameUserSettings.ini [ OK ]
Copying Game.ini [ OK ]
Compressing Backup [ OK ]
Created Backup: 2020-11-08_02.50.15.tar.bz2
No crontab set.

赤文字でFAILEDと記載されていました。

よろしくお願いします。

返信する
案山子

上記のコンソール画面 解決しました。

ini編集の方は相変わらず反映できず、半分諦めの境地に…。

iniの打ち込み編集以外で何か関係性のある設定は無いでしょうか…?

Ex、arkmanager.cfgを設定する、NAS側でアプリを追加する。等

また質問させていただければ幸いです。

Ts-253Beが対応していないという場合、Dも購入検討中です。

よろしくお願いします。

返信する
mimo mimo

私はTS-253Beを保有していないので、問題なくできる!という確証はありませんが、同じQNAPの64bit OS(QTS)なので、他のところに問題があると思います。

もしかすると、本当のGameUserSettings.iniを編集していないのでは?と思いました。
コンテナのコンソール端末にログインしていただいて、次のコマンドを入力してみてください。

cat server/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini

コマンド入力後、画面に表示されるテキストは、案山子さんが編集した.iniファイルで間違いないでしょうか?
「serverPVR=True」「ShowFloatingDamageText=True」は表示されているでしょうか。

返信する
案山子

手がかりをありがとうございます。

ご教示頂いた通りarkmanager に
cat server/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini
コマンドを入力し表示されたテキストに追加分の項目や値はなく、デフォルトのみでした。お恥ずかしい限りです。

しかし、
File station内Container\container-station-data\lib\docker\volumes\コンテナのボリューム名\_data\

_data内フォルダ
server  フォルダ
backup  フォルダ
staging フォルダ
log   フォルダ
template フォルダ
Game.ini       INIファイル 1B
GameUserSettings.ini INIファイル 5.05KB→5.36KB(追加項目)*
arkmanager.cfg    CFGファイル 3.25KB
crontab       ファイル   713B


TamingSpeedMultiplier=10.000000
XPMultiplier=5.000000
saverPVE=True
ShowFloatingDamageText=True
NightTimeSgale=4.000000
DayTimeSpeedScale=0.500000

file station内 PCからのNAS共有フォルダ内iniTextは上記項目が入力されている状態です。

本当のGameUserSettings.iniはまた別の場所に存在しているという事でしょうか?

編集する前にコンテナを停止し編集→再起動。作動した状態で編集→再起動
など、考えられる手順はいろいろ試しましたが、どれも反映される事はありませんでした。

エンコーディング:UTF-8が違うのか、TextEditorで編集後ファイルから保存
だけではだめなのか、名前を付けて保存やすべて保存という項目もあるので
そこがいけないのか。はたまた保存するだけではだめなのか。

という状態です。よろしくお願いします。

返信する
mimo mimo

/Container/container-station-data/lib/docker/volumes/コンテナのボリューム名/_data/
に置かれている.iniファイルは「シンボリックリンク」という、Windowsのショートカットファイルに近いものが置かれているだけです。

実際、ARK Managaerが起動時に読み込む.iniファイルは、
/Container/container-station-data/lib/docker/volumes/コンテナのボリューム名/_data/server/ShooterGame/Saved/Config/LinuxServer/
に保管された.iniファイルを読みます。

しかし、設定を編集する度に、上記の深い階層までたどり着くのは大変なので、Ark Managerは
/Container/container-station-data/lib/docker/volumes/コンテナのボリューム名/_data/ に、シンボリックリンク(ショートカット)を置いてくれている訳ですね。

本来であれば、このリンクファイルをTextEditorで開くとリンク先のファイルが編集される仕組みです。
おそらく案山子さんは、Windowsで.iniファイルを編集した際に、このリンクをペースト等で実際の.iniファイルで上書きしてしまったものと思われます。
※NASのファイルをWindowsから扱うときの失敗あるあるなので、気にすることはありません。

ひとまずは
/Container/container-station-data/lib/docker/volumes/コンテナのボリューム名/_data/server/ShooterGame/Saved/Config/LinuxServer/
内にある GameUserSettings.ini をTextEditorで編集いただくと、コンテナ再起動後はゲーム側に設定が反映されると思います。

案山子

早速の返信ありがとうございます。
なるほど、更に奥までアクセスした先のini Fileでしたか…!
最初のiniファイルを発見したのが嬉しくて思考停止状態でショートカットに編集を重ねては出来ない出来ないを繰り返していたのですね…。

早速試してみます!

返信する
案山子

mimo様、
無事ローカルサーバーにiniファイルを反映できるようになりました。
今日は友人もログイン出来、試してもらったところ、やっぱり変わるね。すごいね。と満足した様でした。

素人の質問に度々お時間を割いて頂き、本当にありがとうございます。

返信に時間を要した点として、severPVE=True設定が

cat server/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.iniに表記されている状態でもサーバー選択画面ではPVP表記のままという状態なのでいろいろと試していました。オプションTOPにはPvPvE状態だそうで、PVE+フレンドリーファイア無効設定で兼ね合いするという事なのかなと

seversetting.iniを徐々に追加しつつ確認していき、一通り確認した後、
Game.iniの方にも手を付けていこうと思います。

しばらくは設定の匙加減を探しつつ、ARKを楽しんでいこうと思います。

また、疑問点がありましたらコメント欄に失礼できればと思います。

返信する
mimo mimo

無事、当初目的を達成できたとのことで良かったです。

私はそこまで.iniをいじっていないので、ここから先は案山子さんの方が上手かと思います。

またサーバー関連でお困りごとがあれば、コメントいただけると幸いです。

返信する
案山子

mimo様

ご無沙汰しております。あれから楽しくARKをプレイさせてもらっています。

また、お時間を割いて頂くというのも、心苦しいのですが分かる範囲でまたお聞きできればなと参りました。

現在、NASにてIslandMAPをサーバーに作成しており、そろそろ他のMAPも、と欲が出てきてしまったのですがかつての通りにサーバーを追加で作成しようとしましたところ、詳細からのネットワーク項目のプロトコル設定が同一では赤枠表示となり、足りないTCP、UDP枠の追加も出来ない形なのですが、NAS1つにつき、設定できるサーバーは1つという形なのでしょうか?

よろしければご教示頂ければなと思います。

返信する
mimo mimo

ご無沙汰しております。
同じコンテナをもう一つ作成し、ホスト側のポートを最初に作成したコンテナ(ark-1)と重複しないようにずらしてあげれば良いのですが、私もなかなかうまくいきません。

しばらく粘ってみて、また報告いたします。

返信する
案山子

いつもありがとうございます。

作成時のコンテナネームを重複させないというのも大切なのですね。

Islandを消してまた1からでもいいからという意見もあるのですが、MAPの行き来もARKの魅力の1つなのでNASでも確立できれば、という気持ちです。

お忙しい中、申し訳ありませんがよろしくお願いできれば幸いです。

返信する
案山子

mimo様いつもお世話になっております。

あれからいろいろ試してみましたがやはりコンテナの複数制作は出来ず、試しに現在のMAPデータ(Island)を消去しコンテナ作成をすると最初の1つは開放ポートが重複していないため他MAPを導入することが出来ました。

MAPを逐一消去して遊ぶと割り切るのもいいかなと思っていますが、何か進展がございましたら幸いです。

よろしくお願いします。

返信する
mimo mimo

ご無沙汰しております。なかなか返信できずにすみません。
とりあえず、2つのコンテナでARKサーバーを動かすことには成功しました。ただし、この状態ではコンテナ同士がリンクしていないので、サーバー間を行き来することはできません。

並行運用のポイントとしてはコンテナで使用する、以下の3つのポート番号を別々にすることです。
・STEAMPORT
・STEAMPORT – 1
・SERVERPORT

デフォルトのコンテナ環境では、
・STEAMPORT : 7778
・SERVERPORT : 27015
となっており、実際にARKサーバーが外部との通信に使うポートは「7777,7778,27015」の3つであることはご承知かと思います。

したがって、2つめのコンテナは
・STEAMPORT : 7780
・SERVERPORT : 27016
の設定で構築すれば、ポートが重複せず運用ができます。STEAMPORTを+2するところがミソですね。
そのあたりのテクニックはこちらに詳しく書かれています。
https://ark.gamepedia.com/Dedicated_Server_Setup

また、同ポートのポートフォワードも必要ですので、コンテナのネットワーク設定にも手を加えてください。
最後にルーターのポート開放もお忘れなく。

2つ目のコンテナ(Ark-2)を作成した際の設定画面です。

▼コンテナ環境変数

▼ネットワーク設定

※ コンテナ作成後、どうしても無駄なポート(27015,7778)が開いてしまいますがルーターでポート開放しなければ特段問題ありません。

2つめのARKサーバーをSteamで追加する際は、「○○○○.myqnapcloud.com:27016」のアドレスを指定してください。

返信する
案山子

重ね重ねお時間を割いて頂きありがとうございます。

複数サーバー運用もひとまず出来るのですね。

MAP移動ができないのは残念ですが…。本当にありがとうございます。
ひとまずこの方法も試してみます。新しいMAPを体験できるのはありがたいです。
一つ質問なのですが、MAP移動という点において、

1.現在のサーバー(Island)のデータをバックアップしておく。
2.現キャラクターをアップロードする。
3.現在のサーバーのデータを初期化して新規MAPに作り新規MAPでキャラクター
 をダウンロードする。

という形式を踏むとやはりサーバー初期化の時点でキャラクターも消えてしまう
形になってしまいますか…?

MAP間移動できる方法は諦めないとダメでしょうか…

返信する
mimo mimo

先日案内したサーバーを複数立てる方法で、MAP間でのキャラクター・アイテム・恐竜のアップロードおよびダウンロードができることを確認しました。

どうも私が勘違いしていたようで、キャラクター等のデータをアップロードした場合、データはARKサーバー側ではなく、別の場所(Steamかな?)に保管されるようです。
試していませんが、案山子さん発案の方法でもいける気がします。

返信する
案山子

返信遅れて申し訳ありません。
MAP間でのやり取りができるという事で安心しました!

steamを経由している以上そちらに保管されていてもおかしくなさそうですね。

上記案山子案を試すにあたって結果はまたその際に報告させていただければとおもいます。

今件の関連ではあるのですが、いろいろとデータを弄る際に、File station内

/Container/container-station-data/lib/docker/volumes/コンテナのボリューム名/_data/server/ShooterGame/Saved/SavedArks

のをオートセーブ履歴から任意のARKファイル名前をTheIsland.arkにリネームすることで、ある程度のロールバックが可能であるという段階にはたどり着いたのですがFile stationでのセーブファイルをコピーしてバックアップとする場合と
コンテナを初期化してコピーしておいたセーブファイルをSavedArks内に再度移す過程について友人達のデータでもあるので予備知識無しで試す勇気がなくご教示頂ければ幸いです。

返信する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です