SteamCMD on Ubuntu 完全ガイド — ゲームサーバー管理の基本コマンド

ゲームサーバー

SteamCMD を Ubuntu に入れたいけど、どのコマンドを打てばいいか分からない」という質問をよく見かけます。結論から言うと、Ubuntu 24.04 LTS では dpkg --add-architecture i386 で 32bit 対応を追加してから apt install steamcmd するだけで入ります。このガイドでは Ubuntu 24.04 の Docker コンテナで実際に確認した手順と、インストール後の基本コマンドをまとめました。

この記事のポイント

  • Ubuntu 24.04 では i386 アーキテクチャを追加してから apt install する(この順番を間違えると失敗します)
  • インストール時に EULA 同意のダイアログが出る。DEBIAN_FRONTEND=noninteractive だけでは不十分で debconf-set-selections が必要
  • SteamCMD の実体は /usr/games/steamcmd。初回起動時に Steam CDN から自己更新ファイル(約 40 MB)をダウンロードするのでネットワーク接続が必須
  • ゲームサーバー用途では SSH 鍵(ed25519)を使った接続管理がおすすめ

目次

  1. SteamCMD とは何か
  2. 前提環境と準備
  3. インストール手順(Ubuntu 24.04)
  4. 基本コマンドと使い方
  5. ゲームサーバー構築の流れ
  6. SSH 鍵でのアクセス管理
  7. よくあるエラーと対処法
  8. まとめ

SteamCMD とは何か

SteamCMD は Valve が公式配布している Steam コマンドラインクライアントです。GUI のない Linux サーバーで CS2・Valheim・ARK・Palworld などの専用サーバーをインストール・更新・管理するために使います。

Windows の Steam クライアントとほぼ同じことをコマンドラインで自動化できるので、毎回手動で更新しなくても cron で定期実行できます。Valve が直接配布しているので、非公式ツールを使うよりずっと安心です。

Valve SteamCMD 公式ドキュメント(developer.valvesoftware.com/wiki/SteamCMD)
Valve SteamCMD 公式ドキュメント(developer.valvesoftware.com/wiki/SteamCMD)

前提環境と準備

この記事で確認した環境は次のとおりです。

項目 バージョン / 値
OS Ubuntu 24.04 LTS (Noble Numbat)
確認方法 Docker公式イメージ ubuntu:24.04
SteamCMD 0~20180105-5 (noble/multiverse)
確認日 2026-06-21

注意

SteamCMD は 32bit バイナリ(i386)で配布されています。64bit の Ubuntu でもそのままでは動きません。dpkg --add-architecture i386 を実行して 32bit ライブラリを使えるようにしてから apt でインストールします。

インストール手順(Ubuntu 24.04)

手順1:リポジトリを更新する

まず apt を最新の状態にします。apt update を忘れると古いパッケージ一覧が使われて steamcmd が見つからないことがあります。




ubuntu@vps: ~
$ sudo apt update
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://archive.ubuntu.com/ubuntu noble/multiverse i386 Packages [148 kB]
Reading package lists… Done

手順2:i386 アーキテクチャを追加する

SteamCMD は i386(32bit)パッケージです。この手順を省くと「E: Package ‘steamcmd’ has no installation candidate」というエラーになります。




ubuntu@vps: ~
$ sudo dpkg –add-architecture i386
$ sudo apt update
Reading package lists… Done
$ apt-cache policy steamcmd
steamcmd:
Installed: (none)
Candidate: 0~20180105-5
Version table:
0~20180105-5 500
500 http://archive.ubuntu.com/ubuntu noble/multiverse i386 Packages

Ubuntu 24.04 では noble/multiverse リポジトリにバージョン 0~20180105-5 が収録されています(2026-06-21 確認)。

手順3:EULA 同意の事前設定をする

ここが正直一番詰まりやすいポイントです。SteamCMD はインストール中に EULA(使用許諾)への同意を求めるダイアログを出します。DEBIAN_FRONTEND=noninteractive を設定するだけでは不十分で、debconf-set-selections で事前に同意を記録しておく必要があります。




ubuntu@vps: ~
$ echo steam steam/question select ‘I AGREE’ | sudo debconf-set-selections
$ echo steam steam/license note ” | sudo debconf-set-selections

スクリプトや CI 環境で自動インストールするときはこの 2 行を先に実行します。

手順4:SteamCMD をインストールする




ubuntu@vps: ~
$ sudo apt install -y lib32gcc-s1 steamcmd
The following NEW packages will be installed:
gcc-14-base:i386 lib32gcc-s1 libc6:i386 libc6-i386
libgcc-s1:i386 libstdc++6:i386 steamcmd:i386
0 upgraded, 9 newly installed, 0 to remove and 6 not upgraded.
Need to get 9041 kB of archives. After: 35.1 MB of additional disk space.
Setting up lib32gcc-s1 (14.2.0-4ubuntu2~24.04.1) …
Setting up steamcmd:i386 (0~20180105-5) …

インストールは 9 パッケージ(約 9 MB ダウンロード、35 MB ディスク使用)で完了します。

SteamCMD インストール実ログ(Ubuntu 24.04 LTS / docker ubuntu:24.04 で実測)
SteamCMD インストール実ログ(Ubuntu 24.04 LTS / docker ubuntu:24.04 で実測)

手順5:インストールを確認する




ubuntu@vps: ~
$ which steamcmd
/usr/games/steamcmd
$ dpkg -l steamcmd
ii steamcmd:i386 0~20180105-5 i386 Command-line interface for Valve’s Steam

バイナリは /usr/games/steamcmd に置かれます。dpkg -l steamcmd でバージョン 0~20180105-5 が表示されれば成功です。

SteamCMD パッケージバージョン(apt-cache policy 実測)
SteamCMD パッケージバージョン(apt-cache policy 実測)

基本コマンドと使い方

SteamCMD は起動すると Steam> というプロンプトが出て対話モードになります。よく使う基本コマンドを確認しておきます。

①起動と終了




ubuntu@vps: ~
$ steamcmd
Redirecting stderr to ‘/home/user/Steam/logs/stderr.txt’
[ 0%] Checking for available update…
[ 100%] Download complete.
Steam Console Client (c) Valve Corporation
— type ‘quit’ to exit —
Steam> quit

初回起動時は Steam CDN から自己更新ファイルをダウンロードするので時間がかかります。+quit をオプションで渡すと対話モードに入らず即終了します:steamcmd +quit

②ログインしてゲームをダウンロードする

Steam にログインしてゲームのサーバーファイルをダウンロードするには次の書式を使います。




ubuntu@vps: ~
$ steamcmd \
+login anonymous \
+force_install_dir /opt/gameserver/cs2 \
+app_update 730 validate \
+quit

各オプションの意味は次のとおりです。

コマンド 意味
+login anonymous 匿名ログイン(無料公開のゲームサーバー)
+force_install_dir <path> インストール先ディレクトリを指定
+app_update <appid> Steam アプリ ID を指定してインストール・更新
validate ファイルの整合性チェック(壊れたファイルを再取得)
+quit コマンド終了後に SteamCMD を終了

代表的なゲームサーバーの App ID を下にまとめます(Valve の Steamworks ドキュメントで公開されています)。

ゲーム App ID ログイン
CS2 (Counter-Strike 2) 730 anonymous
Valheim 896660 anonymous
ARK: Survival Ascended 2430930 anonymous
Palworld 2394010 anonymous

App ID は +app_update+app_info_print で確認できますが、間違えやすいので Valve の Steamworks DB や各ゲームの公式 Wiki で必ず確認してください。CS2 の場合、クライアント(730)とサーバー(730 で anonymous で OK)は同じ ID ですが、ゲームによっては別の ID が必要な場合があります。

ゲームサーバー構築の流れ

専用ユーザーを作る

root でゲームサーバーを動かすのは避けます。セキュリティリスクが高いので、専用ユーザーを作ってそこで動かします。




ubuntu@vps: ~
$ sudo useradd -m -s /bin/bash gameserver
$ sudo su – gameserver
gameserver@vps:~$
gameserver@vps:~$ steamcmd +quit
Steam Console Client initialized.

systemd でサービス化する

ゲームサーバーを systemd で管理すると、OS 起動時に自動スタートしたり systemctl restart で再起動できたりして便利です。/etc/systemd/system/cs2server.service を作成します。




ubuntu@vps: ~
$ sudo systemctl enable cs2server
$ sudo systemctl start cs2server
$ sudo systemctl status cs2server
● cs2server.service – CS2 Dedicated Server
Active: active (running) since …

SSH 鍵でのアクセス管理

VPS でゲームサーバーを運用するときは、パスワード認証より SSH 鍵認証の方が安全です。Ubuntu 24.04 には OpenSSH_9.6p1 が付属しています(docker ubuntu:24.04 で確認)。




ubuntu@vps: ~
$ ssh -V
OpenSSH_9.6p1 Ubuntu-3ubuntu13.16, OpenSSL 3.0.13 30 Jan 2024
$ ssh-keygen -t ed25519 -f ~/.ssh/gameserver_key -N ” -C ‘gameserver@myserver’
Generating public/private ed25519 key pair.
Your identification has been saved in /home/user/.ssh/gameserver_key
Your public key has been saved in /home/user/.ssh/gameserver_key.pub
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx gameserver@myserver

ed25519 は RSA-4096 より短い鍵で同等以上の安全性があります。-N '' でパスフレーズなしにすると、cron や systemd サービスからの自動 SSH 接続が楽になります(その分、秘密鍵ファイルのパーミッション管理が重要になります)。

SSH鍵生成実ログ(OpenSSH_9.6p1 / Ubuntu 24.04 で実測)
SSH鍵生成実ログ(OpenSSH_9.6p1 / Ubuntu 24.04 で実測)

よくあるエラーと対処法

「E: Package ‘steamcmd’ has no installation candidate」

dpkg --add-architecture i386 を実行する前に apt update しているパターンです。i386 を追加してから再度 apt update してください。




ubuntu@vps: ~
$ sudo dpkg –add-architecture i386 && sudo apt update && sudo apt install steamcmd

SteamCMD 起動時に SSL エラーが出る

Docker 環境でデフォルトのブリッジネットワークを使うと、Steam CDN への HTTPS 接続で証明書エラーが出ることがあります。--network host オプションを付けるか、VPS 実機で直接実行すると回避できます。

「EULA が表示されてインストールが止まる」

自動化スクリプトで EULA ダイアログが止まる場合は、手順3 の debconf-set-selections を事前に実行します。




ubuntu@vps: ~
$ echo steam steam/question select ‘I AGREE’ | sudo debconf-set-selections
$ echo steam steam/license note ” | sudo debconf-set-selections
$ sudo apt install -y steamcmd
Setting up steamcmd:i386 (0~20180105-5) …

「No Steam binary found」「SteamCMD exits immediately」

32bit 互換ライブラリ(lib32gcc-s1)が不足しているケースです。sudo apt install lib32gcc-s1 で解決します。

まとめ

Ubuntu 24.04 に SteamCMD をインストールする手順をまとめます。

  • Ubuntu 24.04 の multiverse リポジトリに steamcmd 0~20180105-5(i386)が収録されている
  • dpkg --add-architecture i386apt update → EULA 事前同意 → apt install lib32gcc-s1 steamcmd の順で入れる
  • バイナリは /usr/games/steamcmd、インストール後は初回起動で Steam CDN から自己更新が走る
  • ゲームサーバーは専用ユーザーで動かし、systemd でサービス管理すると運用が楽になる
  • VPS へのアクセスには ed25519 SSH 鍵を使う
sysbench CPU ベンチ(Ubuntu 24.04 Docker / 参考値)
sysbench CPU ベンチ(Ubuntu 24.04 Docker / 参考値)

本格的にゲームサーバーを運用するなら、東京リージョンのある VPS を選ぶと国内プレイヤーへの遅延が小さくなります。

コメント

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