TF2のサーバーをsteampipe化する方法
俺はCentOS6 64bit(Linux)にインストールしたのでその手順をメモ。
まずSteamPipeのクライアントをダウンロードします
とりあえず$HOME/srcdsにインストールする前提で話を進めます
$ cd ./srcds $ wget http://media.steampowered.com/client/steamcmd_linux.tar.gz -O ./steamcmd_linux.tar.gz
必要なライブラリを入れます。俺はCentOSなのでyumを使って入れます。
あなたの環境によっては不要な手順となります
$ sudo yum install glibc.i686 libstdc++.i686
Ubuntuとかのディストリビューション使ってる俺はどうしたらいいんやーみたいな人は次のURLに書いてあるので参考までにどうぞ。
https://developer.valvesoftware.com/wiki/SteamCMD#32-bit_libraries_on_64-bit_Linux_systems
SteamPipeのクライアントである、steamcmd.shをインストールします
$ tar xvfz ./steamcmd_linux.tar.gz
ためしにsteamcmdを実行してみます
$ ./steamcmd.sh +login anonymous +quit
たぶんOKですね。たまに返ってこなくなってフリーズ(死語)みたいになる時がありますがそういうときはCtrl-Cおしてください。とりあえず動くか知りたいだけみたいな感じなので。
さて、steamcmdを利用してTF2をインストールしてみます
通常、SteamPipeは自分のSteamアカウント(とパスワード)でサーバーファイルをダウンロードしますがanonymousアカウントでダウンロードすることもできるので、今回はそうしてみることにします。
ちなみにTF2のdedicated serverのapp_idは232250です
$ ./steamcmd.sh +login anonymous +force_install_dir ./tf +app_update 232250 validate +quit
このままあとは待っとけば大丈夫です。なんか俺の場合は複数台にインストールしたのですが、たまにエラーで死亡してる時がありました。しかし上記コマンドを再度実行すれば続きからダウンロードが再開されます。冪等性の保証された良いクライアントですね☆。
あと注意点ですがいろいろファイルの場所が変わりました。気をつけて。具体的には一番上のフォルダに合ったファイルがcfgの下に移動したみたいな感じです。srcds起動時のエラーメッセージを良くチェックしてみてください。
- mapcycle.txt が cfg/mapcycle.txt に移動
- motd.txt が cfg/motd.txt に移動
- motd_text.txt が cfg/motd_text.txt に移動
srcds_runの場所も変わってて、
- tf/orangebox/srcds_run が tf/srcds_run に移動
しています。/etc/init.dに起動スクリプト作ってる人はそっちも修正しておきましょう。
あーあとsourcemodですが普通に動きました。
いつもと同じように、addonsってフォルダを作っていつもと同じように必要なファイルを配置するだけです。ちなみに使ったバージョンはmetamodはdevのsnapshotの最新で、sourcemodはdevのsnapshotの最新を使いました。
というかSteamPipe化は大きな変更でしたが、srcds自体はあんま変更ないはずで、まぁつまりサーバーファイルの配布方式が大きく変わっただけなので普通にsourcemod/metamodは安定版で動くと思います。わざわざsnapshot使う必要ないと思う。
追記1:
srcds_runの初回起動時になんか、Steam Library が見つからないみたいな警告がログに表示されて、そんでグローバルなIPアドレスにbindしてくれないっぽい気がする。再起動したらなおった。