alchemistarkの日記

やったことのメモ

srcdsのインストール方法補足

srcds、つまりSourceEngineゲームのサーバーを建てる方法について。
今回はWindows版のtf2のサーバーの話します。
他のゲームの鯖建てもゲームID変えるぐらいでほぼ同じはず
tf2鯖でのみ起きる現象について少しだけ補足します。

まずこちらのサイトをご覧ください。

TF2Wiki サーバーの建て方の基本
http://tfortress2.wikiwiki.jp/?WindowsXPtfortress2.wikiwiki.jp

srcdsのインストール方法全部書いてあります。完。
ダメですかそうですか。

でも一通り読んでください。以降読んでるの前提で、書いてない事補足します。

SteamCMDのバッチファイルはコレだけ書いてれば十分です。

steamcmd +login anonymous +force_install_dir ../tf2 +app_update 232250 validate +quit

steamcmd.exeと同階層にbat置いて、1つ上にtf2フォルダ作ってその中にインストールする用になってるのでインストールパスは適時変えてください。

記事作成現在、tf2のsrcdsはGUIモードで起動できないので、コンソールで起動する必要があります。
普通に起動したら真っ黒のウィンドウが出るだけだし、閉じてもプロセスが残ってCPUゴリゴリ食う

f:id:alchemistark:20180313234531p:plain

GUIの方もパラメータ渡さないと起動しないとか色々あるんですが考えなくてOK 漢は黙ってコンソール

僕の鯖の起動バッチ置いておきます。

start /affinity 2 srcds.exe -game tf -secure -port 27015 +rcon_password "****" +map koth_king -console -nocrashdialog

以下説明。

・start /affinity 2

srcdsはマルチコアに対応してないらしいので、使用するCPUコアを直接指定している
別にどのコアでもいい 数値はビットマスク16進
speedup-xp.com

・-game tf
ゲームによっては不要だと思うが、TF2の場合明示的にtfを指定しないと起動しない。たしかL4D2だと要らない

・+map
なんでもいいからマップ指定しておかないと起動しない。ていうか起動はするけど接続できない。

・-console
CUIで起動する cmdから起動しようがPowerShellから起動しようが新たにcmd窓生成してウザい。バックグラウンド化して必要な時だけコンソール見たいんだけど。
SSH経由で起動したらどうなるんだろう誰か試して

・-nocrashdialog
メモリエラーとかでクラッシュした時にダイアログを出さずにプロセスを終了する
ダイアログ出ても復帰するわけでもないので… 後プロセス監視するツールとか入れて再起動させる場合必須
ダイアログ出した場合鯖は死ぬのにプロセスだけ生き残る為