Steamで「SteamAPI_Init() failed」と出てゲームが起動しない原因|Steam起動済みでも出る理由と、起動方法・管理者権限・アカウントの確認手順
本記事にはアフィリエイト広告(Amazon・楽天市場等)のリンクが含まれています。
Steamが起動していても出る理由と、確認する順番
Steamを開いているのに、ゲームを起動すると「SteamAPI_Init() failed」や「Steam must be running to play this game」というエラーが出て終了してしまう。画面上ではSteamが動いているため、何を直せばよいのか分かりにくいトラブルです。
このエラーは、ゲームがSteamとの連携機能(Steamworks API)を初期化できなかったという意味です。Valveの公式資料では、失敗する条件として「Steamクライアントが起動していない」「ゲームのApp IDを特定できない」「Steamとゲームの実行ユーザーが違う」「アカウントがライセンスを持っていない」「App IDの設定が不完全」の5つを挙げています。Steamが動いていても、残りの4つで同じ表示になります。
一般のユーザーが確認できるのは、前半の4つです。まずSteamライブラリからゲームを起動し直し、改善しなければSteamとゲームの管理者権限をそろえ、ログイン中のアカウントを確かめます。DLLの差し替えや設定ファイルの自作は、最後まで手を出さなくて構いません。
目次
原因Steamが起動しているのにエラーになる仕組み
ゲームは起動の最初に、Steamworks APIの初期化関数「SteamAPI_Init()」を呼び出します。成功すると、実績やフレンド、クラウドセーブなどのSteam機能が使えるようになります。失敗した場合にエラーを出して終了するかどうかはゲーム側の作りしだいで、「Steam must be running」はValveの公式サンプルコードにも書かれている、定番の表示文言です。
つまり、この文言は初期化の失敗をまとめて知らせるものです。Steam未起動と断定できる表示ではありません。
Steamのウィンドウが開いていても、起動方法や実行権限が合っていなければ初期化は失敗します。何を確認すべきかは、次の5つの条件から考えると整理できます。
出典:Steamworks Documentation「steam_api.h」(SteamAPI_Init)(確認日:2026年10月12日)
手順確認する順番|まずSteamライブラリから起動する
5つの条件のうちユーザー側で確かめられるのは前半の4つです。手間の少ない順に試し、直った時点で終わりにして構いません。
- Steamを完全に終了し、起動し直す。ウィンドウの×ではなく、左上の「Steam」メニューから「終了」を選びます。タスクトレイやタスクマネージャーにSteamが残っていないことも確かめます。
- Steamにログインし、ライブラリからゲームを起動する。デスクトップのショートカットやゲームフォルダー内のexeではなく、ライブラリの「プレイ」ボタンから起動します。
- ログイン中のアカウントを確認する。右上のアカウント名が購入したアカウントか、ライブラリにそのゲームが表示されているかを見ます。
- SteamとゲームのEXEの管理者権限をそろえる。詳しい手順は次の節で説明します。
- MODツールや外部ランチャーを使わずに起動する。通常起動で直るなら、ツール側の起動設定が原因です。
- ゲームファイルの整合性を確認する。ライブラリでゲームを右クリックし、プロパティからインストール済みファイルの検証ができます。長く止まるときは整合性確認が進まない場合の記事も参考になります。
手順2で直る場合は、直接起動やショートカットが原因だったと考えられます。Steamworksには、Steam以外から起動されたときにSteam経由で起動し直す「SteamAPI_RestartAppIfNecessary()」という関数があります。ただし、使うかどうかは開発側の判断です。この関数を使っていないゲームでは、exeの直接起動がそのままエラーにつながります。
出典:Steamworks Documentation「steam_api.h」(SteamAPI_RestartAppIfNecessary)
権限管理者権限が片方だけ違うときの直し方
Windowsでは、同じユーザーでログインしていても、管理者として実行したプロセスと通常権限のプロセスは別の実行条件で動きます。Steamを通常権限で起動し、ゲームだけが「管理者として実行」になっている状態(またはその逆)だと、SteamAPI_Init()が失敗する場合があります。
確認の流れは次のとおりです。
- Steamのライブラリでゲームを右クリックし、「管理」から「ローカルファイルを閲覧」を選びます。
- 開いたフォルダーでゲームの実行ファイル(exe)を右クリックし、「プロパティ」を開きます。
- 「互換性」タブで「管理者としてこのプログラムを実行する」にチェックがないか確かめます。
- 同じ要領で、Steam本体(steam.exe)のプロパティも確認します。
片方だけチェックが入っているなら、両方とも通常権限にそろえるのが基本です。変更前に、元の状態を控えておくと戻せます。ゲームによっては開発元が管理者権限を前提にしている場合があるため、その場合は両方を管理者権限でそろえて試します。
Valveが説明しているのは、Steamとゲームの実行条件が一致していることです。ゲームだけを管理者にすると、かえって不一致になる場合があります。
出典:Steamworks Documentation「Steamworks API 概要」
注意steam_appid.txtとDLLの差し替えは基本的にしない
検索すると、「steam_appid.txtを自分で作る」「steam_api64.dllをダウンロードして置き換える」という対処が出てきます。購入したゲームを遊ぶだけなら、どちらも勧められません。
steam_appid.txtは、開発中にexeやデバッガーから直接ゲームを動かすときに、App IDを教えるためのファイルです。Steam経由で起動したときに渡される値を上書きするため、誤った数字を書くと別のゲームとして扱われます。ネットで見かける「480」は、Valveの公式サンプル「Spacewar」のApp IDで、ほかのゲームには使えません。すでにゲームフォルダーにこのファイルがある場合も、MODや配布元が置いた可能性があるので、経緯が分からないまま消したり書き換えたりしないでください。
steam_api64.dllのような連携用ライブラリは、ゲーム側が実行ファイルの近くに同梱するものです。公式のサンプル資料でも、DLLが見つからないエラーと、APIの初期化失敗は別の項目として扱われています。つまり「SteamAPI_Init() failed」と表示されているなら、DLLは見つかったうえで初期化が失敗している可能性が高く、DLLの入れ替えでは解決しません。DLL配布サイトのファイルは安全性も確認できないため、ファイルの欠損が疑われるときはSteamの整合性確認を使ってください。
出典:Steamworks Documentation「Steamworks サンプル」(トラブルシューティング)
補足セキュリティソフトとMODの影響を見るとき
Valveが挙げる初期化失敗の条件に、セキュリティソフトやMODは含まれていません。ただし、ゲームやSteamのファイルが隔離されて起動が崩れる場合はあり得るため、切り分けの材料としては確認する価値があります。
Windows 11の場合は、「Windows セキュリティ」の「ウイルスと脅威の防止」から「保護の履歴」を開くと、検出や隔離の記録を見られます。履歴は2週間で消え、脅威の詳細を開くには管理者権限が必要です。履歴にゲームやSteamのファイルがあっても、すぐに誤検出と決めつけず、いったん元に戻す前にファイルの出どころを確かめてください。ウイルス対策機能を丸ごと無効にして試すことは勧めません。
MODを入れた後に出始めたなら、MOD管理ツールを使わずSteamのライブラリから起動してみてください。通常起動で問題がなければ、ツールの起動設定か、ゲームの更新に対するMODの互換性が原因です。ほかのSteamゲームが普通に起動する場合は、Steam本体より、そのゲームの起動方法やMODを先に見る方が効率的です。ただし、ゲームごとにSteamworksの使い方は違うため、ほかのゲームが動くだけでSteam側の問題を完全には除外できません。
出典:Microsoft サポート「Windows セキュリティ アプリの保護の履歴」
開発者向け自作ゲームで出るときの確認ポイント
Steamworks SDKでゲームを作っている場合は、ここから先の内容が当てはまります。遊ぶだけの方は読み飛ばして問題ありません。
- steam_appid.txt:exeやデバッガーから直接起動するテストでは、App IDだけを書いたこのファイルが必要です。Steamは現在の作業ディレクトリから探すため、Visual Studioなどの作業ディレクトリ設定がexeの場所と違うと見つかりません。
- SteamAPI_RestartAppIfNecessary():Steam以外から起動された場合にSteam経由で起動し直す関数です。使うときはSteamAPI_Init()より前に呼び、trueが返ったら元のプロセスをすぐ終了します。steam_appid.txtがあると常にfalseを返します。
- App IDの状態:Steamworksパートナーサイトで、リリース状態が「Unavailable」になっていないか、デフォルトのパッケージが設定されているか、テストに使うアカウントがライセンスを持っているかを確認します。
- 配信ビルド:Steamへアップロードするビルドにsteam_appid.txtを含めないでください。
- ログ:Steamの起動パラメーター「-debug_steamapi」や、Steamのlogsフォルダーが、原因の手掛かりになります。公式のデバッグ資料も参照してください。
出典:Steamworks Documentation「Steamworks API のデバッグ」
まとめまとめ|表示ではなく起動の条件をそろえて確かめる
「SteamAPI_Init() failed」は、ゲームがSteamとの連携を始められなかったという意味のエラーです。Steamが起動していても、起動方法、管理者権限、ログイン中のアカウントのどれかが合っていなければ出ます。
確認の順番は、Steamの完全終了、ライブラリからの起動、アカウント、管理者権限、MODや外部ランチャーの有無、整合性確認です。steam_appid.txtの自作やDLLの差し替えは、購入したゲームを遊ぶだけなら必要ありません。
Steamを完全に終了してからライブラリで「プレイ」を押し、それでも出るならSteamとゲームのexeの管理者権限をそろえる。この2つで、ユーザー側で直せる原因の大半を確認できます。


