steamcmdセットアップ

ゲームサーバアプリケーションをダウンロードするのに使う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フォルダが作成され、その中にゲームデータがあるはずです。

コメント

タイトルとURLをコピーしました