Noobでもできる!CS1.6のサーバ構築!

(2022/08/29追記)

需要がありそうなので書きました。

ryozi.hatenadiary.jp


(2013/09/08 追記)
インストールの仕方が変わっているようです。
今後はこれに統一していく模様

https://developer.valvesoftware.com/wiki/SteamCMD

  • SteamCMDをダウンロードして適当なフォルダに置く
    • フォルダに日本語を含めてはダメ
  • steamCMDを置いてあるところで以下のコマンドを実行する
steamcmd +login anonymous +app_update 90 +app_set_config 90 mod cstrike +app_update 90 validate +quit
    • app_update 90したあとにapp_set_config 90 mod cstrikeしてapp_update 90 validateを行わないとうまくいかなかった
  • steamapps\common\Half-Lifeにhlds.exe が配備される
  • 後はお好きに

以下おそらく、使えない手順


Windows編。
Linux編も需要があったら書きます。手順は基本的にWindowsと同じですけどね。


手軽にいろんなCS鯖の環境を構築するためのメモ書きを、
他の人が見てもできるようにがんばって書きました。
既存の解説ページのほうが数倍わかりやすいと思うけど。

お世話になったページ

http://cscscs16.web.fc2.com/
HP閉鎖のお知らせ

まず、手軽に、と書きました。
Noobでもできると銘打ってるので、あまり難しいコマンド操作はしません。
そのかわり、こちらで用意した物をお使いください。
出来上がりはおそらく一緒です。


http://hlds.rying.net/arc/starter_hlds.zip

内容の紹介
  • [amxx_cstrike] (AMXXとMetaModが入ってます)
  • [default_cstrike] (最低限な設定がされているserver.cfgと初期のliblist.gamが入ってます)
  • [zbot_cstrike](Zbotに最低限必要なファイルが入っています)
  • HldsUpdateTool.exe
  • srcdsfpsboost.exe
  • setup.bat
  • start.bat

Step.1 サーバを立てる

手順

以下のファイルを、どこか適当なフォルダへコピーします。

  • HldsUpdateTool.exe
  • srcdsfpsboost.exe
  • setup.bat
  • start.bat


その後、そのフォルダを開き、setup.batを起動します。
ウィンドウが開き、何かいろいろファイルをダウンロードし始めるはずです。(光回線で3分〜5分ぐらい)
ダウンロードが終わると自動的にウィンドウが閉じるので待ちましょう。
また、バージョンアップするときも、setup.batを起動するだけでOK。


もうこれで、サーバが立てることができます。
GUIモードでもいいのですが、少しでも負荷を抑えるため、コンソールモードで起動します。


start.batは、サーバを起動するコマンドを実行してくれます。
start.batを起動すると、2つウィンドウが出ます。
1つはサーバのコンソールで、もう1つはsrcdsfpsboostっていうプログラムです。後で解説します。


CSを起動して、以下をお気に入りに追加してみましょう。
127.0.0.1:27016
サーバが見つかったら、それがあなたのCSのサーバです!

補足

これだけでもいいのですが、デフォルトのままでは、通信に関する設定が少し弱いため不安定です。(カクカクする等)
これを改善するにはserver.cfgの設定を少しいじる必要があります。
とりあえず僕が思う、最低限の通信の設定を書いて付属したファイルがあります。
default_cstrike\server.cfgをcstrike\server.cfgと差し替えればOKです。
後は調べたりしてお好みで設定を変えてみてください。


外部へ(遠くのお友達などに)公開する場合は、ポートの開放を行う必要があります。
ポートの開放は環境やルータ、セキュリティソフト、などによって、
手順が全く異なるので、詳しくは書けません。
なので開放するべきポートだけ書いておきます。
今回は、サーバのportに27016を指定している(もちろん好きに変更できます)ので、
UDPの27016番のポートを開放すると、外部からアクセスできるようになるはずです。

解説

start.batの内容。

start srcdsfpsboost.exe
start hlds.exe -console -game cstrike -port 27016 -maxplayers 32 +map de_dust2

と書いてあります。


srcdsfpsboostは、FPSを引き上げるのに役立っているものだと思ってもいいです。
(それは結果であって、正確な動作とは違います。気にしてもしょうがない!)
hlds.exeはサーバ本体で、後ろにくっついている文字列はオプションです。
この設定では、コンソールで、ゲームの種類はCSで、Portは27016、収容人数32人、マップはde_dust2のサーバを起動してくれます。
自分の環境に合わせてこのあたりを書き換えたりすると、いいです。

Step.2 ZBOTを導入してみる。

zbotを導入すると、コンピュータを相手に練習することができるようになります。
コンソールの操作が必要になります。

手順

zbot_cstrikeの中身を全てcstrikeに移す。
コレで導入は完了です。簡単でしょ?
radioとかしゃべらせることもできるようですが、ほとんど無意味なので、
その辺は削除してファイルサイズが少なく済むようにしました。


次にzbotの操作を書きます。


zbotにはコンソールのコマンドで指示を出すことができます。
主に使うリストを貼り付けておきます。

  • bot_add_t・・・T側にBOTを追加する。
  • bot_add_ct・・・CT側にBOTを追加する。
  • bot_kick・・・今いるBOTを駆除する。
  • bot_difficulty 0〜3・・・BOTの強さ。0〜3(数値が大きいほど強い。練習するなら0で十分。)
  • bot_allow_shield 0or1・・・シールドの購入を許可します(1で許可, 0で不許可)

他にもいろいろありますが、よく使うのはこの辺です。
CSのサーバのコンソールへ、bot_add_tと打ち込んでみましょう。BOTが追加されるはずです。
(初めてそのMAPへBOTを追加したとき、最初の1回だけ、BOTの学習(navファイルの作成)が行われるので遊べるまで少し時間がかかります。)
また、rconで操作する場合も、rcon_passwordを入力した後、
rcon bot_add_t
とすると、CS上からでもサーバへBOTを追加させることができます。


後は好きなMAPでBOTと戯れて、飽きたらbot_kickするだけです。


また、rconで操作できる設定は、設定ファイルに書いても反映されます。
毎回"bot_allow_shield 0"などを打つのがめんどくさい場合は、server.cfgなどに書いておくといいですね。

Step.3 AMXXの導入

ここからは少し難しくなりますが、導入できれば、サーバをいじる楽しみも増えます。
AMXXはAMXの後継で、プラグインによってCSへいろんな特殊な演出や効果を加える事ができます。
たとえば、1ラウンドでどの敵にどれだけダメージを与えたのかとか、弾無制限など。
海外で探すと実用的なものからユニークなものまでいろいろあります。


注意点は、zbotと共存できない点です。
AMXXとzbotの2つの鯖を作るのもいいかもしれません。
共存させることはできます。Metamodの使い方になってくるので、省略します。

手順

amxx_cstrikeの中身を全てcstrikeへコピー。


そして、いつもどおりサーバを起動したとき、
MetamodやAMX Mod Xなどの単語が出ていれば、AMXXの導入は無事できています。
ためしに今稼動しているプラグインをチェックしてみましょう。
コンソールに以下のコマンドを打ち込みます。
amxx plugins

プラグインの追加

AMXXを生かすにはプラグインを追加しないとお話になりません。
プラグインは探すとたくさんありますし、自分でプログラミングすることもできます。


簡単に導入手順を書いておきます。

  1. cstrike\addons\amxmodx\plugins へ、使うプラグインファイル(〜.amxx)を追加する。
  2. cstrike\addons\amxmodx\configs\plugins.ini へ、使うプラグインファイルの名前を記述する。


これだけでプラグインを導入できます。
今回は僕が作ってみた弾無限プラグインを導入してみましょう。
amx_resource.amx という弾無限プラグインを真似た amx_resource.amxx です。
(ソースはcstrike\addons\amxmodx\scripting\amx_resource.smaにあります。)
投げ物の補充の処理以外はほとんど一緒です。


pluginsフォルダに既にamx_resource.amxxを追加してありますので、
cstrike\addons\amxmodx\configs\plugins.ini に
amx_resource.amxx
の1文を書き加えたら、サーバを起動してみましょう。


コマンドの説明です。コンソールに打ち込むと

  • amx_resource・・・この機能をONにする(弾無限になる)
  • amx_unresource・・・OFFにする


これでお楽しみいただけますが、2つほど注意があります。


投げ物は一定時間ごとに補給されません。
最初に投げ物を購入する必要があります。


rcon操作でない場合でも、コマンドを受け付けてしまいます。
普通は、rconで操作する場合は、
rcon amx_resource
としますが、
amx_resource
でも反映されてしまいます。
もし、練習目的以外でこのプラグインを使う場合は、必ず外すようにしてください。
plugins.iniの行の先頭にセミコロンをつけることで、その行をコメントアウトできます。


これらに注意してお使いください。