複数のSteamアカウントを1台のパソコンで使い分ける場合、とくになにも設定しないままだと、どのアカウントの「ライブラリ」にもインストールしているゲームが共有された状態で表示されていると思います。

同じゲームをアカウントごとに購入しなくても良いという点では嬉しいのですが、あまり他人にプレイしていることを知られたくないゲームもあるかと思います( 一一)

家族や仲間内でパソコンを共有している場合など、アカウントごとにパスワードを設定しているにも関わらず、購入したゲームが全体に公開されていてはプライベートもなにもあったものではありません。

このような場合のSteamアカウント間でインストールしているゲームの情報を共有させない設定に手間取ったので、備忘録的に手順を残しておきます。


今回の設定方法は、Windowsの環境を前提としています。

MacOSやLinuxなんかでも理屈は同じはずなので、参考にはなるかと思います。


環境設定のゴール


最終的にWindows上で下図のような設定となるように環境を変更していきます。3アカウント以上作成する場合でも手順は同様です。

用意するものは、
  • Steamアカウントに対応したWindowsアカウント
  • それぞれのアカウントに対応したゲームの保存領域
です。


共有して使用しているパソコンで各使用者ごとにWindowsアカウントを用意し、アクセス権限の設定を用いて他者のゲーム保存領域にアクセスできないように設定していきます。

上の図だと、UserAはEドライブのSteamの保存領域が、UserBはDドライブの保存領域が見えないようになります。(ドライブに関して、物理的にHDDやSSDなどの保存領域が分割されていない場合でも問題ありません)

Windowsアカウントアクセス可能アクセス不可能
UserAC:/ Drive, D:/ DriveE:/ Drive
UserBC:/ Drive, E:/ DriveD:/ Drive

共有したいゲームは、共通の領域(C)へインストール、共有したくないゲームは他者から見えない個人の保存領域(D or E)に、インストールするなど使い分けることも可能です。

以下大まかな作業手順です。
  1. ゲームをインストールするドライブを分割
    • Steam上でゲームのインストール先は、フォルダ単位で分割できず、ドライブ単位でしか分割できないので、ドライブをUser数+1個作成します。
  2. Windows上でアカウントを作成
    • パソコンを共有する人数分だけWindowsアカウントを追加します。
  3. ゲーム保存フォルダにアカウントごとにアクセス権限を設定
    • Windows OSのアクセス権限を用いてプライベートな保存領域を設定します
  4. 他アカウントのゲームが見えなくなったら完了
    • Steamアプリからも、保存フォルダを直接開いても見えないことを確認します
以下、Steamのインストールはすでに行っている前提で、Steamのインストール手順については飛ばします。


インストールドライブの分割


すでにパーティションがユーザー数+1個に分割されている場合は以下の作業の必要ありません。次の作業へ進んでください。

下図のように分割したいアカウント数に対してドライブ(パーティション)が足りない場合は以下の手順を行ってください。


手順1:
パーティションの数が分割したいアカウント数+1となるように、パーティションを分割します。

パーティションの分割には、「MiniTool Partition Wizard」というツールが無料で使うことができるのでおすすめです。

▼ダウンロード


公式サイトからダウンロードして、指示に従ってインストールしていきます。


途中、無料版をインストールするか尋ねられるところがありますが↑、無料版で問題ありません。


手順2:
インストールできたら、MiniTool Partition Wizardを開きます。

分割したいドライブを選択→「パーティション分割」
分割するパーティションのサイズを決めます。今回はDドライブとEドライブを作るため、一度80GBのDドライブを作成して、Dドライブから40GBのEドライブを作成する手順を踏みました。

ドライブのサイズはダウンロードしたいゲームのサイズに合わせて適宜変更してください。複数のゲームをダウンロードすることを考えると、少なくとも50GB以上で大きめに設定しておくのが無難です。
分割するパーティションのサイズと数が決まったら画面左下の「適用」をクリックします。間違えて設定した場合「取り消す」をクリックすることで、操作の取り消しも可能です。
パソコンの再起動がかったりしますがパーティションが分割されます。


手順3:
以下のようにパーティションが分割されたことをエクスプローラー上で確認してください。

以上でSteam上でゲームが保存される領域の分割作業は終了です。


Windowsでのアカウントの作成


次にWindows上でユーザーを追加してアカウントを作成していきます。

手順1:
「スタート」→「設定」→「アカウント」→「家族とその他のユーザー」で以下の画面まで行き、「その他のユーザーをこのPCに追加」をクリックします。
ユーザー追加の際、登録しているメールアドレスを聞かれたり、Microsoftアカウントの作成を促されたりしますが、特に必要ありません。

手順2:
「このユーザーのサインイン情報がありません」→「Microsoftアカウントを持たないユーザーを追加する」でユーザー名とパスワードを設定するだけでアカウント作成可能です。
↑このようにアカウントが追加されたことを確認してください。

今回の例では、User_AにサインインしたうえでUser_B作成し、Windows上に2アカウントがある状態としました。


Steamへのインストールドライブの追加


ドライブを複数用意したので、Steam上にゲームの保存領域として登録していきます。この操作はUser_A側でも、User_B側のSteamアカウントでもどちらで行っても問題ありません。

手順1:
左上「Steam」→「設定」→「ストレージ」→「ドライブを追加」

手順2:
追加したパーティションが選択リストとして表示されるので、以下のようにドライブを追加します。

今回の場合だと、Cドライブがデフォルトのドライブとして登録されていたので、DドライブとEドライブを追加しました。


Steamの各ドライブへゲームをインストール


ここで、試しに追加したドライブへ適当にゲームをインストールして、まだお互いのアカウントからゲームが見えることを確認してみます。

下のようにUser_B側でEドライブにゲームをインストール(下図左)、User_A側でDドライブにゲームをインストール(下図右)してみます。
全てのドライブの保存状況は↓このような状態です。
「Steamworks共通再頒布可能コンポーネント」というものがあるので、これはSteamアカウント間共通のCドライブに入れています。

WindowsアカウントUser_A側でSteamを開いてライブラリを見てみると、User_B側でインストールしたゲーム(下図右赤枠)が表示されています。

WindowsアカウントUser_B側でもUser_A側でインストールしたゲーム(下図左赤枠)が表示されていることが分かります。

これでは、この記事の目標である「各Steamアカウントごとでプライベートを守る」が達成されていないので、以下の手順で現在ゲームを保存している領域を、各Windowsアカウントでしかアクセスすることが出来ない領域に設定します。


アクセス権限の設定


Steam上で上記手順でドライブを追加すると、各ドライブに以下のような「SteamLibrary」というフォルダが出来ます。
E:. or D:. or ...
└─SteamLibrary
    └─steamapps // このにフォルダにアクセス権限を設定
        ├─common
        │  └─Goose Goose Duck // インストールしたゲーム例
        ├─downloading
        ├─shadercache
        └─temp
その下にある「steamapps」の下にインストールしたゲームが保存されているので、このフォルダのアクセス権限を編集していきます。

手順1:
エクスプローラーから「steamapps」フォルダを左クリックし、「プロパティ」→「セキュリティ」タブを表示します。

手順2:
「編集(E)...」→○○のアクセス許可ウィンドウから「追加(D)...」を選択

手順3:
ユーザーまたはグループの選択ウィンドウの「詳細設定(A)...」

手順4:
ユーザーまたはグループの選択ウィンドウから「検索(N)」を選択

アクセスを拒否するUserを選択します。以下例では、User_Bのゲームを保存しているsteamappsの権限を設定しているので、User_Aのアクセスを拒否するためにUser_Aを選択→「OK」

手順5:
アクセスを拒否したいユーザーが選択されていることを確認し→「OK」
アクセスを拒否したいユーザーが以下のように追加されます。

手順6:
そのユーザーを選択し、下の「アクセスの許可」から拒否の欄にチェックを付けます。細かく設定しないのであれば一番上の項目の「フルコントロール」にチェックを付けます。
フルコントロールを拒否することで、User_AからはUser_Bのゲーム保存領域(Eドライブ)のsteamappsフォルダへ書き込み、読み取り、閲覧などすべてが行えなくなります。

手順7:
以下のような確認事項が出ますが、はいを選択します。

もう片方のSteamアカウントでも、他のアカウントからのアクセス制限をしたければ、対象ドライブのsteamappsのフォルダに上記手順で同じことを行います。

以上で、User_AからはEドライブのsteamappsに保存されているゲームが見えなくなり、User_BからはDドライブのsteamappsに保存されているゲームが見えなくなったはずです。


Steam上での表示確認


上記までで、一番最初に示したこの図と同じ状態となるように設定を行ってきました。

Steam上で見えなくなっていることはもちろん、Windowsアカウント上でも特定のアカウントからしかゲームを保存しているフォルダにアクセスできないことを確かめます。

Steam上で確認

User_Aで、権限を設定する前まで表示されていたはずのゲームの表示がなくなり(下図左)、User_B側でもライブラリにUser_A側のゲームが表示されなくなったこと(下図右)を確認します。
「Steam」→「設定」→「ストレージ」からも、各アカウントからインストールされているゲームが消えています。
今回は、フルコントロールの権限を拒否したので、拒否されている側のアカウントでは、その拒否されているドライブにゲームをインストール(書き込み)することもできなくなっています。

フォルダへのアクセスを確認

アクセスを拒否されているWindowsアカウントから、該当のフォルダを開こうとすると、以下の「このフォルダーにアクセスする許可がありません。」が表示され、開けないことを確認します。
続行を押しても、権限がないので表示することが出来ず終わります。管理者アカウントなど与えないでアクセスを制限できればさらに機密性が向上します。


補足:権限設定中のエラー


「コンテナ内のオブジェクトを列挙できませんでした」

参考:https://itojisan.xyz/trouble/20190/



パソコンの記憶媒体の換装時やパーティション結合時など、ディレクトリの閲覧権限が予期せず変わってしまうこともあるので、そのような場合の事故には気を付けてください( 一一)

以上

そこそこ面倒なので、もっと楽な方法を知っている方は教えてください。

このエントリーをはてなブックマークに追加