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
主に変更して欲しい点は、 hostname
と rcon_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 Linux
と Counter-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.ini
と plugins.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 に聞いてください。