今日は、BattleField 2ゲームサーバーをインストールして構成し、ローカルプレーヤーの統計情報を関連付ける方法を説明します。
サーバー:
HP ProLiant ML350 G5
インテル®Xeon®5160
8 Gb RAM ECC
OS Ubuntu 12.04 LTS(GNU / Linux 3.2.0-23-generic x86_64)
ここに私の目を引いたそのような無料のマシンがあります。 構成を見て、Webサーバー、データベース、およびそれに応じてゲームサーバーを1台のマシンで処理することにしました。
OSのインストールについては説明しません。必要なパッケージから始めます。
Webサーバー、データベース、およびWebサーバーのバインディングを機能させるには、Apache、MySQL、PHP、および統計が必要です。apacheモジュールはASMスクリプトの実行をサポートしています。
便宜上、サーバー部分のすべてをシステムのルートにある別のディレクトリに保存します。
sudo mkdir /server cd /server sudo mkdir site sudo mkdir bf2
Webサーバー、PHP、MySQLのインストール
それで、インストールを始めましょう:
sudo apt-get install apache2 apache2-mpm-prefork apache2-utils apache2-suexec libapache-asp-perl php5 php5-mysql libapache2-mod-php5 php-pear mysql-server mysql-client libmysqlclient15-dev
*インストール中に、MySQLサーバーはパスワードの入力を求めます。
仮想ホストをセットアップします。
現時点では、完全に機能するWebサーバーを取得する必要があります。 ローカルネットワーク上のコンピューターから任意のブラウザーを介してサーバーのIPアドレスにアクセスして確認します。 画面に、すべてが正常に機能する場合、 「It、works!」という碑文が表示されます。
仮想ホスト構成ファイルを変更します。
sudo nano /etc/apache2/sites-available/default
ファイルの内容を消去し、新しい仮想ホストを挿入します。
<VirtualHost .IP.:80> ServerAdmin somemail@some.ru ServerName .IP. ServerAlias .IP. DocumentRoot /server/site ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ </VirtualHost>
これで、サイトのあるフォルダーは
/server/site
ます。
BattleField 2サーバーをインストールして構成する
この段階では、問題がありました=) EAのサイトで戦闘のサーバー部分を見つけることができなかったため、 bf2-linuxded-1.5.3153.0-installer.shファイルをインターネットで探し回る必要がありました。
bf2-linuxded-1.5.3153.0-installerファイルをダウンロードします。
sudo wget ///bf2-linuxded-1.5.3153.0-installer.sh
ダウンロードが完了すると、インストールは次のようになります。
sudo chmod +x bf2-linuxded-1.5.3153.0-installer.sh sudo ./bf2-linuxded-1.5.3153.0-installer.sh
インストール後、サーバー構成を編集します。
sudo nano /server/bf2/mods/bf2/settings/serversettings.con
構成ファイルのおおよその内容とそれに必要な変更:
sv.serverName "" // sv.password "" // sv.internet 1 // 1, . sv.serverIP "XX.XX.XX.XX" // sv.serverPort 16567 // sv.welcomeMessage "" // sv.punkBuster 1 // punkBuster sv.ticketRatio 100 // 100 sv.roundsPerMap 3 // sv.timeLimit 1800 // , 1800 = 30 sv.scoreLimit 0 // sv.autoBalanceTeam 1 // sv.useGlobalRank 1 sv.useGlobalUnlocks 1 // . sv.friendlyFireWithMines 1 //
それは基本的にすべてです...起動する準備ができました!
これで、サーバーを起動して再生を開始できます。 しかし、ランクとプレーヤーの完全な統計が必要な場合は、続きを読んでください...
サーバーに統計をインストールする
統計については、 www.bf2statistics.comからダウンロードできるスクリプトを使用できます。
BF2Statistics 1.5.1ファイルをダウンロードする必要があります(必要なのは、サイトに登録してファイルにアクセスすることだけです)。
アーカイブコンテンツ-
クライアントファイル
サーバーファイル
Webファイル
最も単純なものから始めましょう。
データベースのセットアップ。
mysql -u root -p CREATE DATABASE `bf2stats` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
ベースの準備ができました!
Pythonパーツのセットアップ
サーバーファイルフォルダーから、 サーバーのフォルダー(/ server / bf2)にコンテンツをコピーし、それぞれファイルを置き換えます。
ファイル/server/bf2/python/bf2/BF2StatisticsConfig.pyの編集
sudo nano /server/bf2/python/bf2/BF2StatisticsConfig.py =========================================================== # ------------------------------------------------------------------------------ # Backend Web Server # ------------------------------------------------------------------------------ http_backend_addr = '.IP.' http_backend_port = 80 http_backend_asp = '/ASP/bf2statistics.php' # ------------------------------------------------------------------------------ # Player Manager # ------------------------------------------------------------------------------ pm_backend_pid_manager = 1 pm_local_pid_txt_file = 'python/bf2/pid.txt' # Relative from BF2 base folder pm_ai_player_addr = '.IP.' # Not recommended to change
保存します。
ASPセットアップ
ASPフォルダーと、 bf2scloneディレクトリーのすべてのファイルを、Webファイルディレクトリーからサイト(/ server / site)のディレクトリーにコピーします。これは、FTPサーバーとmcファイルマネージャーを使用して行いました。
権利で急上昇しないように、/ server / siteフォルダーにアクセス権777を設定します。
sudo chmod 777 -R /server/site
セキュリティが重要な場合、サーバーに必要な777権限を持つファイルのリストは次のとおりです。
/ASP/_config.php
/ASP/_config.php.bak
/ Asp / _backup
/ ASP /ログ
/ ASP /ログ/ _processed
統計のASP部分を構成します。
/server/site/sys-games/ASP/system/config/config.phpの編集
sudo nano /server/site/sys-games/ASP/system/config/config.php =============================================================== $db_host = '.IP.'; # $db_name = 'bf2stats'; # $db_user = 'root'; # $db_pass = 'my_pass'; # $admin_user = 'admin'; # $admin_pass = 'admin_password'; # $admin_hosts = array('127.0.0.1','.IP./'); # IP IP Web- $stats_lan_override = '.IP.'; $stats_local_pids = array('LocalPlayer01','.IP.','LocalPlayer02','.IP.'); $game_hosts = array('127.0.0.1','.IP.','.IP./24'); # IP- . .
次に、ブラウザを開き、アドレスに移動します
.ip./ASP
.ip./ASP
。 管理パネルが開き、構成ファイルの編集時に入力した資格情報が表示されます。 左側のメニューで[ DBのインストール ]をクリックします 。
データベースをインストールすると、合格したDBテストに関するレポートが表示されます。 すべてが正常である場合、各アイテムを渡すことは値Passedになります。
さらに、左側のメニュー「システム=>構成の編集」に移動すると、サーバー構成をより詳細に検討できます。
Webストラッピングの構成
次に、ブラウザを開き、アドレスに移動します
.ip.
.ip.
。 Webサーバー統計サーバーのインストールページが開きます。インストールスクリプトの指示に従ってください。
インストールが正常に完了したら、構成バインディングファイルを編集できます。
sudo nano /server/site/config.inc.php ====================================================== $DBIP = 'localhost'; // $DBNAME = 'bf2stats'; // $DBLOGIN = 'root'; // $DBPASSWORD = ''; // $TITLE = ''; //
この段階で、統計のインストールが完了します。 いつものように、大きなファイルを受け取り、「船の状態に合わせた機関車」を仕上げます...
ファイルを操作する
サーバーがキーの有効性をチェックしないように:
iptablesパッケージをインストールします。
sudo apt-get install iptables
次に、「ネットワークに接続されているとき」の構成にポートブロッキングを含む次の行を追加しました。
sudo nano /etc/network/if-up.d/upstart iptables -A INPUT -m udp -p udp --sport 29910 -s 0/0 -j DROP iptables -A INPUT -m udp -p udp --sport 139 -s 0/0 -j DROP iptables -A INPUT -m tcp -p tcp --sport 29910 -s 0/0 -j DROP iptables -A INPUT -m tcp -p tcp --sport 1433 -s 0/0 -j DROP iptables -A INPUT -m tcp -p tcp --sport 1434 -s 0/0 -j DROP iptables -A INPUT -m tcp -p tcp --sport 139 -s 0/0 -j DROP
カードの変更:
サーバー上のカードを変更するには、ファイル/server/bf2/mods/bf2/settings/maplist.conを編集する必要があります
sudo nano /server/bf2/mods/bf2/settings/maplist.con ===================================================== //mapList.append _ _ _ mapList.append mashtuur_city gpm_cq 16 mapList.append road_to_jalalabad gpm_cq 16 mapList.append sharqi_peninsula gpm_cq 16
ゲームのクライアント側:
ドメインのセキュリティポリシーでは、bf2statistic.comサイトで提供されているvbsスクリプトを使用できません。 だから私は反対に行きました。
folder%SystemRoot%/ Drivers / etcで、行を追加したhosts.ics ファイルを作成しました:
.IP. bf2web.gamespy.com
この行により、ゲームをサーバーにリダイレクトできます。
サーバー起動
すべてだと思います。 サーバーを起動できます:
cd /server/bf2 ./start.sh
またはスクリーンを通して
sudo screen cd /server/bf2 ./start.sh
キーの組み合わせCtrl + Aで画面からデタッチし、Dを押します。
この記事は完了しました。質問や問題がある場合は、コメントでご相談ください。
UPD1 :テキストのタイプミスを修正。