Steam Game-bestanden delen tussen Linux en Windows

Briefing: deze gedetailleerde gids laat zien hoe Steam-spelbestanden te delen tussen Linux en Windows om downloadtijd en -gegevens te besparen. We laten u ook zien hoe het meer dan 83% van de downloadgegevens voor ons heeft opgeslagen.

Als je een toegewijde Linux-gamer bent of wilt zijn en games op Steam hebt die zowel op Linux als Windows worden ondersteund, of dual-booting-besturingssystemen hebben om dezelfde reden, kun je overwegen om dit te lezen.

Er zijn veel van ons gamers die dual-boot Linux met Windows gebruiken. Sommigen van ons zouden alleen Linux hebben gehad als het niet voor die games was die nog niet op Steam voor Linux zijn aangekomen. Daarom houden we beide besturingssystemen bij zodat we al onze favoriete games kunnen spelen, ongeacht de platforms waarop ze worden aangeboden.

Gelukkig is de Linux-gaminggemeenschap gracieus op komst en hebben we steeds meer populaire Steam voor Windows-spellen op Steam voor Linux gelanceerd.

Velen van ons maken graag een back-up van onze Steam-spellen, zodat we niet hoeven te wachten totdat de downloads zijn voltooid. Deze collecties zijn een meerderheid van Steam voor Windows-spellen.

Nu zijn er zoveel van deze games die ook op Steam voor Linux zijn aangekomen, zoals Life is Strange, Tomb Raider 2013, Shadow of Mordor, XCOM: Enemy Unknown, XCOM 2, Race The Sun, Road Redemption, SUPERHOT, ... en de lijst groeit verder! We hebben ook de aanstaande Deus Ex: Mankind Divided and Mad Max !!! In plaats van jaren hoeven we nu pas maanden te wachten op dergelijke titels nadat Windows is uitgebracht en dit is groot nieuws!

Deze experimentele methode laat je zien hoe je je bestaande spelbestanden op elk platform kunt gebruiken om de meeste gamegegevensbestanden op Steam te herstellen. Dit resulteert in een veel kortere wachttijd voor u om van het spel te genieten, aangezien de bestanden vrij veel voorkomen tussen de twee besturingssystemen zoals we in het volgende voorbeeld zullen zien.

In de volgende methode laten we u stap voor stap procedures zien om zowel Steam's eigen back-up en restore-functie als de handmatige manier te proberen. Terwijl we bezig zijn, zullen we je ook de overeenkomsten en verschillen laten zien in de spelbestandsstructuren tussen beide platforms, zodat jij ook kunt ontdekken en je eigen aanpassingen kunt verzinnen.

In deze methode hebben we Ubuntu 14.04 LTS en Windows 10 gebruikt om de back-up uit te voeren en de Steam-tests te herstellen.

# 1: Steam's eigen backup en restore

Toen we probeerden een Windows Steam-back-up van SUPERHOT op Linux te gebruiken (gecodeerde bestanden in .csd-indeling), kon Steam for Linux geen van de bestanden herkennen en begon het hele spel te downloaden vanaf 0 MB! Zelfs bij het uitvoeren van een validatiecontrole kon een overgrote meerderheid van de bestanden niet worden geïdentificeerd door Steam. We deden ook een soortgelijke test op Windows, maar het resultaat was hetzelfde!

Tijd voor wat handmatige tweaks om Steam-spellen te delen tussen Windows en Linux!

# 2: Handmatige methode

Eerst hebben we gekeken naar de locaties (gebruikersdirectory in huis) waar de bestanden van het spel aanwezig waren op Linux:

Dit is de standaardinstallatielocatie voor Steam voor Linux. ".Local" - en ".steam" -directory's zijn standaard verborgen en u zou ze moeten verbergen. We raden u aan een aangepaste locatie voor de installatie van Steam te hebben om bestanden gemakkelijker te kunnen verwerken. Hier is "SUPERHOT.x86_64" het oorspronkelijke Linux "uitvoerbare bestand" in tegenstelling tot een ".exe" -bestand in Windows:

Dit is de locatie die de meerderheid van de bestanden bevat die we nodig hebben (veel voorkomend tussen Windows en Linux):

Hieronder zien we .acf-bestanden. "Appmanifest_322500.acf" is degene die we nodig hebben. Het bewerken en aanpassen van dit bestand helpt veel om Steam onversleutelde onbewerkte bestandsback-ups te laten herkennen die aanwezig zijn in de "algemene" map:

Om hetzelfde te bevestigen, opent u het bestand met een editor en vinkt u het aan. Hoe meer we dit bestand begrijpen, hoe beter. Hier is een bericht op de Steam-forums dat zijn belangrijkste betekenis laat zien. Het ziet er ongeveer zo uit:

Het ziet er ongeveer zo uit:

“AppState”

{

"Appid" "322500"

"Universe" "1"

"Naam" "SUPERHOT"

"StateFlags" "4"

"Installdir" "SUPERHOT"

"Laatst bijgewerkt" "1474466631"

"UpdateResult" "0"

"SizeOnDisk" "4156100762"

"Buildid" "1234395"

"LastOwner" ""

"BytesToDownload" "909578688"

"BytesDownloaded" "909578688"

"AutoUpdateBehavior" "0"

“UserConfig”

{

"Taal Engels"

}

“MountedDepots”

{

"322503" "1943012315434556837"

}

}

Na het verwijderen van de game op Linux om de test uit te proberen, kijken we nu naar de inhoud van dezelfde game op Windows 10:

We hebben de map "SUPERHOT" gekopieerd en ook het manifest (.acf) -bestand (het is in Steam voor Windows in hetzelfde formaat gemaakt). Tijdens het kopiëren van het .acf-bestand en de map naar hun respectievelijke locaties op Steam voor Linux, hebben we ervoor gezorgd dat Steam niet op de achtergrond draaide.

Nadat de overdracht voltooid was, hebben we Steam gedraaid en dit gezien:

Dus in plaats van de volledige 867.4 MB, toont het nu 235.5 MB aan bestanden om te downloaden en dat betekent dat meer dan 70% van de bestanden zijn geïdentificeerd door Steam :)! Dus dit is een enorme tijdswinst, relatief gezien. Hoewel dit voor verschillende spellen kan variëren, is dit natuurlijk zeker het proberen waard voor gamers die een gemiddelde / gemiddelde internetverbinding hebben, vooral wanneer de "heavy duty" -games worden beschouwd die tegenwoordig meestal op ongeveer 40-50 GB formaat hebben. .

Andere aanpassingen die we hebben geprobeerd:

  • We hebben geprobeerd een back-upversie van het originele manifestbestand voor Linux te gebruiken, samen met de handmatige back-up van Windows. Maar dat resulteerde in het downloaden van de game door Steam voor het begin.
  • We kunnen zien dat de gegevensbestanden zich in een map bevinden met de naam "SH_Data" op Windows in plaats van de map, "SUPERHOT_Data" zoals onder Linux. Het wijzigen van het verschil maakte geen verschil in het bovenstaande resultaat.

Een poging het manifest te begrijpen

Het manifestbestand kan zeker worden bewerkt en aangepast voor het verbeteren van deze resultaten om Steam zoveel mogelijk bestanden te laten detecteren.

Er is een project op Github dat een pythonscript is om deze manifestbestanden te genereren. AppID's voor elk Steam-spel zijn verkrijgbaar bij SteamDB. Door de app-ID te kennen, kunt u uw eigen manifestbestand met uw favoriete editor maken met behulp van het volgende formaat: "appmanifest_.acf". In de bovenstaande handmatige methode kunnen we zien dat de AppID voor SUPERHOT 322500 is. Vandaar dat de bestandsnaam appmanifest_322500.acf zou zijn.

Laten we proberen het binnen het bestand te documenteren volgens onze beste interpretaties:

"AppState" // De staat van de toepassing (spel)

{

"Appid" "322500" // De Steam-applicatie-ID van het spel

"Universe" "1"

"Naam" "SUPERHOT" // Spelnaam

"StateFlags" "4"

"Installdir" "SUPERHOT" // Naam van installatiedirectory

"Laatst bijgewerkt" "1474466631"

"UpdateResult" "0"

"SizeOnDisk" "4156100762"

"Buildid" "1234395"

"LastOwner" "" // Uniek voor account-eigenaar in numerieke indeling

"BytesToDownload" "909578688" // Deel dit nummer met 1073741824 (1024 x 1024 x 1024) om de resterende gegevens voor downloaden in GB te berekenen.

"BytesDownloaded" "909578688" // Bytes gedownload

"AutoUpdateBehavior" "0" // De game wordt automatisch bijgewerkt wanneer deze is ingesteld op 0.

"UserConfig" // Gebruikersconfiguratie

{

"Taal Engels"

}

"MountedDepots" // Dit gedeelte is grotendeels gerelateerd aan Game DLC's

{

"322503" "1943012315434556837"

}

}

Door de downloadgrootte van de gegevens in GB / MB te berekenen, kunt u het vergelijken met wat Steam laat zien en meer aanpassingen proberen.

Het heeft meer dan 83% van de downloadgegevens opgeslagen

Dus ik gebruikte de methode die ik hier noemde en raad eens, het heeft me 19, 8 GB aan data bespaard.

Ik heb het geprobeerd op XCOM 2-spel van 23, 6 GB, maar met deze methode moest ik slechts 3, 8 GB downloaden.

Dat is iets meer dan 83%. Geweldig toch?

Deel deze opmerkingen in de comments als u meer weet over dergelijke tips en trucs / suggesties over het manifestbestand of andere verbeteringen / manieren voor handmatige oplossingen. We moeten nog een volledige documentatie voor deze bestandsindelingen ontdekken, omdat deze nog niet officieel beschikbaar is in de Valve Developer Community of in de forums.

Maar voor nu zijn dit de beste manieren om Steam-spellen te delen tussen Linux en Windows.

Aanbevolen

LosslessCut is een belachelijk eenvoudige videosnijder voor Linux
2019
Crisis bij Void Linux als hoofdontwikkelaar ontbreekt in actie
2019
Putty installeren op Ubuntu en andere Linux-distributies
2019