WindowsのCS:S鯖を建てたことが無い猫鯖管のNekoLoveです。こんにちは。
ちょっとすでに時期を外した感がプンプンですが、CounterStrike:Sourceのゲームサーバの構築方法について語ろうかなと思います。
ドキュメント自体は公式サイトにあるので、あくまで日本語の情報が欲しい人向けですが。
・ Source Dedicated Server -> Install: Linux (Rev. 2)
長いので分割
変更履歴
2007/03/17 hldsupdatetool.binがLinuxで解凍できない問題を追記
2007/03/16 FreeBSDに関する追記
・SRCDSについて
SRCDSはSource Dedicated Serverのことです。
Valveが提供するHalfLife系のゲームサーバを動かす為のコアの部分ですが、
イコールでゲームサーバと考えて貰ってよいです。
・必要なモノ
インターネットへの回線
HLDSUpdatetool
FreeBSDの場合
Linux baseをportsかpackageから入れておくこと
特に理由が無いのなら、”emulators/linux_base-fc4″でいいと思われる
オフィシャルフォーラムのFreeBSDにインストールするスレッドではlinux_base-rh-9を導入してるけど
サポートが無くなってPortsから削除されているので注意すること
gentoo系はちょっと安定してない感じがするので、個人的にお勧めしない
・作り方
まず、上記のHLDSUpdatetoolが必要なので、適当なフォルダにダウンロードします。
これまた特に理由が無ければインストール先のディレクトリにダウンロードしてしまって良いと思います。
#mkdir srcds_l
インストール先のディレクトリを作成
#cd srcds_l
#/srcds_l# wget http://www.steampowered.com/download/hldsupdatetool.bin
--09:32:01-- http://www.steampowered.com/download/hldsupdatetool.bin
=> `hldsupdatetool.bin'
Resolving www.steampowered.com... 63.228.223.100
Connecting to www.steampowered.com|63.228.223.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3,513,408 (3.4M) [application/octet-stream]
100%[=================================================================================================================>] 3,513,408 504.21K/s ETA 00:00
09:32:09 (443.32 KB/s) - `hldsupdatetool.bin' saved [3513408/3513408]
ファイルをダウンロード
# chmod +x hldsupdatetool.bin
# ls -la
total 3460
drwxr-xr-x 2 root wheel 512 Mar 13 09:32 .
drwxr-xr-x 13 root wheel 512 Mar 13 09:31 ..
-rwxr-xr-x 1 root wheel 3513408 Sep 2 2005 hldsupdatetool.bin
動かす為に実行権限を付加
#./hldsupdatetool.bin
~中略~
Enter 'yes' to accept this agreement, 'no' to decline: yes
extracting steam.tar.Z...done
使用規約に同意するかどうかなので、yesと入力。
内部のアーカイブが解凍され、"steam"という実行権限を持つファイルがカレントディレクトリに作成されます。
このツールを使ってゲームサーバの部分をダウンロードしたり、アップデートしたりします。
ここで解凍に失敗する場合は、アーカイブを解凍するためのコマンドが無いか、ダウンロードしたファイルが壊れてます。
たとえばCentOSの場合、下記のようになり、steamファイルが生成されません。
Enter 'yes' to accept this agreement, 'no' to decline: yes
sh: uncompress: command not found
これは圧縮したファイルを解凍するためのuncompressコマンドが無いため発生します。
gunzipで代替出来るので、シンボリックリンクを用意してあげれば問題ありません。
公式のフォーラムでも話題になりました
[root@localhost srcds]# ln -s /usr/bin/gunzip /usr/bin/uncompress
これで次に進めるでしょう
./steamコマンドを実行します。
# ./steam
Checking bootstrapper version ...
Getting version 18 of Steam HLDS Update Tool
Downloading. . . . . . . . . . . .
Steam Linux Client updated, please retry the command
これで本体の準備が完了しました。
Source Dedicated Serverを利用するゲーム(HL、DOD、CS、CS:S、HL2DM、DOD:S)は、ここまですべて一緒になります。
・Counter Strike:Sourceで必要なファイルをダウンロード
お次はゲームで必要なファイルをダウンロードしてきます。
-gameのオプションでゲームを指定してあげます。
指定できるオプションはこちら
** 'game' options for Source DS Install:
"Counter-Strike Source"
"dods"
"garrysmod"
"hl2mp"
** 'game' options for HL1 DS Install:
"cstrike"
"czero"
"dmc"
"dod"
"gearbox"
"ricochet"
"tfc"
"valve"
** 'game' options for Third-Party game servers:
"darkmessiah"
"garrysmod"
"redorchestra"
"ship"
"sin"
(´-`).。oO(いつの間にかずいぶんと増えてる・・・)
-dirオプションはインストール先を指定します。
特に指定する必要ががなければカレントのディレクトリでいいでしょう。
(そのためにsrcds_lディレクトリを作ったのですから)
# ./steam -command update -game "Counter-Strike Source" -dir .
Checking bootstrapper version ...
Updating Installation
No installation record found at .
Checking/Installing 'Counter-Strike Source Shared Content' version 61
Downloading: .\cstrike\bin\server.dll
Downloading: .\cstrike\bin\server_i486.so
~中略~
HLDS installation up to date
ちなみに結構時間がかかることがあるのでまったりして過ごします~(´Д`~)~(´Д`)~( ~´Д`)~
終わったら、設定などは二の次でとりあえず動作確認
# ./srcds_run -console -game cstrike +map de_dust -maxplayers 16 -autoupdate
Auto detecting CPU
Using SSE2 Optimised binary.
Auto-restarting the server on crash
Updating server using Steam.
Checking bootstrapper version ...
Updating Installation
Checking/Installing 'Counter-Strike Source Shared Content' version 61
Checking/Installing 'Base Source Shared Models' version 4
Checking/Installing 'Base Source Shared Sounds' version 4
Checking/Installing 'Base Source Shared Materials' version 8
Checking/Installing 'Source Dedicated Server Linux' version 75
HLDS installation up to date
Console initialized.
Game.dll loaded for "Counter-Strike: Source"
maxplayers set to 16
Network: IP 255.255.255.255, mode MP, dedicated Yes, ports 27015 SV / 27005 CL
Executing dedicated server config file
Incorrect price blob version! Update your server!
ERROR: mp_dynamicpricing set to 1 but couldn't download the price list!
Error: Material "sprites/bubble" : proxy "AnimatedTexture" not found!
Section [Scenes]: 0 resources total 0 bytes, 0.00 % of limit (2.10 MB)
net.cpp (932) : Assertion Failed: 0 == iRet && iValLen == sizeof( iVal ) && cSendBufSize <= iVal
net.cpp (940) : Assertion Failed: 0 == iRet && iValLen == sizeof( iVal ) && cRecvBufSize <= iVal
couldn't exec server.cfg
Adding master server 68.142.72.250:27011
Adding master server 72.165.61.189:27011
Connection to Steam servers successful.
VAC secure mode is activated.
サーバが無事に立ち上がったら成功です。お疲れ様でした。
コンフィグレーションについてはまた今度解説します。