Counter-Strike 1.6 サーバ構築方法


Blogspot時代にカリカリ書いてた情報が、古くなってたりした箇所が幾つかあったので、まとめて書きます。
とは言っても、 Valve Developer Community (英語) に書いてあることの日本語訳+α程度ですが…
なお、この記事ではルータのポート開放については説明しません。
記事を書いた時点(2014/02/03)での情報なのでバージョン等は違う場合があると思いますが、よく公式サイトの文章を読んだ上でお願いします。


必要なもの

  • サーバ機 (Ubuntu 12.04 64bit インストール済み)
  • インターネット接続環境

準備

64bit 環境なので、32bit ライブラリをインストール

sudo apt-get install lib32gcc1

Debian 7 64bit の人はこんな感じ

dpkg --add-architecture i386
apt-get update
apt-get install lib32gcc1

ユーザ名を user
インストール場所を /home/user/cs/
SteamCMDの配置場所を /home/user/Steam/
としておきます。

構築

SteamCMD用のディレクトリを作成し、移動

mkdir Steam
cd Steam

SteamCMDをダウンロード

wget http://media.steampowered.com/client/steamcmd_linux.tar.gz

圧縮ファイルなので解凍後、削除

tar xvfz steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz

SteamCMDを実行し、Counter-Strike サーバをダウンロード

./steamcmd.sh +login anonymous +force_install_dir ../cs/ +app_update 90 +app_set_config 90 mod cstrike +app_update 90 validate +quit

上記の操作で、 /home/user/cs/ に一式ファイルが作成されているはずです。


実際にサーバを起動してみます。が…一応おまじないで

cd ../cs
echo 10 > steam_appid.txt

以下のコマンドで起動

./hlds_run -game cstrike +maxplayers 30 -port 27015 +map de_dust2

この状態でゲームを起動し、 connect サーバのローカルIP:27015 とでもすれば、入れるはずです。
UbuntuでのローカルIPの調べ方は、 ifconfig で見れます。

無事入れたでしょうか? 入れたとしても

  • サーバ側のFPSがあまり出ていない
  • AMXX MODXが入っていないのでプラグインが使用できない
  • VACに接続できない

等色々あると思います。
なので、サーバの設定を見てみましょう。まずはサーバを終了させ

quit

10 secなんちゃらかんちゃら~ というメッセージが出たらCtrl+Cで落します。
次にサーバ設定を編集

nano cstrike/server.cfg

なんかごちゃごちゃ表示されるはずなので、私が書いた設定を参考に書き換えてみてください。

// Counter-Strike 1.6 ServerConfig
// LastUpdate 2014-01-26
// Create by @_k725
 
echo ********** server.cfg load start
 
hostname			"[JP] iesaba.com - SurfServer"	// Server name.
sv_password		""					// Server password.
rcon_password		"***************"			// rcon password.
sv_rcon_log		1					// RCONのログを出力するようにする
sv_rcon_banpenalty	60					// rconの認証に複数回失敗した時にペナルティとして何分間BANするか
sv_rcon_maxfailures	5					// 何回ユーザーがrconの認証を失敗したときにBANするか
sv_rcon_minfailuretime	60				// この秒数だけrconの失敗を追跡します
sv_rcon_minfailures	5					// sv_rcon_minfailuretime内で何回ユーザーはRCON認証に失敗しても大丈夫か
pausable 			0					// pause command.
fps_max			300					// FPS最大値
sv_maxupdaterate	60					// データの要求する頻度の制限
sv_minupdaterate	10					// データの要求する頻度の制限
sv_maxrate		0					// レート制限
sv_minrate			100000				// レート制限
sys_ticrate			1050					// サーバー側のFPSの最大値 起動時の引数に-sys_ticrate 1000を入れる
sv_downloadurl		""					// MAPダウンロードURL
sv_aim			0					// AA無効
sv_region			4					// 地域設定 0:アメリカ東海岸 1:アメリカ西海岸 2:南アメリカ 3:ヨーロッパ 4:アジア 5:オーストラリア 6:中東 7:アフリカ 255:全世界
sv_maxspeed		320					// プレイヤー最大移動速度
sv_timeout			10					// タイムアウトの時間
sv_cheats			0					// チート許可
sv_allowupload		1					// クライアントのアップロード許可
sv_allowdownload	1					// クライアントのダウンロード許可
sv_airaccelerate		100					// 加速設定(?)
sv_voiceenable		0					// VCを有効にする
sv_voicecodec		"voice_speex"			// VCコーデック
sv_voicequality		3					// VCのクオリティ 1~5で数値が大きくなるほど高音質
sv_alltalk			1					// ボイスチャットが聞こえる範囲 1で全員 0でチーム
mp_freezetime		0					// 開始停止時間
mp_chattime		5					// マップが変わる際のチャットタイム
mp_timelimit		0					// 1マップの時間 これを過ぎると次のマップへ
mp_roundtime		0					// ラウンド時間 これを過ぎると次のマップへ
mp_maxrounds		0					// 1ゲームの総ラウンド数 これを過ぎると次のマップへ
mp_startmoney		800					// ラウンド開始時の所持金
mp_friendlyfire		0					// 味方攻撃の有無
decalfrequency		10					// スプレー継続時間(分)
mp_autoteambalance	0					// オートチームバランス
mp_playerid		0					// AIMを合わせた際名前表示する
mp_hostagepenalty	0					// 人質Kill
mp_flashlight		1					// フラッシュライトの有無
mp_autokick		0					// AutoKick
mp_limitteams		32					// 片方のチームに許可するプレイヤー数
mapchangecfgfile	"server.cfg"			// マップ変更時に読み込まれる設定ファイル
 
// exec
exec listip.cfg
exec banned.cfg
 
echo ********** server.cfg load end

主に変更して欲しい点は、 hostnamercon_password の二箇所です。
基本的に 0 が無効、 1 が有効で記述してあるのでそのルールに沿って書きます。

VACに接続できてない問題はhostsの問題なのでhostsを編集します

sudo nano /etc/hosts

で1行目を編集します

127.0.0.1       ホスト名 localhost

Ctrl+O で保存し、サーバを起動します(pingboostを付ける)

./hlds_run -game cstrike -secure +maxplayers 30 -port 27015 +map de_dust2 -pingboost 2

サーバ側で stats と入力し、FPSが500以上(大体)なら問題無いです。

stats
CPU   In    Out   Uptime  Users   FPS    Players
4.67  0.00  0.00       0     0  920.42       0

プラグインの導入を行わない設定は上記で終了です。
Metamod と AMX Mod X を使用する方法を続けて書きます

まずは Metamod のサイトから v1.20 linux Binary をダウンロードします
その後 AMX Mod X のサイトから AMX Mod X Base v1.8.2 LinuxCounter-Strike Addon 1.8.2 Linux をダウンロードします。

面倒なのでWindows上で行いましたが、Linuxでできる方はそれで問題無いです。

  • metamod-1.20-linux.tar.gz
  • amxmodx-1.8.2-base-linux.tar.gz
  • amxmodx-1.8.2-cstrike-linux.tar.gz

上記3つのファイルを順番に展開します。(metamod -> amxmodx-base -> amxmodx-cstrike)
いくつか競合するファイルが有りますが、上書きしてしまって問題無いです。
Metamod の展開時に(WinRARだと)シンボリックリンクのエラーが出ますが無視してください。
addons フォルダに、 metamod というフォルダを作成し、その中に dlls というフォルダを作成してください。
dlls フォルダ内に、 metamod.so と、 metamod_i386.so を移動させます。
1つ上の階層の metamod フォルダに 空のテキストファイルを2つ作成します。名前は config.iniplugins.ini にします。
plugins.ini を開き、中に

linux addons/amxmodx/dlls/amxmodx_mm_i386.so

と書き、保存します。
フォルダ構成が以下のようになっていれば問題無いです。(Metamod配下のみファイル表示しています)

addons
|
+---amxmodx
|   +---configs
|   +---data
|   |   \---lang
|   +---dlls
|   +---logs
|   +---modules
|   +---plugins
|   \---scripting
|       +---amxmod_compat
|       +---include
|       |   \---amxmod_compat
|       \---testsuite
\---metamod
    |   config.ini
    |   plugins.ini
    |
    \---dlls
            metamod.so
            metamod_i386.so

addons フォルダをサーバ側に転送します。今回はSSHサーバを起動していたのでFileZillaから転送します。
/home/user/cs/cstrike/addons を移動させ、 /home/user/cs/cstrike/liblist.gam を編集します。

nano /home/user/cs/cstrike/liblist.gam

15行目に

gamedll_linux "dlls/cs.so"

という箇所があるので、

gamedll_linux "addons/metamod/dlls/metamod_i386.so"

に変更し、Ctrl+Oで保存します。
最低限必要なファイルの導入は終わったので起動してみましょう。

./hlds_run -game cstrike -secure +maxplayers 30 -port 27015 +map de_dust2 -pingboost 2

起動時にずらずらと流れるメッセージが増えているはずです。

Metamod version 1.20  Copyright (c) 2001-2013 Will Day 
   Metamod comes with ABSOLUTELY NO WARRANTY; for details type `meta gpl'.
   This is free software, and you are welcome to redistribute it
   under certain conditions; type `meta gpl' for details.
   

   AMX Mod X version 1.8.2 Copyright (c) 2004-2006 AMX Mod X Development Team 
   AMX Mod X comes with ABSOLUTELY NO WARRANTY; for details type `amxx gpl'.
   This is free software and you are welcome to redistribute it under 
   certain conditions; type 'amxx gpl' for details.

これで終了ですが、一応わかりやすいように、設定ファイル等の場所を書いておきます(フルパス)

設定ファイル全般

/home/user/cs/cstrike/addons/amxmodx/configs

プラグインの有効化無効化

/home/user/cs/cstrike/addons/amxmodx/configs/plugins.ini

プラグインの追加先

/home/user/cs/cstrike/addons/amxmodx/plugins

モジュールの有効化無効化

/home/user/cs/cstrike/addons/amxmodx/configs/modules.ini

各プラグインの言語ファイル

/home/user/cs/cstrike/addons/amxmodx/data/lang

分からない事とかがある場合は @_k725 に聞いてください。