CounterStrike:Sourceサーバの建て方(Linux、FreeBSD編)

投稿者: | 2007年3月13日

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.

サーバが無事に立ち上がったら成功です。お疲れ様でした。
コンフィグレーションについてはまた今度解説します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください