Killing Floor 2の専用サーバーは、2つのクセさえ知ってしまえば手間いらずです:configを編集する前に一度ブートしておく必要があること、そしてRCONがないのでWebパネルから管理すること。この2つを押さえれば、あとは5分で終わる設定です。ここにすべてまとめました。
サーバーをインストールする
KF2の専用サーバーはapp 232130で、匿名でインストールできます(Steamログイン不要、サーバーのアカウントにゲームを所有している必要はありません):
./steamcmd.sh +login anonymous \
+app_update 232130 validate \
+quit重要: validateは最初のインストール時にのみ使ってください。あとでもう一度app_update 232130 validateを実行すると、KFGame/ConfigのINIファイルが消えてしまいます。あとで更新するときはvalidateという語を外してください。
コツ:何かを編集する前に一度ブートしておく
KF2は初回ブート時にconfigファイルを再生成し、それ以前にそこへ置いたものをすべて上書きします。なので順番はこうです:インストール、一度ブート、停止、そのあとで編集。まずはデフォルトの引数で一度ブートしてください:
./Binaries/Win64/KFGameSteamServer.bin.x86_64 KF-BioticsLab「steam initialised」まで進んだら、Ctrl+Cで停止してください。これで編集するファイルが以下の場所に書き出されました:
<install>/KFGame/Config/サーバー設定:LinuxServer-KFGame.ini
KFGame/Config/LinuxServer-KFGame.iniを開いて、これらのキーを設定します。異なるセクションに分かれているので、各セクションの見出しを探してください:
[Engine.GameInfo]
GameDifficulty=1.000000 ; 0=Normal 1=Hard 2=Suicidal 3=Hell on Earth
MaxPlayers=6 ; see "six players" below
[Engine.AccessControl]
AdminPassword=pick-a-secret ; login for the web panel
GamePassword=friends-only ; leave blank for open, set to lock the server
[Engine.GameReplicationInfo]
ServerName=My Private KF2 Server
[KFGame.KFGameInfo]
GameLength=1 ; 0=short (4 waves) 1=medium (7) 2=long (10)Web Adminパネルを有効にする(KF2にRCONはありません)
KF2にはRCONが一切ありません。普段コンソールでやること、つまりプレイヤーのキック、マップ変更、ログの確認などはすべて、ブラウザで開くWeb Adminパネルで行います。これは初期状態では無効になっています。KFGame/Config/LinuxServer-KFWeb.iniで有効にしてください:
[IpDrv.WebServer]
bEnabled=true
ListenPort=8080サーバーが動き出したら、ブラウザでhttp://your.server.ip:8080を開き、上で設定したAdminユーザーとAdminPasswordでログインしてください。ファイアウォールで8080/TCPポートを開放してください。
起動コマンド
KF2はマップ、ゲームモード、ブートごとのオーバーライドをまとめたURL形式の引数を受け付け、さらにポート用のフラグをいくつか付けます:
./Binaries/Win64/KFGameSteamServer.bin.x86_64 \
KF-BioticsLab?Game=KFGameContent.KFGameInfo_Survival?Difficulty=1?GameLength=1 \
-Port=7777 -QueryPort=27015 -WebAdminPort=8080- KF-BioticsLabが初期マップです。任意のKF-マップ(KF-Outpost、KF-Nuked、KF-VolterManor…)に差し替えてください。
- Game=でモードを選びます:KFGameInfo_Survival(Co-op)、KFGameInfo_WeeklySurvival、KFGameInfo_VersusSurvival、またはKFGameInfo_Endless。
- URL内のDifficultyとGameLengthは、そのブートに限ってINIを上書きします。ファイルを編集せずにさっと変更したいときに便利です。
- ファイアウォールで7777/UDP(ゲーム)、27015/UDP(Steamクエリ)、8080/TCP(web admin)を開放してください。
唯一のコツ:6人のプレイヤー
バニラのKF2はサーバーを6人までに制限します。INIでMaxPlayersを6より大きく設定しても何も起きません:エンジンが6に戻します。これは意図されたCo-opの人数で、modは一切不要です。6人より多くしたいなら、サーバーmutator(人気のものは実際の上限をINIではなく起動URLの?MaxPlayers=の値から読み取ります)と、追加のプレイヤーにも相手にするZedがいるように対応する?MaxMonsters=が必要です。