Sourceサーバ(SRCDS)インストール法
目次
1. SRCDSとは?
2. 必要になるファイル
3. サーバーへのインストール
4. steam導入後の起動試験
5. SRCDSの設定
1.SRCDSとは?
 SRCDSとは、Counter-Strike: Source Beta Dedicated Serverのことで、Halflife2エンジンをベースにしたサーバ(Counter-Strike Source、HL2 DeathMatch)のことです。本プログラムは従来のサーバと同じように、STEAMからインストールすることができます。

2.必要になるファイル
 必要になるファイルは現時点(2004 08/14)では が必要になります。
3.サーバーへのインストール
上記のファイルを空のディレクトリにコピーします。次に(Windowsの場合にはコマンドプロンプトを開き、)インストールした場所へ移動します。そして、以下のコマンドを入力します(ゲーム名はここを参照)。なお、従来インストールしてある場所では本作業は行えないため、別のディレクトリで作業して下さい。うまくいかない場合(FreeBSD/Linux)には、ホームディレクトリ直下にある.steamディレクトリの中のファイルを全て削除してから、再度本作業を行ってみて下さい。

・windowsの場合

(DドライブのSRCDSフォルダにインストールした場合)
C:\Documents and Settings\hlds>cd /d D:\SRCDS
D:\SRCDS>HldsUpdateTool.exe -command update -game "ゲーム名" -dir 空のフォルダ -username username -password password

(注意:上の「username」と「password」は事前に登録してあるものを入力して下さい。登録の方法は、アカウントの作成をご覧下さい。また「空のフォルダ」とは今回SRCDSをインストールするためのフォルダ場所を指定して下さい。例:-dir d:\srcds)

このとき、以下のメッセージが出ればOKです。以下(緑色部)はカウンターストライクソース(CS:S)をゲーム名に指定した場合のメッセージです。

D:\SRCDS>HldsUpdateTool.exe -command update -game "Counter-Strike Source" -dir d:\srcds -username neon -password password
Checking bootstrapper version ...
Updating Installation
Logging in as 'neonsrv_test'
No installation record found at .
Checking/Installing 'Counter-Strike Source Shared Content' version 1
<中略>
Downloading: .\platform\vgui\hud\800corner3.tga
Downloading: .\platform\vgui\hud\800corner4.tga
Downloading: .\platform\vgui\resource\icon_steam.tga
Downloading: .\platform\vgui\resource\icon_steam_disabled.tga
Downloading: .\hlds_steamgames.vdf
Downloading: .\srcds.exe

HLDS installation up to date

そうではなく、以下のメッセージが表示された場合には、WARNING(下記赤色部)が表示された数秒後に、ctrlを押しながらcを押して、一度作業を止めて下さい。その後、再度本項目をやり直して下さい。

Checking bootstrapper version ...
Getting version 9 of Steam HLDS Update Tool
Downloading. . . . . . . . . .

D:\SRCDS>WARNING: unrecognized parameter 'Source'
Checking bootstrapper version ...

・FreeBSD/Linuxの場合

空のディレクトリ(以下では/home/hlds/srcds)にインストールした場合
>cd /home/hlds/srcds
>ls -l
-rw-r--r-- 1 hlds hlds 2981254 Oct 12 03:44 hldsupdatetool.binファイルがあることを確認
>chmod +x hldsupdatetool.bin
>ls -l
-rwxr-xr-x 1 hlds hlds 2981254 Oct 12 03:44 hldsupdatetool.bin実行権が付加されたことを確認
>./hldsupdatetool.bin
YOU SHOULD CAREFULLY READ THE FOLLOWING END USER
<中略>
Enter 'yes' to accept this agreement, 'no' to decline:yesyesと入力する
extracting steam...done
>ls -l
-rwxr-xr-x 1 hlds hlds 2981254 Oct 12 03:44 hldsupdatetool.bin
-rwxr-xr-x 1 hlds hlds 6779087 Feb 1 01:54 steamsteamが新規作成されたことを確認
>./steam -command update -game "ゲーム名" -dir 空のディレクトリ -username username -password password

(注意:上の「username」と「password」は事前に登録してあるものを入力して下さい。登録の方法は、アカウントの作成をご覧下さい。なお「空のディレクトリ」とは、今回SRCDSをインストールするためのディレクトリパスを入力して下さい。例:-dir /home/hlds/srcds)

このとき、以下のメッセージが出ればOKです。以下はカウンターストライクソース(CS:S)をゲーム名に指定した場合です。

>./steam -command update -game "Counter-Strike Source" -dir . -username neon -password password
Checking bootstrapper version ...
Updating Installation
Logging in as 'neonsrv2'
<中略>
Checking/Installing 'Counter-Strike Source Shared Content' version 1
Downloading: .\cstrike\bin\server.dll
Downloading: .\cstrike\bin\server_i486.so
<中略>
Downloading: .\hl2\sound\weapons\fx\rics\ric4.wav
Downloading: .\hl2\sound\weapons\fx\rics\ric5.wav
Downloading: .\hl2\sound\weapons\fx\tink\shotgun_shell1.wav
Downloading: .\hl2\sound\weapons\fx\tink\shotgun_shell2.wav
Downloading: .\hl2\sound\weapons\fx\tink\shotgun_shell3.wav

HLDS installation up to date

そうではなく、以下のメッセージが表示された場合には、再度直前の./steamコマンドからやり直して下さい。

Getting version 9 of Steam HLDS Update Tool
Downloading. . . . . . . . . . .
Steam Linux Client updated, please retry the command
上記で入力できるゲーム名を以下の表に書きます。
ゲーム名 steamによりインストールされるゲーム
Counter-Strike Source カウンターストライクソース(CS:S)
hl2mp Halflife2デスマッチ(HL2DM )

4.SRCDS導入後の起動試験
STEAMをインストールした場所に行き、通常の起動と同じようにコマンドを入力すればokです。ただしhlds.exeやhlds_runではなく、やsrcds.exeを使います。以下に一例を載せます。

・windowsの場合

>D:\SRCDS>srcds.exe -game cstrike +map de_dust -console +maxplayers 64

FreeBSD/Linuxの場合

>./srcds_run -game cstrike +map de_dust +maxplayers 64
srcds_run(srcds.exe)の引数としては、次の物が使用できます。
オプション名 引数 意味
-game cstrike CS:S(カウンターストライクソース)サーバを起動する
hl2mp Halfelife2 DeathMatch(ハーフライフ2デスマッチ)サーバを起動する
-port ポート番号 サーバで使用するポート番号を指定する場合に使用する(本オプションを指定しない場合には27015が使用される)
-debug 無し デバッグモードでサーバを起動(通常は使用しない)
-debuglog ログファイル名 デバッグモード動作の際に書かれるログファイル名を指定する
-norestart 無し サーバが何らかの原因で落ちた場合に、自動でリスタートさせない
(通常サーバが落ちる時は何らかのエラーが発生しているため、リスタートさせないほうがいい)
-pidfile プロセスIDファイル サーバプログラムのプロセスIDを記録するファイル名を指定する(通常は使用しない)
-binary 以下FreeBSD/Linuxの場合
srcds_i486 i486互換CPUでサーバを動かす際に指定(Pentium以前のCPU)
srcds_i686 i686互換CPUでサーバを動かす際に指定(Pentium Pro,Pentium II,Pentium III,Pentium4)
CPUがi686対応であれば、i486よりも高速に動作させることができる
srcds_amd Athlon,Duronでサーバを動かす際に指定(恐らく(E)3DNow!テクノロジを使用するものと推測)
Windowsの場合には、現時点(2005.01.09)で本オプションはありません
-timeout 秒数 サーバが落ちた場合に、指定した秒数後に再起動させる
-gdb gdbファイル サーバが落ちた場合のデバッグに指定したgdbを使用する(通常は使用しない)
-steamerr 無し STEAMのアップデートに失敗した場合にサーバを終了する
(STEAMアップデートは絶対に適応したほうが良いため(パフォーマンスの向上、セキュリティの修正などが入るため)
有効にしておくことをお勧めする)
-steamuser steamユーザ名 STEAMのアップデートなどで使用するユーザ名を指定する
-steampass パスワード STEAMのアップデートなどで使用するユーザのパスワードを指定する
(既にここで書かれているように-remember_passwordオプションつきでsteamを動かした場合には
パスワードは保存されているため、本オプションをあえて使用する必要はない)
-autoupdate 無し サーバ起動時に自動的にアップデートを実行する(おすすめ)
-ignoresigint 無し ctrl+cなどでサーバが勝手に終了するのを防ぐ(SIGINTを無視する)
-notrap 無し trapを使用しない。古いロックファイルを自動的に削除されるのを防ぐ(通常は使用しない)
-pingboost 1か2か3 pingを1,2,3の順でよくする。ただしCPU負荷が増えるため、CPU負荷と最大人数の両方をみて
最適な値を設定するといい。最適値は現在データを集めていないため、わからない。
-secure 無し サーバのVAC(Valve Anti Cheat)を有効にする(お勧め)
-insecure 無し サーバのVAC(Valve Anti Cheat)を無効にする(Cheating-Death導入時に必要。それ以外では強くお勧めしない)
+maxplayers 1〜32 サーバでプレーできる最大人数を指定する
+map 存在するマップ名 指定したマップでサーバを起動する
+log onまたはoff ログを取る(on)、取らない(off)を指定する
+ip ipアドレス 指定したIPアドレスでサーバを立てることを宣言する(通常は使用しない)
-console 無し windowsでCUIサーバを立てる際に必須のオプション。FreeBSD/Linuxの場合には、本オプションは動作しません。

5.SRCDSの設定
SRCDSも従来のCounter-Strikeと同様に、server.cfgファイルが存在します。しかし設定ファイルの置き場所が変わり、従来のcstrike直下ではなく、cstrikeの下のcfgというディレクトリ(フォルダ)にserver.cfgを作ります。設定はほとんど従来と変わっていないようです。
SRCDSでのHLTV(Halflife-TV)は、server.cfgに以下の設定を行うことで有効になります。(2005.04あたりにhltv_変数が廃止されtv_に変更されました。)
  • tv_enable 1
まだ未確認ですが、今回は負荷分散のためにHLTVを分けることができなさそう?です。HLTVに設定できるパラメータは次の通りです。なお引数が無いコマンドは、rconによるコマンドを想定されているコマンドです。
オプション名 引数
tv_autorecord 0か1 自動的にDEMOを取得する(1)か否(0)か。DEMOはHDDを圧迫するため、必要なければ取得しない(0)設定にすることが好ましいです。
tv_debug 0か1 HLTVのデバッグ情報を出力する(1)か否(0)か。通常デバッグ情報は必要ないため、0に設定します。
tv_delay 秒数 HLTVが実際のゲームよりも何秒遅らせて配信するか。リアルタイムで配信を行うとプレイヤが同時に画面を見ることでチート行為を行えてしまうため、通常90秒ほど遅らせます。
tv_maxclients 人数 HLTVに入れるプレイヤ数を指定します。通常は128人ですが、それほどの人数を必要としない場合には、本項目値を下げることが好ましいです。0に設定すると、HLTVにプレイヤが入ることを抑制します。
tv_dispatchmode 0か1か2 クライアントをリレープロキシへ0(割り振らない)、1(可能なら割り振る)、2(常に割り振る)。通常は1です。
tv_maxrate 0以上 プレイヤに割り当てる最大帯域幅を指定します。0を指定すると無制限になりますが、サーバの帯域が有限である以上3500程度に設定することが望ましいです。
tv_name 文字 SrcTVのホスト名を設定します。
tv_password 文字 SrcTVへ入る際のパスワードを設定します。空欄でパスワードを無効にします。パスワードをかけたい時(身内だけ許可など)に設定して下さい。
tv_port ポート番号 HLTVが使用するポート番号です。デフォルトの27020から変更する必要は特に無いと思います。ただし複数サーバを1つのIPアドレスで構築している場合には、変更する必要があります。
tv_record 無し HLTVのDEMO録りを開始します。
tv_relay ipアドレス:
ポート番号
tv_relaypassword
hltv_retry 無し HLTVリレープロキシへ再接続します。
tv_snapshotinterval 秒数 スナップショットを撮る間隔を設定します。
tv_status 無し Connect to specified HLTV server.
tv_stop 無し HLTVの配信を停止します。
tv_stoprecord 無し HLTVのDEMO録りを停止します。
HLTVを自動取得したい場合には、server.cfgに以下の記述を加えます。
tv_autorecord 1
tv_enable 1

ご感想・ご意見は次のところまで : 管理者