Steamのdedicated serverを立てる#2 SteamCMD編

StemCMD とは

SteamのValve社が提供している、Steamクライアントのコマンドライン版です。Steamサーバーからソフトウェアをダウンロードしたり、アップデートが可能です。無料です。

SteamCMDにはLinux版とWindows版とがあります。サーバーの環境によってはGUIを持たなかったり、リモートデスクトップを扱えない場合があるので、こういったコマンドラインが用意されています。SteamCMD自身も自動アップデート?(コマンドを叩きますけど)できます。Windows版はリモートデスクトップを経由する方が多いかもですが、保守作業手順がマウス操作ではなくコマンドでできるのは楽です。バッチ化して作業誤りをなくすこともできます。

SteamCMDのダウンロード

Windows版

  1. SteamCMDのインストールフォルダを作成します。C:\steamcmd がオススメです。
  2. SteamCMDをhttps://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip からダウンロードします。
  3. 上記 steamcmd.zipを1のC:\steamcmdフォルダに解凍します。
  4. VC++の再頒布可能パッケージを一通りインストールします。通常は64bit版(X64)のみで構いません。古いサーバーソフトは32bit版(X86)が必要かもしれません。
    Visual Studio 2015, 2017, 2019, 2022を一括してインストールするMS社の固定リンクです。
    -64bit版 : https://aka.ms/vs/17/release/vc_redist.x64.exe
    -32bit版 : https://aka.ms/vs/17/release/vc_redist.x86.exe

Linux版

私自身がlinux版steamcmdを最近扱っていないので割愛します。管理ツールがWindows版のみだったりするので面倒なのです。linux版の方がOSのフットプリントが小さく気に入ってはいるのですが…

初期セットアップ

解凍したsteamcmdを実行すると自身が最新かチェックし関連ファイルも含めてダウンロード、アップデートしてくれます。実行にあたってはエクスプローラーから直接起動して構いません。
アップデート後、プロンプトにSteam> と表示されれば完了です。quitで終了します。steamcmd_setup

ゲームサーバーのインストール準備

通常、steamcmdでゲームサーバーをインストールすると、”c:\steamcmd\steamapps\common\” へゲームサーバーごとに作成されたフォルダに展開されます。

しかし、フォルダ階層が深く、Configファイルを指定するフルパスが長くなり、私は”c:\games”などといったフォルダをルート直下に作るようにしています。

つまり、c:\games というフォルダを作成しておきます。ゲームサーバーによっては大容量のHDDが必要なこともあるので、別ストレージを用意し別ドライブにしたり別ストレージをc:\gamesにマウントしてもいいでしょう。私は後者派です。

ゲームサーバーを新規インストールするためには、ソフトのアプリケーションIDとゲームの素性を調べておきます。リンク先にソフトが掲載されていないこともあります。でもまだあきらめないで。
Dedicated Servers List (https://developer.valvesoftware.com/wiki/Dedicated_Servers_List)

調べた結果を用いて、保守用batファイルを作成します。その手順は#3あたりで。

表を読むにあたってのポイント

  • Windows版とLinux版でAppID(アプリケーションID)が異なることがあります。表をきちんと選びましょう。Windows版とLinux版の表に分かれています。
  • Anonymous LoginがNoになっている場合は、ゲームを所有しているユーザーアカウントとパスワードでダウンロードする必要があります。二要素認証にしている場合はSteamガードによる認証コードを必要とします。
  • SteamCMDがNoの場合は通常のSteamクライアントからGUIを使ってインストールする必要があります。相当古いソフトだと思いますが、この場合、ここのドキュメントは役立たずです。スミマセン。
  • サーバーソフトがあるはずなのに掲載されていない場合、Steamクライアントを用いて自力で調べます。Steamクライアントのライブラリからカテゴリに「ツール」を選択し、目的のDedicated Serverを探します。当該サーバーを右クリックし、プロパティ→アップデートの順でメニューを選択し、AppIDを探します。画像の例はEmpyrion – Galactic Survival Dedicate Serverです。表に載っていませんがソフトは提供されています。Steam AppID