Twilight boring memorandum.

忘れないようにするためのメモ。

Counter-Strike 1.6 サーバ構築方法

2nd Posted
Date : 2014/02/03 13:53.04 ()
Category : Game Server

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 に聞いてください。



スポンサーリンク