ゲームサーバアプリケーションをダウンロードするのに使うsteamcmd。
その基本的な使い方を紹介。
環境:Ubuntu 22.04
導入
rootユーザでsteamcmdの動作に必要なパッケージをインストール
apt update apt install lib32gcc-s1 libc6-i386
ゲームサーバーを動かす一般ユーザでログイン
steamcmdをダウンロードし解凍
cd ~/ wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz tar -xvzf steamcmd_linux.tar.gz
一度steamcmdを起動し初期処理を行う。
./steamcmd.sh
初期処理が終わると下記画面になるので、quitを入力しEnterで終了。
設定
ゲームサーバば頻繁にアップデートが来る。
その度にsteamcmdを起動し、
コマンドを入力するのは面倒なので設定を予めしておき簡素化する。
下記サイトから対象のゲームIDを調べる。
Dedicated Servers List ( Valve Developer Community )
今回は例としてKilling Floor2(KF2)で作業を行っていく。
※Windows版とLinux版とではIDが異なる場合があるので注意。
各項目の意味
ID | ダウンロードに必要なID |
SteamCMD | steamcmdに対応しているか |
Steam Client | 一般向けSteamClientでダウンロードできるか |
Anonymous Login | 匿名ログインできるかどうか YES=匿名ログイン可(ログイン不要) NO=匿名ログイン不可(ゲームを購入したアカウントでログインが必要) |
KF2のIDは232130で匿名ログインが可能ということが分かりました。
設定ファイルを作成していきます。
適当な名前をつけファイルを作成。
vim kf2info.txt
内容
@ShutdownOnFailedCommand 1 @NoPromptForPassword 1 login anonymous force_install_dir ./kf2 app_update 232130 validate quit
login anonymous : 匿名ログインを行う
force_install_dir : インストールディレクトリを指定
app_update : IDを指定する。
※validateは整合チェックを行うという意味。
存在しなければダウンロード、破損していればダウンロードし置き換え
Anonymous LoginがNOの場合
先程のDedicated Servers ListでAnonymous LoginがNOの場合、
匿名ログインができません。
ゲームを購入したユーザでsteamにログインする必要があります。
login anonymousをコメントアウトし、ログイン情報を設定します。
login (steamのユーザ名) (steamのパスワード)
//login anonymous login steamusername steampassword
※ワンタイムパスワード認証をONにしているアカウントの場合、ログイン時にワンタイムパスワードの入力を求められます。
Anonymous LoginがNOの場合の設定ファイル
@ShutdownOnFailedCommand 1 @NoPromptForPassword 1 login steamusername steampassword force_install_dir ./kf2 app_update 232130 validate quit
次にアップデート用の簡単なスクリプトファイルを作成します。
vim kf2update.sh
内容
#!/bin/sh ./steamcmd.sh +runscript kf2info.txt exit
実行できるようパーミッション設定を行う。
chmod +x kf2update.sh
この時点でのファイル・フォルダ構成は以下のようになっていると思います。
これで設定は完了です。
ダウンロード・アップデート
先程作成したkf2update.shを実行するだけです。
なければダウンロード、破損していればダウンロードし置き換えてくれます。
ゲームのアップデートがあった場合はゲームを終了した後、これを実行すればアップデートされます。
./kf2update.sh
ダウンロードしたデータはどこ?
設定ファイル内で
force_install_dir ./kf2
と設定したのでsteamcmd.shと同じ場所にkf2フォルダが作成され、その中にゲームデータがあるはずです。
コメント