Left4Dead2サーバーのsteampipeでの更新方法

2013/07/01からsteampipeじゃないとサーバーが更新出来なくなったのでやり方のメモ

まずは作業用ディレクトリの作成(例としてディレクトリ名はl4d2とする)

mkdir l4d2

作ったディレクトリに移動

wget http://media.steampowered.com/client/steamcmd_linux.tar.gz

でsteamcmdをダウンロードする

tar -xvzf steamcmd_linux.tar.gz

でアーカイブを解凍

テキストエディタ

#!/bin/sh
./steamcmd.sh +login anonymous +force_install_dir /home/l4d2/left4dead2 +app_update 222860 validate +quit

という感じにして、update.shとか適当な名前で保存(chmodで実行権限付ける)

  1. force_install_dirの所のpathは、steamcmdを置いたところを指定する

そうしないとエラーが出る

保存したら

./update.sh

で実行しアップデートが終わるのを待つ。
この際うまくログインできないことがあるのでエラーがでたら何回か実行すると良い。
ログイン出来るとファイルのダウンロードが始まるので、しばらく待つ(もしエラーが出てダウンロードが途中で止まっても再実行することで途中からのダウンロードが可能)
ダウンロードが終わったらleft4dead2をインストールしたディレクトリにsrcds_runがあると思うので

./srcds_run -console -game left4dead2

とかこんな感じで実行するとサーバーが起動する

いままで起動スクリプトを組んでいた人は-autoupdateのオプションを付けると、-steam_dirと-steamcmd_scriptを指定しろ!とエラーが出るので
-steam_dir=steamcmdがあるディレクトリ
-steamcmd_script=steamcmdの起動スクリプトの場所
を指定しないといけないので書き換えが必要

steamcmd_scriptはsteamcmdを実行するときに入力するコマンドを箇条書きにして書く

login anonymous
force_install_dir /home/l4d2/left4dead2 ←l4d2をinstallしたdir
app_update 222860 validate
quit

こんな感じに
hoge.txtとか適当に保存して -autoupdate -steam_dir /home/l4d2 -steamcmd_script /home/l4d2/hoge.txtとか追加してやれば自動アップデート出来ると思う

steamcmdに関しては

https://developer.valvesoftware.com/wiki/SteamCMD

参照(英語サイト)

追記(2013.10.31)
steamcmd_scriptの書き方が悪いのか、どうもゲーム起動時にアップデートできないっぽいのでupdate.shを起動してアップデートしてからサーバーを起動させたほうがよさそうです