はじめに
本調査は、Steamクライアントが生成するCDN.BINファイルを中心に、Steamのキャッシュファイル管理とストレージ構造を分かりやすく整理したものです。目的は、なぜファイルが作られるのか、どこに置かれるのか、問題が起きたときにどのように対処するかを実務的に伝えることです。
目的
この章では調査の狙いと構成を示します。主要な対象はCDN.BINや一時ファイル、SteamPipeに関連するファイル群です。実例を交えて説明するため、設定変更や削除の判断に役立ちます。
想定読者
ゲームを多く管理する人、ストレージ容量に関心がある人、トラブルシューティングをしたい人を想定しています。専門知識が少なくても理解できるよう配慮しています。
本書の構成
第2章でストレージ構造と一時ファイルの基本を説明します。第3章ではCDN.BINの役割を掘り下げ、第4章でSteamPipeの仕組み、第5章でユーザーデータの配置、第6章でトラブルシューティング方法、第7章でマルチプラットフォームの注意点を扱います。
注意点
キャッシュや設定ファイルは動作に影響します。削除や移動は事前にバックアップを取ってから行ってください。
Steamのストレージ構造と一時ファイル
ストレージ構造の概要
Steamはゲーム本体、ライブラリメタデータ、ユーザーデータ、そして一時キャッシュという区分でファイルを管理します。多くはSteamインストールフォルダとユーザーデータディレクトリに分かれます。例: Windowsでは通常「C:\Program Files (x86)\Steam」と「userdata\」配下に配置されます。
一時ファイルの種類と役割
- CDN.BIN: ダウンロード中のパッケージや分割データを一時保存するファイルです。配信元からのチャンクを保持します。
- TMP.BIN: インストールや更新の途中で作る一時作業ファイルです。処理が完了すると削除されます。
- SYNC.BIN: 同期情報や状態を保持する小さなファイルで、クラウドや更新状態の追跡に使います。
どのように容量が増えるか
ダウンロードや大規模アップデートを繰り返すと古い一時ファイルが残り、容量が増えます。またダウンロードの失敗や強制終了でファイルが残存しやすくなります。
安全な対処法
- Steamを終了してから一時ファイルを削除すると安全です。userdata内のCDN.BINやTMP.BINは再生成されることがあります。2. Steamの「ダウンロードキャッシュをクリア」を使うと簡単です。3. ライブラリ移動や不要なゲームの削除で恒久的な空き容量を確保できます。
注意点
重要な設定ファイルやセーブデータはuserdata内にあることがあるため、削除前にバックアップを取ることをお勧めします。
CDN.BINファイルの役割
概要
CDN.BINはSteamが配信効率を高めるために使うキャッシュファイルです。SteamPipe導入後、HTTP経由でゲーム本体や更新データを配信する方式になり、ダウンロードを速く・安定させるためにCDNから取得したデータの一部をローカルに残します。
何を保存するか
CDN.BINには主に配信サーバーから受け取った小さなデータ片(チャンク)や、その取得状態を示す情報が入ります。たとえば大型アップデートで変更が少ない部分だけを再利用する際に役立ちます。具体例として、ゲームのテクスチャの一部やパッチの差分などが該当します。
動作の流れ
Steamがアップデートやインストールを始めると、まずCDNから必要なチャンクを要求します。取得したデータは一時的にCDN.BINや他のキャッシュファイルに保存され、インストール処理で組み合わせられます。これにより同じデータを繰り返しダウンロードする必要を減らします。
管理と対処法
通常はSteamが自動で管理します。容量が気になる場合は「ダウンロードキャッシュのクリア」をSteamクライアントから実行してください。Steam実行中にCDN.BINを手動で削除すると不具合が出る可能性があるため避けてください。また問題が続く場合はSteamの整合性チェックや再インストールをお勧めします。
注意点
CDN.BINはユーザーデータやセーブデータではありません。削除してもゲームの進行状況に直接影響することは稀ですが、ダウンロードや更新が遅くなったりやり直しが必要になる場合があります。必要ならバックアップを取ってから操作してください。
SteamPipeシステムとファイル管理
SteamPipeとは
Valveは従来の独自プロトコルからHTTPベースのSteamPipeへ移行しました。HTTP配信によりCDNや標準的なネットワーク機器が使いやすくなり、配布の互換性が高まります。
LANキャッシュの仕組みと利点
SteamPipeはLANキャッシングをサポートします。例えば職場や家庭で複数台が同じゲームを更新するとき、1台がダウンロードしたデータを他が再利用でき、データセンターへのトラフィックと帯域使用量を減らします。
VPKアーカイブと性能改善
多数の小さなファイルを個別に読み書きするとディスクやファイルシステムに負荷がかかります。SteamはアセットをVPK(大きなアーカイブ)にまとめて配信します。これによりディスクのシーク回数が減り、読み込みが速くなります。したがって、起動やロード時間が改善します。
実務上の注意点
VPK化で個別ファイルの直接編集は難しくなります。モッダーや開発者は専用ツールでアーカイブを扱う必要があります。しかし一般ユーザーにとっては配信と更新が安定します。
ユーザーデータディレクトリの構成
概要
Steamはゲーム本体をLIBRARY/steamapps/common/にインストールします。各ゲームは固有のAppIDをもち、appmanifest_[AppId].acfでインストール情報を管理します。加えて、ユーザープロファイルやキャッシュ、一時ファイルはsteam\userdata\のようなユーザーデータディレクトリに蓄積されます。ここにCDN.BINなどの一時ファイルが残ることがあります。
主なフォルダと役割
- steamapps/common/: 実際のゲームファイルが入ります(例: GameNameフォルダ)。
- steamapps/appmanifest_[AppId].acf: Steamがそのゲームをインストール済みと認識するためのメタ情報です。削除すると認識に影響します。
- userdata//: 各ユーザー固有の設定、セーブ、キャッシュが入ります。複数アカウントを使うとIDごとにフォルダが作られます。
CDN.BINなどの一時ファイルについて
一時ファイルは主にダウンロード作業やアップデート、キャッシュ処理で生成されます。これらはユーザーデータ内のキャッシュや一時用フォルダに残る場合が多く、数が増えるとディスクを圧迫します。
管理と注意点
- Steamクライアントを終了してから不要ファイルを削除してください。動作中に削除すると整合性が崩れます。
- appmanifest_[AppId].acfは残しておくと安全です。ゲームの認識が外れると再ダウンロードになることがあります。
- 安全な方法としては、Steamの「ダウンロードキャッシュをクリア」を使うか、必要なファイルをバックアップしたうえで手動削除します。
キャッシュファイルのトラブルシューティング
概要
Steamが不安定になったり、表示やログイン、ストア情報の読み込みに問題が出る場合、~/.steam/root/ 内の appcache フォルダの削除で改善することがあります。ここは一時的なキャッシュを保存する場所で、破損したデータが原因で不具合を引き起こすことがあるためです。
基本的な手順
- Steamを完全に終了します(タスクトレイやプロセスも確認)。
- 必要なら appcache フォルダのバックアップを取ります(コピーを別フォルダへ)。
- appcache フォルダを削除します。
- Linux例: rm -rf ~/.steam/root/appcache または ~/.local/share/Steam/appcache
- Windows例: C:\Program Files (x86)\Steam\appcache を削除
- Steamを再起動すると、フォルダは自動で再生成されます。
注意点と補足
- appcache は基本的にキャッシュであり、セーブデータやアカウントの恒久データは含みません。安全に削除できます。
- 一部の表示設定や一時的な読み込みデータは消えますので、最初の起動で再ダウンロードが発生します。
それでも直らない場合
- Steamクライアントの「ダウンロードキャッシュのクリア」機能を使います。
- 問題が続くときは「ゲームファイルの整合性の確認」やログ(steam.log)を確認し、必要ならクリーンインストールを検討してください。
マルチプラットフォーム環境での注意点
背景
WindowsとLinuxの両方でSteamを使うと、同じゲームライブラリを共有したくなります。見た目は便利ですが、異なるOSがファイル処理を扱うしくみが違うため注意が必要です。
問題点
主な原因はファイルロックやファイル名の扱いの違いです。Windowsは多くの場合大文字小文字を区別しませんが、Linuxは区別します。NTFSをLinux側からマウントする場合、権限やロックの挙動が不安定になり、特にシェーダーキャッシュフォルダが破損するリスクがあります。
具体的な対策
- OSごとに別のSteamライブラリフォルダを用意してください。例:WindowsはD:\SteamLibrary、Linuxは/home/ユーザー/SteamLibrary。
- どうしても共有する場合は読み取り専用でマウントする、または頻繁にバックアップを取ると安全です。
- Protonや互換レイヤーごとに別のprefix(実行環境)を使ってください。
- シンボリックリンクや直接的な同期ツールは避け、ファイル所有権とパーミッションを確認してください。
運用上の注意
同じライブラリを行き来すると問題が起きやすいので、安定性を重視するならOSごとに分ける運用をおすすめします。












