LinuxとWindowsの両方でSteamCMDをダウンロードして実行する方法のガイドです。
SteamCMDは、ユーザーがSteamからアプリケーションをダウンロードできるCLIツールです。これは、Counter-Strike、Left 4 Dead 2、Garry's Mod、Rustなど、多くのゲームの専用サーバーファイルをダウンロードする際によく使われます!
SteamCMDのダウンロードと実行
まず、SteamCMDツールをダウンロードする必要があります。これを実現するにはいくつかの方法があり、パッケージを直接システムにダウンロードすることもできます。しかし、より細かく制御するために、ここでは手動でSteamCMDをダウンロードします。
Windows
WindowsでSteamCMDをダウンロードして展開する方法はこちらにあります。
- こちらから
steamcmd.zipファイルをダウンロードします。 steamcmd.zipファイルの内容を保存・展開するためのフォルダーを作成します。このガイドでは、E:\apps\steamcmdを使用します。- Windowsのzipツールを使って、
steamcmd.zipの内容を新しく作成したフォルダーに展開します。代わりに7-Zipのようなツールを使用することもできます。
これで、実行可能なsteamcmd.exeファイルが表示されるはずです。


Linux
LinuxでSteamCMDをダウンロードして展開する方法はこちらにあります。
SteamCMDをダウンロード、実行、展開するため、またサーバーファイルをダウンロードする場合はサーバーを実行するために必要な、いくつかのシステムパッケージをダウンロードしてインストールする必要があります。
Debian/Ubuntu系 (Apt)
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl tar
注意 - sudoがインストールされていない場合、su -コマンドでrootとしてログインし、このガイド全体でsudoを先頭に付けずにコマンドを実行する必要があります。

必須ではありませんが、SteamCMDとそこで動かす予定のゲームサーバーを実行するための専用ユーザーを作成することも推奨されます。
Debian/Ubuntu系システムでは、以下のコマンドを使って新しいユーザーを作成できます。
# Create apps group.
sudo groupadd apps
# Create apps user with home directory set to /home/apps and using /bin/bash as the shell.
sudo useradd -m -d /home/apps -g apps -s /bin/bash apps
# Login as apps.
sudo su apps -

次に、steamcmd_linux.tar.gzファイルの内容を保存するためのディレクトリを作成します。
# Create a 'steamcmd/' directory inside the user's home directory.
mkdir ~/steamcmd
# Change directories to the created directory from above.
# Tip - You can also use 'cd $_' if you've just created the new directory.
cd ~/steamcmd

次に、steamcmd_linux.tar.gzファイルをダウンロードして展開します。ファイルのダウンロードにはcurlまたはwgetコマンド、展開にはtarを使用することをお勧めします。このガイドでは、curlとtarを使ったワンライナーを使用します。
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
上記のコマンドが成功した場合、ls -lなどのコマンドで新しいディレクトリのファイルを一覧表示すると、新しいsteamcmd.shファイルが表示されるはずです。

以下のコマンドを使って新しいsteamcmd.shプログラムを実行できます。これによりSteamCMDのインストールも更新されます。
./steamcmd.sh

アプリケーションファイルのダウンロード
SteamCMDを起動したら、まず最初に行う必要があるのは、force_install_dirコマンドを使ってアプリケーションのファイルをインストールするディレクトリを設定することです。
例えば、Left 4 Dead 2のサーバーファイルをダウンロードし、Linuxでは/home/apps/l4d2、WindowsではE:\apps\l4d2にサーバーファイルをインストールしたいとします。
Linuxでは、コマンドは以下のようになります。
force_install_dir /home/apps/l4d2
Windowsでは、コマンドは以下のようになります。
force_install_dir E:\apps\l4d2
その後、login <username>コマンドを使ってSteamにログインします。アプリケーションの専用サーバーファイルをダウンロードする場合、多くの場合SteamCMDを通じて匿名でサインインできます。つまり、ファイルをダウンロードする前にSteamのユーザー名やパスワードを入力する必要はありません! 代わりに、以下のコマンドを使って匿名でログインできます。
login anonymous
サーバーファイルをダウンロードしていない場合は、Steamのユーザー名、パスワード、場合によっては2FAコードを指定する必要があります。
次に、インストールしたいアプリケーションのアプリIDを取得します。サーバーファイルをダウンロードしている場合は、このリストを確認することをお勧めします。
参考として、よくダウンロードされるサーバーファイルのIDの一覧を以下に示します。
- Counter-Strike 2 -
730 - Counter-Strike: Source -
232330 - Left 4 Dead 2 -
222860 - Garry's Mod -
4020 - Team Fortress 2 -
232250 - Rust -
258550
次に、app_update <app ID>コマンドを使ってアプリケーションファイルをダウンロードまたは更新します。さらに、アプリケーションファイルが破損していないか検証したい場合は、コマンドの末尾にvalidateを追加できます。ただし、validateを末尾に付けるとコマンドの完了に時間がかかることに注意してください!
例えば、インストールを検証せずにLeft 4 Dead 2のサーバーファイルをダウンロードするには、以下のコマンドを使用します。
app_update 222860
次は、Left 4 Dead 2のサーバーファイルをダウンロードし、インストールを検証する別の例です。
app_update 222860 validate
サーバーファイルのダウンロードには、ネットワークやディスクの速度によってある程度時間がかかります。
スクリプトファイルによる自動化
SteamCMDを使ってアプリケーションファイルを作成・更新する作業を簡略化するために、スクリプトファイルを利用することができます。これにより、単一のスクリプトを実行するだけでアプリケーションファイルのダウンロードや更新を自動的に行えるようになります。
SteamCMDやアプリケーションファイルの場所、ダウンロードするアプリIDなどを簡単に設定できるよう、環境変数を使用したスクリプトを作成します。
以下の手順に従ってください。
Windows
アプリケーションファイルが保存されているフォルダ内に、update-app.bat というBatchファイルを作成します。
@echo off
set STEAM_CMD_LOC="E:\apps\steamcmd"
set STEAM_USER="anonymous"
set STEAM_PASS=""
set INSTALL_DIR="..\my-app"
set APP_ID="<APP ID>"
cd "%STEAM_CMD_LOC%"
start "" steamcmd.exe +force_install_dir "%INSTALL_DIR%" +login "%STEAM_USERNAME%" "%STEAM_PASSWORD%" +app_update %APP_ID% validate +quit
Linux
アプリケーションファイルが保存されているディレクトリ内に、update-app.sh というBashスクリプトを作成します。
#!/bin/bash
STEAM_CMD_LOC=../steamcmd/
STEAM_USER="anonymous"
STEAM_PASS=""
INSTALL_DIR=../my-app
APP_ID=<APP ID>
$STEAM_CMD_LOC/steamcmd.sh +force_install_dir $INSTALL_DIR +login "$STEAM_USER" "$STEAM_PASS" +app_update $APP_ID validate +quit
結論
これで完了です!これで、スクリプトファイルを使って、あるいはコマンドを一つずつ実行することで、SteamCMDを使ってアプリケーションを自動的に作成・更新できるようになったはずです。
ご質問やこのガイドの改善に関するご提案がある場合は、こちらのトピックへ返信してください!このガイドは今後も継続的に改善・更新していきます。
Discordサーバーにぜひ参加してください!

