在 Linux 和 Windows 之間玩轉 Steam 遊戲
導讀 | 這篇詳細的指南將向你展示如何在 Linux 和 Windows 之間共享 Steam 的遊戲檔案以節省下載的總用時和下載的資料量。我們將展示給你它是怎樣為我們節約了 83% 的資料下載量。 |
假如你決心成為一名 Linux 平臺上的玩家,並且在 Steam 上擁有同時支援 Linux 和 Windows 平臺的遊戲,或者基於同樣的原因,擁有雙重啟動的系統,則你可以考慮看看這篇文章。我們中的許多玩家都擁有雙重啟動的 Linux 和 Windows。有些人只擁有 Linux 系統,但同時擁有當前還沒有被 Linux 平臺上的 Steam 支援的遊戲。所以我們同時保留這兩個系統以便我們可以在忽略平臺的前提下玩我們喜愛的遊戲;幸運的是 Linux 遊戲社群應運而生,越來越多在 Windows 平臺上受歡迎的 Steam 遊戲也釋出在 Linux 平臺上的 Steam 中。我們中的許多人喜歡備份我們的 Steam 遊戲,使得我們不再苦苦等待遊戲下載完成。這些遊戲很大程度上是 Windows 平臺下的 Steam 遊戲。
現在,很多遊戲也已經登陸了 Linux 平臺上的 Steam,例如奇異人生、古墓麗影 2013、中土世界:魔多陰影、幽浮:未知敵人、幽浮 2、與日賽跑、公路救贖、燥熱等等,並且這份名單一直在增長。甚至還有 殺出重圍:人類分裂和 瘋狂的麥克斯!!!在一些遊戲的 Windows 版釋出之後,現在我們不必再等候多年,而只需等待幾月左右,便可以聽到類似的訊息了,這可是大新聞啊!
下面的實驗性方法將向你展示如何使用你現存的任何平臺上游戲檔案來在 Steam 上恢復遊戲的大部分資料。對於某些遊戲,它們在兩個平臺下有很多相似的檔案,利用下面例子中的方法,將減少你在享受這些遊戲之前的漫長的等待時間;我們將一步一步地嘗試利用 Steam 自身的備份與恢復功能或者以手工的方式來達到我們的目的。當涉及到這些方法的時候,我們也將向你展示這兩個平臺上游戲檔案的相同和不同之處,以便你也可以探索並做出你自己的調整。
下面的方法中,我們將使用 Ubuntu 14.04 LTS 和 Windows 10 來執行備份與恢復 Steam 的測試。
1、Steam 自身的備份與恢復當我們嘗試使用 Windows 平臺上 Steam 中《燥熱
現在到了我們用某些手工的方法來共享 Windows 和 Linux 上的 Steam 遊戲的時刻了!
2、手工方法首先,讓我們先看看 Linux 下這些遊戲檔案所處的位置(使用者目錄在 /home 中):
這是 Linux 平臺上 Steam 遊戲的預設安裝位置。 .local 和 .steam 目錄預設情況下是不可見的,你必須將它們顯現出來。我們將推薦使用一個自定義的 Steam 安裝位置以便更容易地處理這些檔案。這裡 SUPERHOT.x86_64 是 Linux 下原生的可執行檔案,與 Windows 中的 .exe 檔案類似。
下圖展示的位置包含我們需要的大部分檔案(在 Windows 和 Linux 平臺上相同):
下面我們來看看這些 .acf 格式的檔案: appmanifest_322500.acf 便是那個我們需要的檔案。編輯並調整這個檔案有助於 Steam 識別在 common 這個目錄下現存的非加密的原始檔案備份:
為了確認這個檔案是一樣的,用編輯器開啟這個檔案並檢查它。我們越多地瞭解這個檔案越好。這個連結是來自 Steam 論壇上的一個帖子,它展示了這個檔案的主要意義。它類似於下面這樣:
“AppState” { “appid” “322500” “Universe” “1” “name” “SUPERHOT” “StateFlags” “4” “installdir” “SUPERHOT” “LastUpdated” “1474466631” “UpdateResult” “0” “SizeOnDisk” “4156100762” “buildid” “1234395” “LastOwner” “<SteamID>” “BytesToDownload” “909578688” “BytesDownloaded” “909578688” “AutoUpdateBehavior” “0” “UserConfig” { “Language” “english” } “MountedDepots” { “322503” “1943012315434556837” } }
在 Linux 平臺上解除安裝遊戲後我們再進行測試。現在讓我們看看在 Windows 10 上相同的遊戲安裝目錄裡包含哪些內容:
我們複製了 SUPERHOT 目錄和 .acf 格式的清單檔案(這個檔案在 Windows 的 Steam 上格式是一樣的);在複製 .acf 檔案和遊戲目錄到 Linux 中 Steam 它們對應的位置時,我們需要確保 Steam 沒有在後臺執行。在轉移完成之後,我們執行 Steam 並看到了這個:
所以下圖顯示只需要有 235.5 MB 的檔案需要下載,而不是整個 867.4 MB,這意味著超過 70% 的檔案已經被 Steam 識別了:) !相對來說,節省了一筆大量的時間開銷。當然不同的遊戲可能有所不同,但對於那些網速居於平均水平或以下的玩家來說,這種方法絕對值得一試,尤其是考慮到當前那些 40-50 GB 大小的重量級遊戲。
我們還進行了其他幾種嘗試:
- (1)我們嘗試使用 Linux 下原有的清單檔案(.acf)和來自 Windows 的手工備份檔案,但結果是 Steam 重新開始下載遊戲。/li>
- (2)我們看到當我們將 SUPERHOT_Data 這個目錄中的 SH_Data 更換為 Windows 中的對應目錄時,同上面的一樣,也重新開始下載整個遊戲。
清單目錄絕對可以被進一步地被編輯和修改以此來改善上面的結果,使得 Steam 檢測出儘可能多的檔案。在 Github 上有一個專案,包含一個可以生成這些清單檔案的 python 指令碼。任何 Steam 遊戲的 AppID 可以從SteamDB 上獲取到。知曉了遊戲的 ID 號後,你便可以用你喜愛的編輯器以下面的格式建立你自己的清單檔案 appmanifest_<AppID>.acf。在上面手工方法中,我們可以看到 SUPERHOT 這個遊戲的 AppID 是 322500,所以對應的清單檔名應該是 appmanifest_322500.acf。
下面以我們知曉的資訊來嘗試對該檔案進行一些解釋:
“AppState” // 應用(遊戲)的狀態 “appid” “322500” // 遊戲的 AppID “Universe” “1” “name” “SUPERHOT” // 遊戲的名稱 “StateFlags” “4” “installdir” “SUPERHOT” // 安裝目錄的名稱 “LastUpdated” “1474466631” “UpdateResult” “0” “SizeOnDisk” “4156100762” “buildid” “1234395” “LastOwner” “<SteamID>” // 唯一的帳號擁有者的 <SteamID> “BytesToDownload” “909578688” // 將這個數字除以 1073741824(1024 x 1024 x 1024) 便可以計算出還需要下載的資料大小,以 GB 記。 “BytesDownloaded” “909578688” // 已下載資料的大小, 以 Bytes 記。 “AutoUpdateBehavior” “0” // 當這個設為 0 時,該遊戲將自動升級。 “UserConfig” // 使用者的配置資訊 { “Language” “english” } “MountedDepots” // 這個部分大多與遊戲的 DLC 相關。 { “322503” “1943012315434556837” } }
通過計算下載的資料的大小,你可以將它與 Steam 展現的資訊進行比較並進行更多的調整。
相關推薦
在 Linux 和 Windows 之間玩轉 Steam 遊戲
導讀 這篇詳細的指南將向你展示如何在 Linux 和 Windows 之間共享 Steam 的遊戲檔案以節省下載的總用時和下載的資料量。我們將展示給你它是怎樣為我們節約了 83% 的資料下載量。 假如你決心成為一名 Linux 平臺上的玩家,並且在
小練習:用socket實現Linux和Windows之間的通信
ren argc 漏洞 markdown tex sockets acc sas -m 在日常生活中,絕大部分人使用的機器通常是windows系統,可是對於研發人員,開發、編譯等工作往往是建立在linux機器上。其實。在服務器方面,Linux、UNIX和
Linux 和 Windows 之間共享文件之 samba
允許 ava 人類 直接 就是 war ted create 方案 導語 如果對windows有過實際操作技巧的人都會明白,在windows下的文件共享加上網絡驅動器映射是多麽方便的體驗,甚至比ftp更加的簡單,就像本地多了一塊可與他人交流的硬盤一樣。 問題 由於性能和生態
用socket實現Linux和Windows之間的通訊
在日常生活中,絕大部分人使用的機器一般是windows系統,但是對於研發人員,開發、編譯等工作往往是建立在linux機器上。事實上,在伺服器方面,Linux、UNIX和WindowsServer佔據了市場的大部分份額;在超級計算機方面,Linux
【Tool】Linux和windows之間通過scp複製檔案
Linux和windows之間通過scp複製檔案 安裝以及設定過程如下: 下載完成BvSshServer-Inst.exe 接下來我們安裝,首先會跳出一個黑框和一個視窗,黑框在安裝過程中不
小練習:用socket實現Linux和Windows之間的通訊
在日常生活中,絕大部分人使用的機器一般是windows系統,但是對於研發人員,開發、編譯等工作往往是建立在linux機器上。事實上,在伺服器方面,Linux、UNIX和WindowsServer佔據了市場的大部分份額;在超級計算機方面,Linux取代Unix成為
Linux和Windows系統之間文件互傳
sz rz 有時候,我們在配置linux系統時,wget一個安裝包時,發現網速非常慢,或者服務器是隔離網絡的場景,就需要在終端電腦上和linux服務器交互文件了。lrzsz工具就是用來解決這個問題的。使用這個工具的首要前提條件是在終端電腦上使用xshell登錄服務器系統。1、安裝lrzsz工具[[
linux 和 windows 下的socket之間的差別
1、socket描述符的定義不同 windows: 套接字描述符為一個局柄SOCKET。 Linux: 套接字描述符為一個int型整數,與其他的檔案描述符沒有差異。 2、錯誤判斷的方式不同 windows: 需要使用WSAGetLastError獲
Linux和Windows下檢視環境變數方法對比(轉)
一、檢視所有環境變數的名稱和值: Linux下:export Windows下:set 二、根據名稱查該環境變數的值: Linux下:echo $環境變數名 如:echo $ORACLE_HOME Windows下:set環境變數名 如:set
linux和windows下安裝python拓展包及requirement.txt安裝類庫
too tor == 引導 -cp mod flask utf addition http://blog.csdn.net/pipisorry/article/details/39902327python拓展包安裝直接安裝拓展包默認路徑:Unix(Linux)默認路徑:/
zabbix監控linux和windows的tcp連接數
windows 配置文件 服務器 linux 客戶端 linux:在linux上手動獲得tcp連接數的命令為:netstat -an|awk ‘/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}‘ #ESTABLISHED socket
Linux和windows互傳文件
linux和windows互傳文件搞Linux 也有一段時間了,自己總想著如何能讓Linux和Windows不使用FTP或者Samba能夠互相上傳下載文件呢?首先我們使用虛擬機來測試一下,安裝lrzsz:yum install -y lrzsz測試發送一個文件從Linux到windows#sz text.tx
ssh密鑰轉發(Linux和Windows)
證書 authorize .cn 防火墻 con auth img fig blog 前言 一般公司的服務器放在外網時,都會設置一個跳板機,訪問公司其他服務器都需要從跳板機做一個ssh跳轉(防火墻規則會做相應配置),而前文講過,外網的服務器基本都要通過證書登錄的。於是我們面
為github帳號添加SSH keys(Linux和Windows)
需要 pre 增加 輸入 remote end 命令 tty clone 文章轉自:https://blog.cofface.com/archives/406.html/2 一、Linux增加ssh keys方法: 使用git clone命令從github上同步github
mysql數據庫在Linux和windows下免安裝實現以及框架開發碰到的問題
自動啟動 過程 root mil 是否 call 啟動頁 同時 ice 2017年7月23號下午5:20分,上周我根據自己的實際情況,總結了mysql數據庫在windows系統下和linux系統下免安裝版本的實現,以及在項目開發中遇到的數據庫報錯,今天整理出來,以供日後學習
文件後綴名 、linux 和windows 互傳文件 文件後綴名
文件後綴名 、linux 和windows 互傳文件 文件後綴名文件後綴名 、linux 和windows 互傳文件文件後綴名在linux 下面 命令 文件 都區分大小寫大寫的 LS 就識別不了 ls 這個命令LANG=en 就顯示成英文linux 和windows 互傳文件首相只能使用遠程工具xs
3周第1次課 linux和windows互傳文件 用戶配置文件和密碼配置文件 用戶組管理 用戶管理
windows inux 互傳文件 一、linux和windows互傳文件1.Linux 傳文件到 windows ##此辦法只適合使用(xshell securecrt)工具的用戶[root@centos701 ~]# yum install -y lrzsz ##下載支
linux和windows互傳文件, 用戶配置文件和密碼配置文件, 用戶組管理, 用戶管理
linuxlinux和windows互傳文件用戶配置文件和密碼配置文件用戶組管理用戶管理linux和windows互傳文件yum install -y lrzsz用戶配置文件和密碼配置文件root:x:0:0:root:/root:/bin/bashserver:x:1000:1000::/home/serv
cacti監控linux和windows磁盤IO
添加 attach exe rman courier input medium copyright eth cacti監控linux和windows磁盤IO 標簽:cacti linux磁盤IO windows磁盤IO 原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章
vscode基於Linux和Windows下c/c++的多文件編譯與連接
vscode c/c++ 有時寫寫小程序,又不想啟動2013,vscode就成了我的首選。剛接觸vscode的時候,跟著網上配置了一堆東西,總算能編譯C/C++了,但一涉及到多文件,我還得乖乖的打開vs2013。前些天在配置Linux上的vscode的時候,突然發現有網友在tasks.json