ARK設定メモ

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

ARK: Survival Evolved 恐竜 召喚 コマンドビルダー

恐竜を召喚するコマンドを生成するページを作ってみました

※アルファ系、ボス系はテイムされていない状態で生成されますので気を付けてください。以下のコマンドでテイムは可能です。

admincheat forecetame

イベント系の恐竜は呼び出せませんでした。イベント期間中のみ?
1コマンドで完了できないときはサブコマンドが表示されます。


テイム済み
レベル指定

騎乗可能


v268追加フェニックス
v266追加カワウソ
メインコマンド
サブコマンド

Citadel: Forged With Fire Linux 個人サーバー設定メモ

Citadelバージョン:12342-2

最終的にGame.iniに以下の形で書き込みます。
変更しない設定も書いておいたほうがよさそうです。

[/script/citadel.socialmanager]
Password=citadel123

[/script/citadel.citadelgameinstance]
WorldCreationSettings=(ServerName="PrivateServer",Password="",ServerType=PVP,PlayerLimit=40,bPrivate=false,ExperienceMultiplier=1,InventoryCapacityMultipler=1,KnowledgePointEarnedMultiplier=1,CharacterPointEarnedMultiplier=1,bUnlimitedResources=false,PlayerDamageMultiplier=1,ArmorMultiplier=1,BaseManaRegen=0,InventoryCapacityMultiplier=1,bInventoryWeightRestrictions=true,MagicFindMultiplier=1,CraftingMagicFindChanceMultiplier=1,FlyingCostMultiplier=1,FlyingSpeedMultiplier=1,ResourceCollectionMultiplier=1,StructureDamageMultiplier=1,bRespectNoBuildZones=1,MagicStructureManaRegenerationMultiplier=1,MagicStructureManaConsumptionMultiplier=1,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1,StructureDecayMultiplier=1,bThronesDecay=true)

この部分は管理者パスワードの設定になります。
ゲーム内のadminコマンドを実行するときに必要になります。

[/script/citadel.socialmanager]
Password=citadel123


[/script/citadel.citadelgameinstance]以下の部分

設定名 設定例 機能
ServerName "PrivateServer" サーバーの名前
Password "" サーバーにログインするパスワード
ServerType PVP PvPかPvE
PlayerLimit 40 サーバーに入れる人数
bPrivate false 公式サーバーかどうか。機能しない
ExperienceMultiplier 1 経験値倍率 10=10倍
InventoryCapacityMultipler 1 手持ちの重量倍率?機能しないようだ
KnowledgePointEarnedMultiplier 1 レベルアップ時に貰える知識ポイント倍率
CharacterPointEarnedMultiplier 1 レベルアップ時に貰えるスキルポイント倍率
bUnlimitedResources false 資源を無制限にする。機能してないようだ
PlayerDamageMultiplier 1 プレイヤーの攻撃力倍率。高いほど威力が上がる
ArmorMultiplier 1 被ダメージ倍率。高いほど受けるダメージがあがる
BaseManaRegen 0 マナ回復量
InventoryCapacityMultiplier 1 手持ちの重量倍率?機能してないようだ
bInventoryWeightRestrictions true インベントリ重量制限。機能してないようだ
MagicFindMultiplier 1 ?機能してないようだ
CraftingMagicFindChanceMultiplier 1 機能してないようだ
FlyingCostMultiplier 1 飛行時の消費マナ。機能してないようだ
FlyingSpeedMultiplier 1 飛行速度倍率
ResourceCollectionMultiplier 1 リソースからの取得の倍率
StructureDamageMultiplier 1 建築物へのダメージ倍率。機能してないようだ
bRespectNoBuildZones 1 ?機能してないようだ
MagicStructureManaRegenerationMultiplier 1 ?機能してないようだ
MagicStructureManaConsumptionMultiplier 1 ?機能してないようだ
bFreeBuildMode false フリービルドモードを有効にする。機能してないようだ
TimeOfDayLock Auto, Midnight, Sunrise, Sunset, Noon 時間の固定
NPCPopulationMultiplier 1 NPCの出現倍率。機能してないようだ
StructureDecayMultiplier 1 建物の減衰倍率。機能してないようだ
bThronesDecay true 玉座の減衰?機能してないようだ

Citadel: Forged With Fire Linux 個人サーバー インストールメモ

※自己責任でお願いします。頻繁にいじるので自分用メモ

参考元
Dedicated Server Setup Guide [UPDATED TO INCLUDE DECAY SETTINGS] :: Citadel: Forged With Fire General Discussions

Official Unofficial Dedicated Server Setup Guide [WIP] :: Citadel: Forged With Fire General Discussions



実行環境

WebArena http://web.arena.ne.jp/vps-cloud/
こちらの6GBプラン

OS:CentOS7
Citadelバージョン:12342-2

での情報です。

サーバー要件

Windows用のものしか見つからなかった。Linuxでも同等?
4core以上のCPU(2coreフルで使う?)
最低 6GBのメモリ(最大15GB使う)
起動しただけでメモリ80%,CPU55% 複数人ログインでどうなるのか不明・・

ポートの開放

サーバーは、以下にリストされたポートで接続を待ち受けます。

ポート 目的 補足
UDP 27015 スチームサーバーブラウザーのクエリーポート 必須
UDP 7777 ゲームクライアントポート 必須?
UDP 7778 UDP Raw ポート(ゲームクライアントポート + 1) (任意)
TCP 27020 RCON用のポート (任意)


ポートを開放し、設定を反映させます。

#firewall-cmd --permanent --add-port=27015/tcp
#firewall-cmd --permanent --add-port=27015/udp
#firewall-cmd --permanent --add-port=7777/tcp
#firewall-cmd --permanent --add-port=7777/udp
#firewall-cmd --reload
'設定できているか確認
#firewall-cmd --list-all

必要なライブラリのインストール

インストールはSteamCMDを使って行います。
64ビットLinuxサーバでは、steamcmdのインストール/実行に32ビットのバイナリが必要ですのでインストールします。

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

SteamCMD、Citadelのインストール


以下の設定と想定してインストール設定を書きます。

設定名
CentOSのユーザー名 steam
SteamCMDインストールディレクト /home/steam/Steam
Citadelインストールディレクト /home/steam/Steam/Citadel

ユーザーの作成、ディレクトリの作成

#useradd steam
#passwd steam
#su - steam
$mkdir Steam
$mkdir Steam/Citadel

SteamCMDのダウンロードと起動

$cd Steam
$curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
$./steamcmd.sh +login anonymous +force_install_dir Citadel +app_update 489650 validate +quit
匿名ログイン +login anonymous
インストールディレクトリの指定(相対パスなので別な場合はフルパス入れるなり) +force_install_dir Citadel
指定サーバーのインストール(validate付与するとファイルチェックする) +app_update 489650 validate
終了 +quit

app_update 489650 validate を実行するとダウンロードが始まります。



steamclient.soのコピー
SteamCMDのディレクトリからCitadel/Plugins/UWorks/Source/ThirdParty/Linux/内にコピー

$cp /home/steam/Steam/linux64/steamclient.so /home/steam/Steam/Citadel/Citadel/Plugins/UWorks/Source/ThirdParty/Linux/

ファイルの実行権限の設定

chmod -R a+w,a+x /home/steam/Steam/Citadel/Citadel/Saved/SaveGames
chmod -R a+w,a+x /home/steam/Steam/Citadel/Citadel/Plugins/UWorks/Source/ThirdParty/Linux


サーバーのセーブデータがないので一度起動します。

$cd Steam/Citadel/
$./CitadelServer.sh
'数分後に Ctrl+c 同時押しで停止

/home/steam/Steam/Citadel/Citadel/Saved/Config/LinuxServer内にiniファイルができているはずなので
とりあえずひつようになりそうなものの設定
8/10追記
変更したい設定のみ書いて起動したところ木、石等を拾えなくなりました。
デフォルトの設定でも下のようにすべて書いていたほうがよさそうです。

[UWorks]
ConnectionPort=7777
QueryPort=27015

[/script/citadel.socialmanager]
Password=citadel123

[/script/citadel.citadelgameinstance]
WorldCreationSettings=
(ServerName="PrivateServer",Password="",ServerType=PVP,PlayerLimit=40,bPrivate=false,ExperienceMultiplier=1,InventoryCapacityMultipler=1,KnowledgePointEarnedMultiplier=1,CharacterPointEarnedMultiplier=1,bUnlimitedResources=false,PlayerDamageMultiplier=1,ArmorMultiplier=1,BaseManaRegen=0,InventoryCapacityMultiplier=1,bInventoryWeightRestrictions=true,MagicFindMultiplier=1,CraftingMagicFindChanceMultiplier=1,FlyingCostMultiplier=1,FlyingSpeedMultiplier=1,ResourceCollectionMultiplier=1,StructureDamageMultiplier=1,bRespectNoBuildZones=1,MagicStructureManaRegenerationMultiplier=1,MagicStructureManaConsumptionMultiplier=1,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1,StructureDecayMultiplier=1,bThronesDecay=true)
名前 効果
Password(socialmanager) 文字列 管理者パスワード
ServerName 文字列 サーバーの名前
Password(citadelgameinstance) 文字列 ログイン時のパスワード
ServerType PvP PvE ゲームシステム(PvPにすると対人)
PlayerLimit 数値 最大接続数

ログイン方法

ゲームを起動してINTERNETを選択すると出てくると思います。


systemctlによる自動起動

サーバー再起動時、自動で起動するようにsystemctlに登録します。

まず起動設定ファイルを作ります。

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

ファイルの内容を以下のようにします。

[unit]
Description=Citadel Dedicated Server
Wants=network-online.target
After=syslog.target network.target nss-lookup.target network-online.target

[Service]
ExecStartPre=/home/steam/Steam/steamcmd.sh +login anonymous +force_install_dir Citadel +app_update 489650 +quit
ExecStart=/home/steam/Steam/Citadel/CitadelServer.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s INT $MAINPID
User=steam
Group=steam

[Install]
WantedBy=multi-user.target

個人の環境に合わせて変更する場合はここら辺です。

パラメータ 内容
ExecStartPre 起動前に実行される処理
ExecStart 起動処理
LimitNOFILE 上限ファイルオープン数の指定
ExecReload リロード時の処理
ExecStop 停止時の処理
User 起動するCentOSのユーザーを指定する
Group 起動するCentOSのグループを指定する

設定を反映させる。

#systemctl daemon-reload

自動起動をONにする

#systemctl enable citadel-dedicated.service

Citadelの起動

#systemctl start citadel-dedicated.service

Citadelの停止

#systemctl stop citadel-dedicated.service

サーバーのアップデート

systemctlなら起動時にアップデートする・・はず

手動でのアップデートはsteamcmd.shのあるディレクトリでこの一行

$./steamcmd.sh +login anonymous +force_install_dir Citadel +app_update 489650 +quit

ARK:Survival Evolved コンソールコマンド 一覧

Google翻訳メイン ↓ソース
Console Commands - Official ARK: Survival Evolved Wiki

2017/9/5 恐竜を召喚するコマンドを生成するページを作ってみました
ARK 恐竜生成 コンソールコマンドビルダー テスト - ARK設定メモ

基本

EnableCheats <パスワード>

管理者コマンドを有効にする

EnableCheats pass123
ShowMyAdminManager

管理者用GUIを開きます。これにより、多数の便利な管理者用の項目に簡単にアクセスできます

ShowMyAdminManager

サーバー関係

プレイヤー関係

アイテム、建物、恐竜関係

その他

ARK The Island 洞窟の場所 一覧

f:id:arknut:20170512212938p:plain

各洞窟の特徴

洞窟名 気温 敵の強さ ペットの可否 推奨装備 備考
大物 42℃ 弱め 小型可 フック・ギリースーツ 熱い。落下有り。
狩人 5℃ 小型可 毛皮装備 洞窟の中では難易度は低めだと思われる。
強者 -18℃ かなり強い 不可 フック・ピッケル・高品質の毛皮装備 防虫剤・フリアカレー・回復薬などもあると便利。
群集 -5℃ 途中まで可 毛皮装備・スキューバ装備 途中から水中を泳いで進む。迷路のように入り組んでいる。
賢者 5℃ 弱い 小型可 毛皮装備 洞窟の中では難易度は低めだと思われる。
狡猾 8℃ かなり強い 推奨 キューバ装備 海中にあるため水棲生物推奨。入口周りに大きな水草がある。
天帝 -12℃ 不可 フック・毛皮装備 落ちる所が多数あるため、足元に注意。
暴食 -5℃ 弱め 小型可 フック・毛皮装備 入口に水があるが泳いでいける。高低差がかなりあるため注意。アスレチック
免疫 26℃ 強い 小型可 ガスマスク・ギリースーツ Lv200越えが大量にいる。
野獣 9℃ 推奨 キューバ装備 深海にあるため水棲生物推奨。入口周りに大きな水草がある。

ARK 個人サーバー 設定メモ

Google翻訳メイン ↓ソース
Server Configuration - Official ARK: Survival Evolved Wiki

とりあえずわかるところだけコマンドライン引数とGame.iniも追加するかも

コマンドライン引数

ほぼGoogle翻訳

./ShooterGameServer TheIsland?listen?ServerCrosshair=True?MapPlayerLocation=True?AllowThirdPersonPlayer=True?MaxStructuresInRange=100 -UseBattlEye

上のように指定する。
?で始まるのはGameUserSetting.iniでも設定できるかも・・?
よくわからんのとか、やばそうなのは分けてある。

引数 Platform 効果
?AllowAnyoneBabyImprintCuddle=true 誰もが赤ちゃんの恐竜(抱擁など)を「世話する」ことができるようにするには、これを使用します。
?AllowCrateSpawnsOnTopOfStructures=true 構造物によって妨げられるのではなく、空気の供給箱を構造物の上に表示することができるようになりました。
?AllowFlyerCarryPvE=true PvEのフライヤーは野生の恐竜を運ぶことができます。
?AllowFlyingStaminaRecovery=false プレーヤーが立っているときにライダーがスタミナを回復する必要がある場合は、trueに設定します。
?AllowMultipleAttachedC4=false 恐竜ごとに複数のC4を接続できるようにするには、trueに設定します。
-automanagedmods All 自動MODのダウンロード/インストール/アップデート。詳しくはARK Linux個人サーバー Modの導入方法2 - ARK設定メモ
?ClampItemSpoilingTimes=true すべての腐敗する時間をアイテムの最大腐敗時間にクランプする。腐敗の時間を変えるModで問題を引き起こす可能性があります。
?DestroyUnconnectedWaterPipes=true All リアルタイムで2日後にパイプが非パイプに(直接的または間接的に)接続されておらず、同盟のプレイヤーが近くにいない場合、パイプは自動的に破壊されます。
?EnableExtraStructurePreventionVolumes=true All これを使用して、特定の資源に富んだ地域、特に主要な山々の周辺のアイランドでの設定を完全に無効にします。
?FastDecayUnsnappedCoreStructures=true アンブッキングされた土台/柱が5倍速で腐敗します。
-ForceAllowCaveFlyers All フライヤー恐竜を洞窟に入れることを許可する。
?ForceFlyerExplosives=true All QuetzalとWyvernはそれにC4をつけて飛行することはできません。飛行させるにはこのパラメータをtrueに設定してください
-ForceRespawnDinos All 再起動時にすべての野生恐竜をリスポーンする。ペットは含まない
-gameplaylogging All Fittestサーバーの起動は、このコマンドラインオプションを使って開始することができます。\ Savedフォルダに日付付きログファイルを出力します。タイムスタンプ付きkill&winnersログにはSteamID、Steam名、キャラクター名などが記録されます。
-MapModID=######### All 専用サーバーでは、この構文を使用してマップ名を直接指定する必要はなく、ModIDを介してカスタムマップをオプションで読み込むことができます
?MaxPersonalTamedDinos=Number 部族ごとの恐竜の制限を有効にします。 (公式サーバーで500)
?MinimumDinoReuploadInterval=xxxx All 許可された恐竜の再アップロード間の秒数(デフォルトは0、公式サーバでは43200に設定されています。これは12時間です)。
-nofishloot All フィッシングロッドを使用する場合は肉以外のものを無効にするパッチ245.9に導入
?NonPermanentDiseases=true 病気を永続させません。
?OverrideStructurePlatformPrevention=true このオーバーライドを使用すると、タレットまたはスパイク構造をプラットフォームのサドル上に構築して機能させることができます。パッチ247.999
?PreventDiseases=true これにより、サーバー上の病気は完全に無効になります。
?PvPDinoDecay=true Offline Raiding Preventionがアクティブな間に恐竜が腐敗するのを防ぐには、trueに設定します。
?PvPStructureDecay=true Offline Raiding Preventionがアクティブな間に構造が減衰するのを防ぐには、trueに設定します。
-server ? ?
-servergamelog All "RCONコマンド ""getgamelog""を使用して一度に100エントリを出力し、 ""\ Logs""の日付ファイルに出力し、コマンドラインでRCONバッファの最大長を調整する"
-ServerRCONOutputTribeLogs グローバルチャットに加えて、部族チャットをrconに表示できるようにします。
?TribeLogDestroyedEnemyStructures=true デフォルトでは(犠牲者部族のための)敵の構造物破壊は部族ログには表示されません。これを有効にするにはtrueに設定します。
-usecache All "〜70%高速のローディング速度オプション。 ""Experiment Fast Load Cache""起動オプションを選択します(起動コマンドラインに手動で ""-usecache""を追加してください)。 1回目と2回目以降はゲームを開始し、負荷はまだまだ遅くなりますが、3回目以降は速くなります。これは、PrimalDataに対してデフォルトで追加された188.2の時点で非難されるかもしれません。また、すべてのマップに追加されることになっていましたが、これが発生したかどうかは明らかにされていません。"


GameUserSetting.ini一覧

設定ファイルは以下のPath

ShooterGame/Saved/Config/LinuxServer/GameUserSetting.ini

[ServerSettings]
ServerCrosshair=True
AllowThirdPersonPlayer=True
MapPlayerLocation=True
MaxStructuresInRange=100

のように追加する

設定名 値タイプ デフォルト 効果
map_name string None (コマンドライン引数でのみ指定できます。)マップを選択する。現在は TheIsland、TheCenter、ScorchedEarth_Pのどれか
AllowCaveBuildingPvE boolean FALSE Trueに設定すると、PvEモードも有効になっているときに洞窟内に建物を作ることができます。 (パッチ194.0)
AllowFlyerCarryPvE boolean FALSE PVEの場合、空を飛ぶ恐竜がほかの恐竜やプレイヤーを拾うことができます。
allowThirdPersonPlayer boolean FALSE 3人称視点を許可するかどうか
alwaysNotifyPlayerJoined boolean FALSE 誰かがサーバーに参加した場合、プレイヤーに通知されます。
alwaysNotifyPlayerLeft boolean FALSE 誰かがサーバーから離脱した場合、プレイヤーに通知されます。
AutoSavePeriodMinutes float 15 サーバーデータの自動保存の間隔を設定する
BanListURL URL BANリストを取り込みます。公式のグローバル禁止リストを使用するか、必要なオンライン禁止リストを参照してください。二重引用符で囲む必要があります。 (パッチ201.0)
DayCycleSpeedScale float 1 1日の長さを決めます。値が1の時、実時間28分でゲーム内時間の1日になります。値が小さいほど1日のサイクル遅くなり、0.035にすると実時間とゲーム内時間が進みが近くなります。
DayTimeSpeedScale float 1 日中のARKにおける時間経過の係数を指定します。この値は、各夜の長さ(NightTimeSpeedScaleで指定された長さ)を基準にして、各日の長さを決定します。この値を下げると、毎日の長さが長くなります。
DifficultyOffset float 0.2 難易度を指定します。詳細は別ページ
DinoCharacterFoodDrainMultiplier float 1 恐竜の食物消費の倍率を指定します。値が高いほど食物消費量が増加します(恐竜は空腹が早くなります)。テイム時間にも影響します。
DinoCharacterHealthRecoveryMultiplier float 1 恐竜の健康回復の倍率を指定します。値が高いほど回復率が高くなります(恐竜は速く治癒します)。
DinoCharacterStaminaDrainMultiplier float 1 恐竜のスタミナ消費の倍率を指定します。値を高くするほどスタミナの消費量が増加します(恐竜は速く疲れます)。
DinoCountMultiplier float 1 恐竜の産卵の倍率を指定します。値が高いほど、ARK全体で産卵する恐竜の数が増えます。
DinoDamageMultiplier float 1 恐竜の攻撃力倍率。値を大きくするほどダメージが大きくなります。値を小さくすると値が小さくなります。
DinoResistanceMultiplier float 1 恐竜が攻撃されたときに受けるダメージに対する抵抗力の倍率を指定します。
DisableDinoDecayPvE boolean FALSE 所有している恐竜が徐々に(7日間)減衰するのを無効にする。
DisableStructureDecayPvE boolean FALSE プレーヤーの建築物が徐々に(7日間)減衰するのを無効にする
globalVoiceChat boolean FALSE ボイスチャットがグローバルになる
HarvestAmountMultiplier float 1 採取の収穫量の倍率。値が大きいほど1回にとれる数が増える
HarvestHealthMultiplier float 1 採取物の耐久値の倍率。値が大きいほど耐久力が増える。
listen N/A None (コマンドライン引数でのみ指定可能) ほかのプレイヤーからの接続を受け付ける。マルチプレイヤーサーバーでは必須。
MaxPlatformSaddleStructureLimit integer unknown プラットフォームサドルに設置できる建築物の最大数。
MaxPlayers integer 70 サーバーに入れる最大数。 [/script/engine.gamesession] の下に置く必要があります。
MaxStructuresInRange integer Unknown 特定の範囲内に建築できる構造物の最大数を指定します。
NightTimeSpeedScale float 1 夜間の時間経過の係数を指定します。
noTributeDownloads boolean FALSE ほかのサーバーからのキャラクターデータのダウンロードを無効にする。
NPCNetworkStasisRangeScalePercentEnd float ?
NPCNetworkStasisRangeScalePlayerCountEnd ?
NPCNetworkStasisRangeScalePlayerCountStart ?
PerPlatformMaxStructuresMultiplier float 1 ?プラットフォーム上の構造の制限を増やす。この値を増やすと、サーバーのパフォーマンスが低下する可能性があります。
PlayerCharacterFoodDrainMultiplier float 1 プレイヤーキャラクターの摂食量の倍率。値を大きくするほど、食べ物の消費量が増えます
PlayerCharacterHealthRecoveryMultiplier float 1 プレイヤーキャラクターの健康回復の倍率を指定します。値が高いほど回復率が高くなります
PlayerCharacterStaminaDrainMultiplier float 1 プレイヤーキャラクターのスタミナ消費の倍率を指定します。値を高くするほどスタミナの消費量が増えます
PlayerCharacterWaterDrainMultiplier float 1 プレイヤーキャラクターが水を消費するための倍率を指定します。値を大きくするほど水の消費量が増えます
PlayerDamageMultiplier float 1 プレイヤーの攻撃力の倍率を指定します。値が増えるほど与ダメージが増えます。
PlayerResistanceMultiplier float 1 プレイヤーの防御力の倍率を指定します。値が増えるほど被ダメージが増えます。
proximityChat boolean FALSE 近くにいるプレイヤーだけがチャットメッセージを見ることができます
PvEDinoDecayPeriodMultiplier Unknown 1 ... (since 206.0)
PvEStructureDecayDestructionPeriod Unknown 0 PvEモードでプレイヤーの建築物が減衰するのに必要な時間を指定します。この執筆時点では、このオプションの特定の効果と有効な値の範囲は不明です
PvEStructureDecayPeriodMultiplier float 1 PvEモードでのプレーヤー建築物の減衰率の倍率を指定します。この執筆時点では、このオプションの特定の効果と有効な値の範囲は不明です。
PvPStructureDecay boolean FALSE PvPサーバーの建築物の減衰を無効にします。
ResourcesRespawnPeriodMultiplier float 1 リソースの再生成時間倍率。値が小さいほど頻繁に再生成されます。
ServerAdminPassword string None 管理者用のパスワード
serverForceNoHud boolean FALSE HUBを常に無効にします。
serverHardcore boolean FALSE ハードコアモードを有効にする(プレイヤーキャラクターは死亡時にレベル1に戻る)
ServerPassword string None 指定されている場合、プレイヤーはこのパスワードを入力してサーバーに参加する必要があります。
serverPVE boolean FALSE "FALSEを指定するとPvPモード、 TRUEを指定するとPvEモード"
ShowMapPlayerLocation boolean FALSE 地図を表示したときに各プレイヤーに正確な位置を示す
SpectatorPassword string None 管理者以外の観客を使用するには、サーバーが観客のパスワードを指定する必要があります。どのクライアントもこれらのコンソールコマンド:requestspectator を使用して停止することができます。詳細とホットキーについては、パッチ191.0を参照してください。
StructureDamageMultiplier float 1 建築物の攻撃力の倍率を指定します。値が大きくなるほどダメージが大きくなります。
StructureResistanceMultiplier float 1 建築物の防御力の倍率を指定します。値が大きくなるほどダメージが大きくなります。
TamingSpeedMultiplier float 1 テイムスピードの倍率を指定します。
TributeCharacterExpirationSeconds integer 86400 アップロードされた生存者の有効期限を設定します。
TributeDinoExpirationSeconds integer 86400 アップロードされた恐竜の有効期限を設定します。
TributeItemExpirationSeconds integer 86400 アップロードされたアイテムの有効期限を設定します。
XPMultiplier float 1 経験値倍率。

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

※自己責任でお願いします。頻繁にいじるので自分用メモ

主に↓を参考にしてます。英語読める方はこのページ呼んだほうがいいかも?
http://ark.gamepedia.com/Dedicated_Server_Setup


実行環境

WebArena http://web.arena.ne.jp/vps-cloud/
こちらの6GBプラン

OS:CentOS7
ARKバージョン:256.21

での情報です。

前提条件

64bitOSが必要。Serverは、64bitの実行ファイルなので32bitでは実行できません。プログラムのテストはUbuntu 14.04で行っている。

ハードウェア要件

開始するには、サーバーに少なくとも6GBのRAMが必要です。接続されたプレーヤーの数が増えるにつれて、メモリ要件が増加します。Linuxでは、インストールを行わずに3.2GBのRAMを使用します。

上記のハードウェア構成でログイン0人のとき、CPU使用率15%、メモリ使用率60%ほど
2人ログインでCPU使用率40%、メモリ使用率は60%と変わりありませんでした。
建築物やテイムした恐竜が増えればそれだけメモリ使用率等も上がると思います。



ポートの開放

サーバーは、以下にリストされたポートで接続を待ち受けます。

ポート 目的 補足
UDP 27015 スチームサーバーブラウザーのクエリーポート 必須
UDP 7777 ゲームクライアントポート 必須?
UDP 7778 UDP Raw ポート(ゲームクライアントポート + 1) (任意)
TCP 27020 RCON用のポート (任意)


ポートを開放し、設定を反映させます。

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

必要なライブラリのインストール

ARKサーバーのインストールはSteamCMDを使って行います。
64ビットLinuxサーバでは、steamcmdのインストール/実行に32ビットのバイナリが必要ですのでインストールします。

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

ファイルオープン数の上限を変更

サーバープログラムのファイルオープン数がデフォルト値を上回るみたいです
この変更をしないとゲームサーバーが正常に起動しない可能性があります。サーバーが起動しているように見えても、必要なファイルをすべて開くことができないことがあります。


まずOSのファイルオープン数を変更します。

#vim /etc/sysctl.conf

以下の行を追加します。

fs.file-max=100000

設定を反映させて、確認します。

#sysctl -p /etc/sysctl.conf
fs.file-max = 100000

#ulimit -n
1000000

次に1プロセスのファイルオープン数を変更します。

#vim /etc/security/limits.conf

以下の内容を追加します。

*               soft    nofile          1000000
*               hard    nofile          1000000

変更を適応します。

session required pam_limits.so

※後述のsystemdを使用して専用サーバーを起動する場合は適用されません。そちらはsystemdの起動設定にて変更します。



SteamCMD、ARKのインストール


以下の設定でインストール設定を書きます。

設定名
CentOSのユーザー名 steam
SteamCMDインストールディレクト /home/steam/Steam
ARKインストールディレクト /home/steam/Steam/ark

ユーザーの作成、ディレクトリの作成

#useradd steam
#passwd steam
#su - steam
$mkdir Steam
$mkdir Steam/ark

SteamCMDのダウンロードと起動
(2017/8/8 リンクミス修正)
$curl -sqL 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz' | tar zxvf -

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

Steam> と出てくるので以下のように入力

Steam> login anonymous
Steam> force_install_dir ark
Steam> app_update 376030 validate
Steam> exit

上から、匿名ログイン、インストールディレクトリの指定、指定サーバーのインストール、終了
app_update 376030 validate を実行するとARKのダウンロードが始まります。
途中エラーで止まることがありますが、もう一度、app_update 376030 validateを実行すればいけました。

ここまでで、サーバー自体は起動できるようになります。
起動コマンドは↓です。下表の3つの部分を自分好みに書き換えてください。

$cd Steam/ark/ShooterGame/Binaries/Linux/
$./ShooterGameServer TheIsland?listen?SessionName=<server_name>?ServerPassword=<join_password>?ServerAdminPassword=<admin_password> -server -log
server_name 表示されるサーバー名
join_password ログインパスワード
admin_password 管理者パスワード

サーバーを初めて実行するときは、自動でShooterGame / Savedという名前のフォルダーが作成されます。サーバーが少なくとも1回は実行されているが、このフォルダーが作成されていない場合は、そこに新しいフォルダーとファイルを作成できなかった可能性があります。サーバーがインストールされているフォルダーが、実際にサーバーを実行しているユーザーアカウントによって読み書き可能であることを確認します。
また、デフォルトでは、サーバーソフトウェアは15分ごとに世界のデータを自動的に保存するように設定されています。最初の15分が経過する前にサーバーが落ちた場合、データは保存されません。

ログイン方法

WindowsのSteamクライアントより

表示 - サーバーを選択
f:id:arknut:20170405125910p:plain

お気に入り - サーバーを追加 - IPの入力 - 追加
f:id:arknut:20170405125925p:plain


ゲームを起動して、サーバーフィルターでお気に入りを選択すると出てきます。

systemctlによる自動起動

サーバー再起動時、自動で起動するようにsystemctlに登録します。

まず起動設定ファイルを作ります。

#cd /etc/systemd/system/
#vim ark-dedcated.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/steam/Steam/steamcmd.sh +login anonymous +force_install_dir ark +app_update 376030 +quit
ExecStart=/home/steam/Steam/ark/ShooterGameServer TheIsland?listen?SessionName=<server_name>?ServerPassword=<join_password>?ServerAdminPassword=<admin_password> -server -log
LimitNOFILE=100000
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s INT $MAINPID
User=steam
Group=steam

[Install]
WantedBy=multi-user.target

個人の環境に合わせて変更する場合はここら辺です。

パラメータ 内容
ExecStartPre 起動前に実行される処理
ExecStart 起動処理
LimitNOFILE 上限ファイルオープン数の指定
ExecReload リロード時の処理
ExecStop 停止時の処理
User 起動するCentOSのユーザーを指定する
Group 起動するCentOSのグループを指定する

設定を反映させる。

#systemctl daemon-reload

自動起動をONにする

#systemctl enable ark-dedicated.service

ARKの起動

#systemctl start ark-dedicated.service

ARKの停止

#systemclt stop ark-dedicated.service

※デフォルトでは、サーバーソフトウェアは15分ごとに世界のデータを自動的に保存するように設定されています。15分が経過する前にサーバーがクラッシュした場合、データは保存されません。

サーバーのアップデート

systemctlなら起動時にアップデートする・・はず

手動でのアップデートはsteamcmd.shのあるディレクトリでこの一行

$./steamcmd.sh +login anonymous +force_install_dir ark +app_update 376030 +quit

サーバーのバックアップ

ShooterGame/Savedにすべてのファイルがあるのでこれを保存しておく。

$cd Steam/ark/ShooterGame/
$zip -r backup.zip Saved