サーバー運営ガイド

Last-modified: 2016-11-20 (日) 00:35:49

ここではChivalryの専用サーバー(Dedicated Server)の運営方法について説明します。
前提としてWindowsのコマンドプロンプトの操作を理解している人が対象です。
また、サーバーを公開するためにはポート解放の知識や権限が必要です。
公式フォーラムでも2月1日のアップデートに対応したガイドが掲載されました。

 

PCとOSと回線の選択

PC

1番重要なのはCPUだと思われます。
大人数のサーバーを運営するつもりなら、なるべくCPUパワーがあるマシンが望ましいです。
サーバー内のプレイヤー数が増えるごとにCPU負荷が上昇していきます。
メモリの消費はそれほどでもありません。大人数のサーバーでも4Gもあれば十分かと思われます。
GPUもオンボードで十分です。

OS

「Chivalry: Medieval Warfare」は「UDK(Unreal Development Kit)」で制作されています。
そして現在のバージョンのUDKはLinux版サーバーをサポートしていません。
したがってChivalryのサーバーもWindows版のみのサポートになります。
Linux上でもWINEというソフトを通してWindows版サーバーを動かせる可能性はありますが、筆者の環境ではうまく動きませんでした。
また、うまく動いたとしてもCPU負荷はさらに上がると思います。
上記の理由から、特別な事情がない限りWindowsを選択するのが無難です。

回線

できれば光回線が望ましいでしょう。
重要なのはPingとアップロード帯域ですが、アップロード帯域は10Mbpsほどあれば大人数サーバーでも余裕があると思われます。

サーバープログラムのダウンロードとインストール

Steamクライアントからもダウンロードとインストールはできますが、ここではWindows版のSteamCMDを使った方法で説明します。

SteamCMD

SteamCMDとはサーバー専用のダウンロードソフトのようなものです。
まずValve Developer CommunityからSteamCMDをダウンロードします。
上記のリンクからページを開き、Windows Installerと書かれたリンクからダウンロードしてください。
インストーラは付属していないので任意のフォルダに解凍するだけですが、実行すると付属のファイルが自動で多数ダウンロードされるので、必ずSteamCMD用のフォルダに解凍してください。
ここでは例として「C:\steamcmd」に解凍したものとして話を進めます。

サーバープログラム

SteamCMDを利用するのにもSteamのアカウントが必要です。
普段使ってるアカウントを利用してSteamCMDでログインした場合、他のSteamクライアントからは自動でログアウトしてしまいます。
サーバープログラムはゲームを所有していないアカウントでもダウンロードできるので、サーバー専用のアカウントを新規に登録するのをおすすめします。
また、SteamCMDでログインする必要があるのはサーバーのダウンロード時やアップデート時のみで、普段の運用時はログインする必要がありません。
その時だけなら問題ないという方は、普段のアカウントをそのまま利用しても大丈夫です。

 

SteamCMDはCUIプログラムです。
「C:\steamcmd」のフォルダを開き「steamcmd.exe」をダブルクリックして起動し、SteamCMD自身のダウンロード及びアップデートを実行します。
コマンドプロンプトのウィンドウが開いて「Steam>」と表示されたらアップデートは完了です。

 

次にSteamのアカウントでログインします。

login <username> <password>

アカウントの設定でSteamガードを有効にしていた場合、初めてのログイン時はエラーが出るはずです。
その場合アカウントに設定してあるメールアドレスにコードが送られて来るはずなので、下記のようにしてログインし直します。

login <username> <password> <steam guard code>

これは最初の1回のみで、以降はサーバーのPCをアカウント側で記憶しますのでコード無しでログインできます。
無事ログイン出来たらサーバーのプログラムをどこにインストールするか指定します。

force_install_dir <path>

ここでは例として「C:\steamcmd\chivalry_ds」にインストールすることにします。

force_install_dir c:\steamcmd\chivalry_ds\

次にサーバープログラムのダウンロードを行います。

app_update <app_id>

このコマンドでダウンロードされるのですが、この「app_id」とはゲームごとに振り分けられた固有の数字になっています。
Chivalryの場合は「220070」と決まっており、アップデートなどにより変わることはありません。
よってコマンドは以下のようになります。

app_update 220070

色々メッセージがでてくると思いますが、終わるまでまちましょう。
サーバープログラムのアップデート時も同様の手順で実行できます。
すべて終わったら必ずコマンドで終了させます。閉じるボタンやCtrl+Cではだめです。

exit

これを怠るとサーバーをうまく実行できないなどの不具合がでる可能性がありますので忘れずに。

サーバーの設定

次にサーバーの設定を変更していきます。
例の通りにインストールしているのであれば「C:\steamcmd\chivalry_ds\UDKGame\Config」にある「PCServer-UDKGame.ini」と「PCServer-UDKEngine.ini」の2つをテキストエディタで編集していきます。
また、「C:\steamcmd\chivalry_ds」には「ServerDoc.pdf」がダウンロードされているはずですので、目を通しておくのをおすすめします。
以下に重要と思われる項目をすべてデフォルトの値で記載します。
設定については筆者が未確認の項目も多数あります。
また、iniファイルの編集は、必ずサーバーを終了させてから行ってください。
起動中に編集しても設定は反映されず、サーバー終了時に変更点が上書きされる可能性があります。

PCServer-UDKGame.ini

「DefaultGame.ini」にも同様の記載があるのですが、「PCServer-UDKGame.ini」の内容が優先されるらしいのでこちらを編集していきます。

[Engine.GameInfo]

MaxPlayers=32

サーバーの最大収容人数を設定します。Chivalryでは最大64人までサポートしています。

MaxSpectators=2

サーバーの最大観戦者数を設定します。

TotalNetBandwidth=32000

サーバー全体での最大利用帯域幅です。単位は恐らくbytes/sec(B/s)です。
変更してChivalryで効果があるのかは不明です。

MaxDynamicBandwidth=7000
MinDynamicBandwidth=4000

プレイヤー1人の最大と最少利用帯域幅です。単位は恐らくbytes/sec(B/s)です。
変更してChivalryで効果があるのかは不明です。

[Engine.AccessControl]

GamePassword=####

サーバーに入るのに必要なパスワードを設定します。デフォルトでは記載なしです。

AdminPassword=####

管理者としてログインするときに必要なパスワードを設定します。デフォルトでは記載なしです。

BannedIDs=(Uid=(A=########,B=17825793))

誰かをBANした場合自動で追記されます。解除はBannedIDsの行を削除すればできます。
しかし、記載されたIDから誰なのかは判断できません。
できるのかもしれないですが筆者はやり方がわかりません。デフォルトでは記載なしです。
※判別方法がわかったので応用編に追記しました。

[Engine.GameReplicationInfo]

ServerName=Dev Testing Server

サーバーの名前を設定します。ここで設定した名前がサーバーブラウザで表示されます。

[AOC.AOCGame]

bAllowNonTeamChat=True

全体チャットの設定です。チームチャットのみに限定したいならfalseに変更します。

Maplist=AOCTO-Hillside_P
Maplist=AOCTO-Battlegrounds_v3_P
Maplist=AOCLTS-Arena3_p
Maplist=AOCTO-Darkforest_p
Maplist=AOCTO-Stoneshill_P
Maplist=AOCLTS-Moor_p
Maplist=AOCFFA-ThroneRoomXL_P
Maplist=AOCKOTH-Arena3_p
Maplist=AOCTD-StoneshillVillage_P
Maplist=AOCFFA-Moor_p
Maplist=AOCLTS-ThroneRoom_P
Maplist=AOCTD-Ruins_P
Maplist=AOCLTS-StoneshillVillage_P
Maplist=AOCKOTH-Moor_p
Maplist=AOCFFA-StoneshillVillage_P
Maplist=AOCLTS-Ruins_P
Maplist=AOCFFA-Ruins_P
Maplist=AOCKOTH-Hillside_P
Maplist=AOCTD-ThroneRoom_P
Maplist=AOCFFA-Arena3_p

巡回させたいマップを複数行で指定します。最後のマップが終了すれば最初に戻ります。
マップ名はすべて「ServerDoc.pdf」に記載されています。
アップデートでマップが増えたのですべてでは無くなりました。

PerspectiveLock=PLOCK_None

視点の設定です。デフォルトだと制限なしです。
PLOCK_1Pで1人称視点のみ、PLOCK_3Pで3人称視点のみに制限できます。

fServerTeamDamagePercent=0.5

チームメイトを攻撃した場合の威力を%で指定します。デフォルトの0.5で50%です。
0にすればFFoffと同じ効果になります。

bEnableVoteKick=true

キック投票を許可するかどうかの設定です。

bEnableVoteChangeMap=true

マップチェンジの投票を許可するかどうかの設定です。

bEnableVoteResetMap=true

マップリスタートの投票を許可するかどうかの設定です。

bOnlyAdminsCanInitiateVotes=false
bOnlyAdminsCanVote=false
bOnlyTeammatesCanVoteKick=false
bOnlyTeammatesAbstainsCountAgainstMinimum=false
fVoteMinAmountNonAbstainers=0.4
fVoteSuccessThreshold=0.55
fVoteDurationSeconds=30.0
fVoteTallyUpdates=2
fVoteEnactDelaySeconds=10.0
fVoteTimeBetweenVoteKicksAgainstSamePlayer=60.0
fVoteTimeBetweenVotesFromOnePlayer=60.0
fVoteKickBanDurationSeconds=300

キックやマップの投票関連の細かい設定です。詳しい説明は「ServerDoc.pdf」に任せて省略します。

bForceTeamVOIP=false

ボイスチャットが聞こえる対象の設定です。デフォルトだと全員に聞こえます。trueでチームメイト限定になります。

bRankedServer=true

アンロックのキルカウントの設定です。デフォルトで有効ですが、サーバー内に最低5人居ないとカウントされない仕様です。

bAutoBalance=false

オートバランスの設定です。デフォルトでは無効です。trueに変更を推奨します。

fAutoBalanceInterval=30

オートバランスを実行する頻度の設定です。単位は不明です。

bDeathBasedAutoBalance=False

アップデート後に追加された項目です。死亡数で判断するオートバランスらしいですが詳細不明です。
デフォルトでは記載がないですが1度サーバーを実行すれば自動で記載されます。

 

以下は2013年2月1日のアップデートで追加された項目です。

bUseMaxPingLimit=False
fMaxPing=0
iPingThresholdHitBeforeKick=0
iSecondsToKickForPingLimit=0

Pingが高いプレイヤーをサーバーから自動でキックする設定です。

bUseArcherLimit=False
bUseVanguardLimit=False
bUseKnightLimit=False
bUseMaaLimit=False
iArcherLimit=0
iVanguardLimit=0
iKnightLimit=0
iMaaLimit=0

プレイヤーのクラス制限の設定です。

bUseRankLimits=False
iMinRank=0
iMaxRank=0

プレイヤーのランク制限です。範囲外のプレイヤーは自動でキックされます。

bAnyUserCanGetSteamID=False

コンソールコマンドの「whois」または「getinfo」を使用してプレイヤーのSteamIDを参照する許可の設定です。

bDisallowFreelookSpectator=False

観戦モードでのフリールック(自由視点)を禁止する設定です。

bDoSpeedHackDetection=False
bUseCustomSpeedhackCountThreshold=False
iSpeedhackCountThreshold=0

スピードハック(チート)検出機能の設定です。
まだテスト段階らしく、自己責任で使用してくださいとのことです。

[AOC.AOC### ← ルール名]

ルールごとの細かい設定です。
デフォルトでは記載されてませんが、対象のルールのマップを稼働させると下の方に自動で追記されるようです。
KOTHは自動追記されないようなので未確認です。
KOTHもアップデート後に追記されるようになりました。

bAllowNonTeamChat=True

[AOC.AOCGame]の設定と被ってますが、恐らくこちらの設定が優先されます。

bOverrideRoundTime=False
RoundTimeOverride=10

LTSルールでの1ラウンドの制限時間を設定します。単位は恐らく分です。
変更する場合は「bOverrideRoundTime」を「True」に設定してください。
こちらは自動追記されないようですが、自分で追記すれば効果があるようです。
また、[AOC.AOCGame]にも同様の記載があるので、そちらを変更しても効果があるかもしれません。

bOverrideNumRounds=False
RoundsToWinOverride=7
MaxRoundsOverride=13

LTSルールの終了条件を設定します。
変更する場合は「bOverrideNumRounds」を「True」に設定してください。

GoalScore=60

FFAルールの終了条件を設定します。誰かがこのスコアを達成すれば終了するようです。

TimeLimit=20

マップの制限時間を設定します。単位は恐らく分です。
この時間が経過すると強制的にマップチェンジするようです。

bOverrideInitialResources=False
InitialResourcesOverride=80

TDルールでのリソースの設定です。
チームの誰かがリスポンする度に減少し、0になるとリスポンできなくなります。
変更する場合は「bOverrideInitialResources」を「True」に設定してください。

PCServer-UDKEngine.ini

[URL]

Port=7777
PeerPort=7778

プレイヤーの待ち受けに使うポートの設定です。PeerPortの設定は必ずPortの設定+1になるようなので注意してください。

[IpDrv.TcpNetDriver]

MaxInternetClientRate=30000

プレイヤー1人の最大帯域幅の設定です。単位はbytes/sec(B/s)です。よく使われるbpsの1/8なので注意してください。
デフォルトの30000で換算すると240Kbpsになります。
こちらは「ServerDoc.pdf」にも記載されているので変更したら効果があると思います。
ただ、デフォルト値以上に設定してもその値まで必ず帯域を使うわけではないです。

NetServerMaxTickRate=30.0

サーバーの更新頻度を設定します。単位は恐らく1秒間の更新回数です。
数値を上げるとサーバーのラグが低減されると思いますが、その分CPU負荷が上昇します。

[OnlineSubsystemSteamworks.OnlineSubsystemSteamworks]

QueryPort=27015

Steamのマスターサーバーとの通信に使うポートを設定します。

bUseVAC=true

ValveのアンチチートであるVACを利用するかどうかの設定です。

サーバーの起動

起動確認

サーバープログラムもCUIです。
コマンドプロンプトを開き「C:\steamcmd\chivalry_ds\Binaries\Win32」の「UDK.exe」をオプション付きで実行します。

UDK.exe MAP_NAME?steamsockets -seekfreeloadingserver

以下はコマンド例です。

cd C:\steamcmd\chivalry_ds\Binaries\Win32
UDK.exe AOCTO-Hillside_P?steamsockets -seekfreeloadingserver

最低でも最初のマップ名とその後の「?steamsockets -seekfreeloadingserver」を付けないと公開サーバーとして起動しません。
うまくサーバーが起動したなら真っ暗な別のコマンドプロンプトのようなウィンドウが開くはずです。
ここで起動しない場合必要なファイルが足りない可能性があります。
「C:\steamcmd\chivalry_ds\Binaries\RedistChiv」にサーバー実行に必要なインストーラがダウンロードされていますので、自分の環境で必要と思われるものをインストールしてみてください。
起動したときにWindowsファイアウォールなどの警告が出たら許可しておいてください。
この辺は使っているファイアウォールソフトによって設定の仕方が変わってくるので、詳しくは説明しません。

 

無事にサーバーの起動を確認しましたら、今度はクライアントから入れるか確認します。
同じルーター内のネットワークにサーバー用PCとゲーム用PCがある前提で説明します。
ゲーム用PCにはSteamとChivalryがインストールされていると思いますが、普通にゲームを起動してサーバーブラウザを見ても自分のLAN内のサーバーは表示されません。
これは異常ではなく正常な仕様です。
ではどうするかというと、1番簡単な方法はSteamのサーバーブラウザから接続する方法です。
タスクバーのSteamアイコンを右クリックしてサーバーを選択するとSteamのサーバーブラウザが表示されます。
インターネットのタブはChivalryに対応してないので表示されませんが、実はLANのタブを選択するとちゃんとChivalryのサーバーも表示されます。
ここから選択して接続したり、右クリックから稼働状況のチェックもできます。
ただし、「QueryPort」の設定によっては表示されない場合もあるようです。
とりあえず「27015-27020」の範囲なら表示されるのを確認しました。

 

すでにゲームを起ち上げている場合は、ゲーム内で「@」キーか「ScrollLock」キーから開けるコンソールから接続することもできます。

open サーバーPCのプライベートアドレス:Portで指定したポート

以下はコマンド例です。

open 192.168.1.50:7777

パスワード付きのサーバーを建てた場合は以下のようにしてください。

open サーバーPCのプライベートアドレス:Portで指定したポート?password=指定したパスワード

以下はコマンド例です。

open 192.168.1.50:7777?password=hogehoge
 

無事接続できたら終了します。サーバーも一旦終了させましょう。
こちらも閉じるボタンを押すのではなく、ウィンドウをクリックしてアクティブにした状態からCtrl+Cで終了させてください。
閉じるボタンを押してしまうとログファイルやiniファイルなどが正常に書き込まれません。

起動オプション

追加の起動オプションについて解説します。

-multihome=IP_ADDRESS

特殊な環境下でのIPアドレスを指定します。通常は必要ありません。

-Port=####

プレイヤーの待ち受けポートを指定します。「PCServer-UDKEngine.ini」の指定より優先されます。
ここで指定した場合PeerPortは+1の値になります。

-QueryPort=####

マスターサーバーとの通信に使うポートを指定します。「PCServer-UDKEngine.ini」の指定より優先されます。

-log=FOLDER_NAME\LOG_NAME.log

ログファイルのサブフォルダとファイル名を指定します。フォルダは省略も可能です。
デフォルトだと「C:\steamcmd\chivalry_ds\UDKGame\Logs\Launch.log」に記載されます。

-configsubdir=FOLDER_NAME

iniファイルのサブフォルダを指定します。
複数の設定を使い分けたり、自分で編集したiniファイルがアップデートで書き換えられたりする事故防止に使えます。
前もってサブフォルダの中に「C:\steamcmd\chivalry_ds\UDKGame\Config」にあるiniファイルをすべてコピーして利用するとよいでしょう。
サーバーのアップデート後は、デフォルトフォルダのiniファイルも更新されている場合がありますので、更新日時などからチェックするのをおすすめします。

?maxplayers=###

サーバーの最大収容人数を指定します。「PCServer-UDKGame.ini」の指定より優先されます。
このオプションだけ書き方が特殊で「?steamsockets」の後に続けて記載しないと機能しません
以下コマンド例です。

UDK.exe AOCTO-Hillside_P?steamsockets?maxplayers=32 -seekfreeloadingserver

「ServerDoc.pdf」の通りに記載しても機能しないので注意してください。参考リンク

起動用ショートカットの作成

サーバーを起動するたびにコマンドプロンプトからコマンドを打つのは面倒です。
そこで、デスクトップなどのわかりやすい場所にショートカットを作っておき、そこから起動すれば楽になります。
エクスプローラから「UDK.exe」を右クリックし、「送る」から「デスクトップ(ショートカットを作成)」で簡単に作れます。
作ったらショートカットを右クリックし、「プロパティ」から「リンク先」の項目の「UDK.exe」の後に必要なオプションを追加してください。
あとはショートカットをダブルクリックすればサーバーが起動するはずです。

サーバーの公開

ポートの解放

動作確認も終了したので、いよいよサーバーを公開します。
自宅でゲームサーバーを公開する場合、ほとんどはルーター越しになると思います。
ルーターの設定のしかたは機種ごとに違うので詳しく説明できませんが、3つのポートを解放し、サーバーPCのプライベートアドレスに転送するように設定しなければなりません。
「PCServer-UDKEngine.ini」か起動オプションで指定した「Port」「PeerPort」「QueryPort」の3つです。
すべてデフォルト値だと7777,7778,27015になります。
解放はUDPのみで大丈夫です。TCPの解放は必要ありません。

公開確認

Chivalryを持ってる親しい友人が居るなら、その友人に頼んでサーバーブラウザに表示されるか、正しく接続できるか確認してもらうのが早いでしょう。
他の手段としてはサーバーリストを見れるサイトのお世話になるのがいいでしょう。
以下のリンクからChivalryの日本国内のサーバーが検索できます。
Game-Monitor.com
注意点としてはリスト更新にしばらく時間がかかることです。サーバー起動直後などは表示されません。

応用編

管理者としてログインする

パスワードなしで一般公開しているサーバーには様々なプレイヤーが接続してきます。
中には故意にチームメイトを傷つける、他のプレイヤーに対し暴言を吐くなどの迷惑プレイヤーが来るかもしれません。
そういったプレイヤーに対して一般プレイヤーはキック投票で対抗することもできますが、そもそもキックや投票の方法を理解していないプレイヤーも多く、対策として完璧ではありません。
また逆に、投票機能を悪用するプレイヤーも居るかもしれません。
そこで、自分のサーバーを荒らされないためにも管理者権限の使い方を覚えましょう。
まず、管理者権限を使うためには自分でパスワードを設定しなければなりません。
「PCServer-UDKGame.ini」の[Engine.AccessControl]セクションに、「AdminPassword=パスワード」を追記して設定します。
他人に推測されづらく、覚えやすいパスワードがよいでしょう。
iniファイルを編集しサーバーを起動したら、まず普通に一般プレイヤーとして接続します。
次にコンソール(「@」キーか「ScrollLock」キー)を開きコマンドと設定したパスワードを入力してください。

Adminlogin <password>

成功すれば管理者としてログインしたメッセージが表示されるはずです。
この状態で「TAB」キーを押しながら「B」キー(デフォルト状態のキー)を押すと、スコアボードの右下に管理者用のコマンドが3つ追加されてるはずです。
上から「Admin Kick」「Admin Ban」「Admin Mute」です。
使い方はすべて共通で、スコアボードの対象のプレイヤー名をクリックして選択してからコマンドをクリックしてください。
確認などは一切表示されないので、くれぐれも誤クリックには注意するようにしてください。
また、管理者のみが使えるコンソールコマンドもありますので、興味がある方は「ServerDoc.pdf」を参照してみてください。
なお、管理者権限は現在のマップだけで有効です。
マップチェンジ後も権限が必要な場合、コンソールから再ログインしてください。
コンソールを開いたらカーソルキーの「↑」を押せばコマンド履歴が呼び出せるので便利です。

Admin Kick

対象のプレイヤーをサーバーから追放します。追放されても再接続は可能です。

Admin Ban

対象のプレイヤーをサーバーから永久追放します。
追放されたプレイヤーのIDが「PCServer-UDKGame.ini」の[Engine.AccessControl]セクションに自動的に追記され、これを削除しない限り対象のプレイヤーは接続できなくなります。

Admin Mute

対象のプレイヤーのボイスチャットを聞こえなくします。

UDK.exeの代わりにUDKLogging.exeを使う

実は「UDK.exe」と同じフォルダにある「UDKLogging.exe」を使ってもサーバーを起ち上げることができます。
起動オプションや起動の仕方は全く一緒です。
では何が違うかというと、その名の通りログの記載とウィンドウに表示される情報量が違います。
ウィンドウのタイトルバーには現在のマップ名とサーバー内のプレイヤー数が表示されます。
しかし、「UDK.exe」と比べると若干CPU負荷が上がり、安定性にも欠けるようです。
また、肝心のログの内容も、どちらかといえば開発者向けのログになっており、管理者にとって有用な情報はあまりないようです。
タイトルバーでプレイヤー数が確認できるのは便利なのですが、「UDKLogging.exe」の利用はサーバーがうまく動かないときのテストなどに留めた方が無難なようです。

 

余談になりますが、筆者はサーバー内のチャットやキルログの記録方法がわかりません。
デフォルトの状態ではログらしいログも取れず、「UDKLogging.exe」を利用してもプレイヤーのIPアドレス程度しか読み取れません。
「PCServer-UDKGame.ini」の[AOC.AOCGame]セクションに「bLogGameplayEvents=false」の記載を見つけ、trueに変更してみましたが、特に何も変わらないようです。
どなたか有用な情報がありましたら、追記なり変更なりしていただけるとありがたいです。

サーバーのアップデート作業を簡略化する

普通にサーバーのアップデート作業をする場合、いちいちコマンドを入力して行わなければなりません。
それは結構面倒なので、簡単にできるように設定しておきましょう。
SteamCMDをダウンロードしたページの下の方に説明が書いてあります。
コマンドラインを用いる方法と、テキストファイルを用いる方法があります。
なお、アップデート作業も必ずサーバーを終了させてから行ってください。
また、どちらの方法もSteamアカウントの情報をそのまま記載することになりますので、アカウントハックなどの被害に遭われないよう十分に注意してください。

コマンドラインを使う

SteamCMDのショートカットを作り、その後に起動オプションを追記して指定する方法です。
以下「リンク先」の例です。

C:\steamcmd\steamcmd.exe +login <username> <password>
 +force_install_dir c:\steamcmd\chivalry_ds\ +app_update 220070 +exit

必要なコマンドに「+」を付けて追記するだけです。

テキストファイルを使う

まず、SteamCMDのあるフォルダにテキストファイルを用意し、その中にコマンドを記載していきます。
ここでは例として「update_chivalry_ds.txt」というテキストファイルを使います。

// update_chivalry_ds.txt
//
login <username> <password>
force_install_dir c:\steamcmd\chivalry_ds\
app_update 220070
exit

行頭に「//」を付けた場合は注釈行になります。
次に、SteamCMDのショートカットを作り、「+runscript」の起動オプションを追記します。
以下「リンク先」の例です。

C:\steamcmd\steamcmd.exe +runscript update_chivalry_ds.txt

BannedIDをSteamIDやプロフィールのURLに変換する

公式フォーラムで変換方法が説明されていました。
どちらの方法も「BannedIDs=(Uid=(A=########,B=17825793))」の「A」の値のみ使います。
「B」の値は固定の様です。

SteamIDに変換する

「A」の値が偶数なのか奇数なのか確認して以下の公式に当てはめてください。

偶数の場合

STEAM_0:0:(A/2)

奇数の場合

STEAM_0:1:((A-1)/2)

プロフィールのURLに変換する

「A」の値を16進数に変換し「110000100000000」を加算して10進数に戻します。
その値を下記の<id>の部分に当てはめます。

http://steamcommunity.com/profiles/<id>

もっと単純に計算するなら「76561197960265728」を「A」に加算しても同じです。

 

SteamIDとURLの相互変換には下記のサイトが便利です。
Steam ID Finder
steamID converter

認知の不具合

  • 正常に接続できる人と全く接続できない人が居る
  • TDルールで勝敗が決まらずマップチェンジしなくなる
  • アンロックのキルカウントが増えなくなる
  • Steamの実績が解除できなくなる
  • サーバーリストに表示されなくなる
  • サーバーから既に退出済みのプレイヤーがリストに残り続ける(ゴースト化)
  • 上記のゴースト化が発生していると、サーバーリストで実際にプレイ中の人数以上が表示される

コメント

  • 非常に助かっていますありがとうございます! (^^) -- 2012-12-11 (火) 02:43:17
  • ./chivalry_dsと打った方が簡単では? -- 2012-12-26 (水) 05:22:31
  • ポートの開放で詰まってます。具体的にどこの何を、どういじれば良いのでしょう? (OO; -- redbullllll? 2012-12-29 (土) 03:20:19
  • ↑ ポート解放でググれとしか言えない その際モデム名もいれておけ -- 2012-12-30 (日) 21:32:44
  • なんでsteamで公開されてるdedicated serverファイルについては全く言及されチェいないんだ? -- 2013-01-12 (土) 17:45:55
  • ↑筆者が使った経験が無いことと、サーバーを常設する場合にはSteamクライアントより軽いSteamCMDを使う方が一般的だと思われるからです。ただし、Steamクライアントでダウンロード出来る物も中身は同じだと思われるので、ダウンロードの仕方とインストール先が異なるだけだと思います。 -- 2013-01-18 (金) 18:28:05
  • wifiルーターで他ゲームping100~200くらいでやってるんですが、このゲームはプレイ可能ですか?というか日本鯖はありますか?ないと場所によっては500くらいいってしまうので・・・ -- 2013-04-01 (月) 12:51:50
  • うちの鯖はPing130以上が続くようだとKickする設定になってます。HighPingがまじるとかなりワープやラグが発生するのでそのような環境でのプレイは推奨できません -- hoge? 2013-04-06 (土) 02:10:17
  • ↑ 遅れましたがありがとうございます。購入控えときます。 (T-T -- 2013-04-11 (木) 16:55:20
  • chivalry deadly warriorの日本鯖立てれました。基本はこちらのサーバー運営ガイドと同じでappid=258680、サーバー起動はコマンドプロンプト @start CDW.exe TD-Bamboo?steamsockets -dedicated=true -seekfreeloadingserver -multihome=LOCALSERVERIP -Port=7777 -QueryPort=7778 これで鯖立てれました。長文すまん参考にどうぞ -- 2014-05-19 (月) 23:50:44