LinuxとWindowsの間でSteamゲームファイルを共有する方法

簡単な説明:この詳細なガイドはダウンロード時間とデータを節約するためにLinuxとWindowsの間でSteamゲームファイルを共有する方法をあなたに示します。 また、ダウンロードデータの83%以上がどのように節約されたかについても説明します。

あなたが献身的なLinuxゲーマーであり、LinuxとWindowsの両方でサポートされているSteam上のゲームを持っているか、または同じ理由でデュアルブートOSを持っている場合は、これを読むことを検討してください。

WindowsとLinuxをデュアルブートする私たちのゲーマーはたくさんいます。 まだSteam for Linuxに登場していないゲームがLinuxだけではなかったのであれば、私たちの何人かはLinuxしか持っていなかったでしょう。 それゆえ、私たちは両方のOSを保持しているので、彼らが到着するプラットフォームに関係なく、私たちは私たちのお気に入りのゲームをすべてプレイすることができます。

ありがたいことに、Linuxゲームコミュニティは優雅に出現しています、そして私たちはLinux用のSteamでますます人気のあるSteam for Windowsゲームを立ち上げています。

私たちの多くはSteamのゲームをバックアップしたいのでダウンロードが完了するのを待つ必要はありません。 これらのコレクションはSteam for Windowsゲームの大多数です。

Life is Strange、Tomb Raider 2013、Shadow of Mordor、XCOM:Enemy Unknown、XCOM 2、Race The Sun、Road Redemption、SUPERHOTなど、Steam for Linuxにも数多くのゲームが登場しています。そしてリストは増え続けます! 私たちはまた、次のDeus Exを持っています:人類分割とマッドマックス! 何年もの間ではなく、今日では、Windowsがリリースされてからこのようなタイトルを数ヶ月待つだけでいいのですが、これは大きなニュースです!

この実験的な方法は、Steam上のゲームデータファイルの大部分を復元するためにどちらのプラットフォームでも既存のゲームファイルを使用する方法を示します。 次の例で見るように、ファイルは2つのOS間で非常に一般的であるため、これにより、ゲームを楽しむための待ち時間が大幅に短縮されます。

次の方法では、Steam独自のバックアップと復元機能と手動による方法の両方を試すためのステップバイステップの手順を示します。 私達がそれをしている間、私達はまたあなたがあなた自身の微調整を探求しそして思いつくことができるようにあなたにも両方のプラットフォーム間のゲームファイル構造の類似点と相違点を示すでしょう。

この方法では、Ubuntu 14.04 LTSとWindows 10を使用してバックアップを実行し、Steamテストを復元しました。

#1:Steam自身のバックアップと復元

Linux上でSUPERHOTのWindows Steamバックアップ(.csd形式の暗号化ファイル)を使用しようとした際、Steam for Linuxがファイルの認識に失敗し、0 MBからゲーム全体のダウンロードを開始しました! 検証チェックを行っても、ファイルの大多数はSteamによって識別できませんでした。 Windowsでも同様のテストを行いましたが、結果は同じでした。

WindowsとLinuxの間でSteamゲームを共有するためのいくつかの手動調整のための時間!

#2:手動による方法

まず、ゲームのファイルがLinux上に存在していた場所(自宅のユーザーディレクトリ)を調べました。

これはSteam for Linuxのデフォルトのインストール場所です。 「。local」および「。steam」ディレクトリはデフォルトでは非表示になっているので、表示しないでください。 ファイルの取り扱いを容易にするために、カスタムのSteamインストール場所を用意することをお勧めします。 ここで、「SUPERHOT.x86_64」は、Windowsの「.exe」ファイルとは異なり、ネイティブLinuxの「実行可能ファイル」です。

これは私たちが必要とするファイルの大部分を含む場所です(WindowsとLinuxの間で共通)。

以下に、.acfファイルがあります。 “ appmanifest_322500.acf”は必要なものです。 このファイルを編集して微調整すると、Steamが「common」ディレクトリに存在する既存の暗号化されていないrawファイルのバックアップを認識するのに非常に役立ちます。

同じことを確認するには、エディタでファイルを開いて確認してください。 このファイルを理解すればするほど、より良いものになります。 これがSteamフォーラムへの投稿で、その重要性を示しています。 それはこのようになります:

それはこのようになります:

「AppState」

{

“ appid”“ 322500”

「宇宙」「1」

「名前」「スーパーホット」

“ StateFlags”“ 4”

“ installdir”、“ SUPERHOT”

“最終更新”“ 1474466631”

“ UpdateResult”“ 0”

“ SizeOnDisk”“ 4156100762”

“ buildid”“ 1234395”

“ LastOwner”““

“ BytesToDownload”“ 909578688”

“ BytesDownloaded”“ 909578688”

“ AutoUpdateBehavior”“ 0”

「UserConfig」

{

“言語”“英語”

}

“ MountedDepots”

{

“ 322503”“ 1943012315434556837”

}

}

テストを試すためにLinux上のゲームをアンインストールした後、Windows 10上の同じゲームの内容を見てみましょう。

“ SUPERHOT”フォルダとマニフェスト(.acf)ファイル(Steam for Windowsでも同じフォーマットで作成されています)をコピーしました。 .acfファイルとディレクトリをSteam for Linuxのそれぞれの場所にコピーしている間、Steamがバックグラウンドで実行されていないことを確認しました。

転送が完了した後、私たちはSteamを実行してこれを見ました:

そのため、867.4 MB全体ではなく、235.5 MBのファイルがダウンロードされます。これは、70%以上のファイルがSteamで識別されていることを意味します。 つまり、これはかなりの時間の節約です。 これはゲームによって異なるかもしれませんが、インターネット接続数が平均以下/平均以下のゲーマーにとっては、これは確かに試してみる価値があります。 。

私たちが試したその他の調整:

  • Windowsの手動バックアップとともに、Linux用の元のマニフェストファイルのバックアップバージョンを使用してみました。 しかし、それによってSteamは最初からゲームをダウンロードすることになりました。
  • データファイルは、Linuxでは「SUPERHOT_Data」というディレクトリではなく、Windowsでは「SH_Data」という名前のフォルダにあります。 それを変更しても上記の結果には何の違いもありません。

マニフェストファイルを理解しようとする試み

これらの結果を改善するためにマニフェストファイルを確実に編集および調整して、Steamにできるだけ多くのファイルを検出させることができます。

これらのマニフェストファイルを生成するためのPythonスクリプトであるGithub上のプロジェクトがあります。 SteamゲームのAppIDはSteamDBから入手できます。 App IDを知っていると、「appmanifest_.acf」という形式を使用して、お気に入りのエディタで独自のマニフェストファイルを作成できます。 上記の手動の方法では、SUPERHOTのAppIDが322500であることがわかります。したがって、ファイル名はappmanifest_322500.acfになります。

私たちの最良の解釈に従ってそれをファイル内に文書化することを試みましょう:

“ AppState” //アプリケーションの状態(ゲーム)

{

“ appid”“ 322500” //ゲームのSteamアプリケーションID

「宇宙」「1」

“ name”“ SUPERHOT” //ゲーム名

“ StateFlags”“ 4”

“ installdir”“ SUPERHOT” //インストールディレクトリ名

“最終更新”“ 1474466631”

“ UpdateResult”“ 0”

“ SizeOnDisk”“ 4156100762”

“ buildid”“ 1234395”

“ LastOwner”“” //アカウント所有者に固有の数値形式

“ BytesToDownload”“ 909578688” //この数を1073741824(1024 x 1024 x 1024)で割り、ダウンロードする残りのデータをGBで計算します。

“ BytesDownloaded”“ 909578688” //ダウンロードしたバイト数

“ AutoUpdateBehavior”“ 0” //これが0に設定されるとゲームは自動的に更新されます。

“ UserConfig” //ユーザー設定

{

“言語”“英語”

}

“ MountedDepots” //このセクションは、ほとんどゲームDLCに関連しています

{

“ 322503”“ 1943012315434556837”

}

}

データのダウンロードサイズをGB / MBで計算することで、それをSteamが示しているものと比較し、さらに調整を加えることができます。

ダウンロードデータの83%以上を節約

それで、私はここで述べた方法を使用し、そしてそれが私に19.8GBのデータの節約になったことを推測します。

私はサイズが23.6 GBのXCOM 2ゲームでそれを試しました、しかしこの方法を使用して、私は3.8 GBだけをダウンロードしなければなりませんでした。

それは83%強です。 すごいでしょ?

マニフェストファイルに関するこのようなヒントやコツ/提案、または手動による回避策のためのその他の改善/方法についてご存知の場合は、コメント欄で共有してください。 Valve Developer Communityまたはフォーラムで正式に利用可能になっていないため、これらのファイル形式の完全なドキュメントはまだ公開されていません。

しかし今のところ、これらはLinuxとWindowsの間でSteamゲームを共有するための最良の方法です。

推奨されます

バルセロナ市、Linuxとオープンソースを支持してマイクロソフトを結成
2019
LinuxユーザーがMeltdownと、CPUに影響を与えるspecterのバグについて知っておくべきこと
2019
注目に値するインシデント:Linuxカーネルメーリングリストのウェブサイトは何日にもわたってダウン
2019