はじめに
L4D2用のPVPサーバーを立てる上で古い記事やGcoreを使った構築記事しか見つからなかったので、AWSで構築する際の作業をまとめておく
L4D2-Competitive-Rework について
自分で各種プラグインを管理するのは非常に大変なため、今回は以下のパッケージを使う
https://github.com/SirPlease/L4D2-Competitive-Rework
今も活発に更新されており、以下のルールで遊ぶことができる
Zonemod 2.8.9e
Zonemod Hunters
Zonemod Retro
NeoMod 0.4a
NextMod 1.0.5
Promod Elite 1.1
Acemod Revamped 1.2
Equilibrium 3.0c
Apex 1.1.2
インフラ
ゲームサーバー用の最小限のEC2を立てておく
↓大体こんな感じ

- ElasticIPで公開IPアドレスを固定化しておく
- 後からポート27015を使うので、セキュリティグループで許可しておく
- EC2へはSSHするので、キーペアを登録しておくこと
- AMIはubuntuのものを使用すること
EC2へSSHして、以下を実行する
パッケージのインストール
Steamサーバーを使用するためには以下が必要
libc6:i386をインストールする必要があるので、dpkg --add-architecture i386を行っている
sudo apt-get -y update
sudo apt-get -y upgrade
sudo dpkg --add-architecture i386
sudo apt-get install -y libc6:i386 lib32z1
SteamSDKとL4D2サーバーのダウンロード
L4D2サーバーのLinux版は、配布がすでに終了している
だが、先にwindowsをインストールしておき、後から追加でファイルをインストールするという形でLinux版を入手することができる
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
./steamcmd.sh +force_install_dir ./Steam/steamapps/common/l4d2 +login Anonymous +@sSteamCmdForcePlatformType windows +app_update 222860 validate +quit && ./steamcmd.sh +force_install_dir ./Steam/steamapps/common/l4d2 +login Anonymous +@sSteamCmdForcePlatformType linux +app_update 222860 validate +quit
PVP用プラグインのクローン
有志が配布しているプラグインの塊
これを丸ごと入れればPVPが楽しめる
git clone https://github.com/SirPlease/L4D2-Competitive-Rework/
sudo cp -r ./L4D2-Competitive-Rework/* ~/Steam/steamapps/common/l4d2/left4dead2/
サーバーの起動
Steamで用意されているsrcds_runコマンドを使用する
/home/ubuntu/Steam/steamapps/common/l4d2/srcds_run \
-game left4dead2 \
-port 27015 \
+sv_clockcorrection_msecs 25 \
-timeout 10 \
-tickrate 100 \
+map "c1m1_hotel versus" \
-maxplayers 14 \
+servercfgfile server.cfg
サーバーについて
t3.microやt3.smallではカクツクことがある
その際はCPUの良いC6iやC7aを使用することで改善できる
また、動作確認の際にはZonemodの1v1モードがあるので、もう一人いれば一通りの対戦を確認できる