CountryFilter の特長は以下の通りです。
例1) C:/Program Files/Steam/SteamApps/myemail@foo.com/source dedicated server/cstrike/addons 例2) C:/HLServer/source/cstrike/addonsのようになっていれば OK です。
cstrike/addons/CountryFilter.vdf cstrike/addons/CountryFilter.dll cstrike/addons/CountryFilter_i486.so cstrike/addons/GeoIP.dat
"Plugin"
{
"file" "../hl2mp/addons/CountryFilter"
}
] plugin_print Loaded plugins: --------------------- 0: "CountryFilter-1.0.3 by Guwashi, http://d3.jpn.org/" ---------------------また、CountryFilter のバージョンは cf_version で確認できます。
] cf_version "cf_version" = "1.0.3" - CountryFilter Version
必要に応じて、以下の設定を server.cfg に追加します。デフォルトでよい場合は追加しなくてもかまいません。
例1) // 2文字の国コードで表示する 例) JP cf_country_print_mode "code" 例2) // 3文字の国コードで表示する 例) JPN cf_country_print_mode "code3" 例3) // 正式な国名で表示する 例) Japan cf_country_print_mode "name"
例) // プレーヤの接続を許可した時に表示するメッセージのフォーマット // 1 番目の %s はプレーヤの名前、2 番目の %s は国名が入ります // cf_allow_message "" と設定するとメッセージを表示しません cf_allow_message "%s (Country: %s) was allowed to connect." // プレーヤの接続を拒否した時に表示するメッセージのフォーマット // 1 番目の %s はプレーヤの名前、2 番目の %s は国名が入ります // cf_deny_message "" と設定するとメッセージを表示しません cf_deny_message "%s (Country: %s) was rejected by CountryFilter." // メッセージを表示しない国名を指定します // 国名の指定方法は cf_allow_from, cf_deny_from と同じです cf_message_exclude_from ""
cf_allow_from, cf_deny_from, cf_order を使ってプレーヤの接続を制限することができます。なお、2文字の国コードで指定してください。基本的に、Apache の mod_access モジュールの設定方法と同じです。以下の URL を参照してください。
http://httpd.apache.org/docs/mod/mod_access.html
cf_allow_from で接続を許可する国名を指定します。指定できる値は、"all", "", "--", "2文字の国コード" のどれかです。複数指定する場合はスペースで区切ります。"all" を指定すると全ての国名を許可します。"" (空文字列) を指定すると何もしません。"--" は国名が不明の場合です。LAN 内から接続するとIP アドレスが 192.168.xxx.xxx となり、国名を割り出すことができないため "--" (国名不明)と判断されます。そのため LAN からのアクセスを許可するには "--" を指定する必要があります。
例1) // 全ての国名を許可 cf_allow_from "all" 例2) // JP, US, LAN を許可 cf_allow_from "JP US --" 例3) // 何もしない cf_allow_from ""
cf_deny_from で接続を拒否する国名を指定します。指定できる値は、cf_allow_from と全く同じです。
cf_order でデフォルトのアクセス状態と、許可/拒否のフィルタが評価される順番を制御します。cf_order の値は "deny,allow" または "allow,deny" のどちらかでなければなりません。デフォルトは "deny,allow" です。
例1) // deny,allow の順番で評価されます // アクセスはデフォルトで許可されます cf_order "deny,allow" 例2) // allow,deny の順番で評価されます // アクセスはデフォルトで拒否されます cf_order "allow,deny"
以下に代表的な使い方の例を示します。
例1) // 全ての国を許可する(デフォルト) cf_order "deny,allow" cf_deny_from "" cf_allow_from "all" 例2) // JP と US と LAN のみ許可してそれ以外は拒否 cf_order "deny,allow" cf_deny_from "all" cf_allow_from "JP US --" 例3) // JP のみ拒否してそれ以外は許可 cf_order "allow,deny" cf_allow_from "all" cf_deny_from "JP"
国名コードについては以下のページを参照してください。
http://www.maxmind.com/app/iso3166
例) cf_status_command_alias "listplayers"
注意: この機能は実験的なものです。将来削除される可能性があります。
注意: この機能はプレーヤの設定ファイル (config.cfg) を書き変えます。
例) // プレーヤの名前に国名を付ける // 0: off (default), 1: on cf_force_change_name "1"
また、cf_country_tag で国名タグのフォーマットを変更できます。
例1) // 国名タグのフォーマット 例) JP|Guwashi cf_country_tag "%s|" 例2) // 国名タグのフォーマット 例) [JP]Guwashi cf_country_tag "[%s]"
以下のクライアントコマンドが使えます。
例)
] cf_status
# userid name uniqueid country
# 1 "foo" STEAM_0:0:xxxxxxx "Japan"
# 2 "bar" STEAM_0:0:xxxxxxx "Canada"
# 3 "baz" STEAM_0:0:xxxxxxx "Thailand"
:
また、cf_status_command_alias (変数) で cf_status コマンドの別名を設定することができます。
国名変換の精度を保つためには定期的に GeoIP.dat を最新のデータに置き替える必要があります。以下の URL から最新の GeoIP.dat をダウンロードして更新してください。
上記 URL から GeoIP.dat.gz をダウンロード、解凍して addons/GeoIP.dat にコピーしてください。
感想、要望、アイデア、バグ報告等を、以下のフォーラムで教えてください。
ソースコードはアーカイブ中の src フォルダにあります。また、Doxygen'd Code はこちらから参照できます。
Guwashi