Uden tilknytning

Hjem Dokumentation og hjælp
Steamworks-dokumentation
Steam Cloud

Oversigt over Steam Cloud

Steam Cloud giver et simpelt og gennemsigtigt system til ekstern lagring af filer til dit spil. Filer, der er angivet i Auto-Cloud-konfigurationen eller er skrevet til disken (oprettet, ændret, slettet osv.) med Cloud-API'en, replikeres automatisk til Steam-serverne, når spillet forlades.

Hvis brugeren skifter til en anden computer, downloades filerne automatisk til den nye computer, inden spilles startes. Spillet kan derefter tilgå filerne ved at læse dem via Cloud-API'en eller læse dem direkte fra disken som sædvanligt. Undgå maskinspecifikke konfigurationer såsom videoindstillinger.

Steam-klienten sørger for, at filerne altid er synkroniserede på tværs af alle computere, som brugeren benytter.

Brugere kan globalt slå Cloud-synkronisering fra i Steam-indstillingerne under "Cloud" ved at fjerne markeringen i "Slå Steam Cloud-synkronisering til i applikationer, som understøtter det".

Brugere kan også slå Cloud-synkronisering fra for individuelle spil i egenskaberne i hvert spil.

Spacewar_Cloud_Properties.png

Indledende opsætning

For at opsætte Steam Cloud skal du indstille Byte-kvote per bruger and Antal filer tilladt per bruger på siden Steam Cloud-indstillinger i panelet "App-administrator" i Steamworks.

Denne kvote gennemtvinges på hvert Cloud-aktiverede spil for hver individuelle bruger for hvert individuelle spil. Vi anbefaler, at du angiver rimelige værdier for dit spil.

BEMÆRK: Husk at klikke på "Gem" nederst på siden og udgive de opdaterede indstillinger. Når de er udgivet, kan alle, der ejer dit spil, se Cloud-ikonet i Steam-klienten.

Hvis dit spil allerede er udgivet til offentligheden, kan du markere feltet Slå kun Cloud-support til for udviklere. Hvis udviklertilstanden er slået til, er det kun Steam-konti, som ejer en "Udviklerpakke"-licens til dit spil, som vil se Cloud-ikonet og kunne bruge Steam Cloud. Dette er nyttigt til sikker testning af Steam Cloud-integrationen uden at ødelægge offentlighedens brugeroplevelse. Det har ingen betydning for ikke-udgivne spil, eftersom ingen ejer spillene endnu. Ingen vil kunne se eller tilgå Cloud-lageret for det specifikke app-ID.

Du kan dele Cloud-lagerplads mellem to app-ID'er ved at udfylde feltet Delt Cloud-app-ID. Dette bruges oftest til at dele gemte spil mellem en demo og et komplet spil. Værdien 0 slår denne funktion fra.

Steam Cloud-API og Steam Auto-Cloud

Steam giver to forskellige metoder til brug af Steam Cloud. Læs, hvordan de to metoder adskiller sig fra hinanden, og beslut, hvilken der er bedst til din applikation.

Den første er Steam Cloud-API.
Cloud-API'en har en række funktioner, som gør det muligt for dig at integrere Steam Cloud direkte i dit spil. Cloud-API'en isolerer individuelle Steam-brugeres filer fra hinanden og giver en højere grad af kontrol over Steam Cloud.

Steam Cloud-API'en er synlig via ISteamRemoteStorageAPI-grænsefladen, og du kan finde eksempler på brug i projektet Steamworks API Example Application (SpaceWar).

Den anden er Steam Auto-Cloud.
Steam Auto-Cloud er udviklet til ældre spil, hvor det er sværere at integrere med Steam Cloud-API'en. Denne metode giver en hurtig og nem måde at komme i gang på, men mangler den fleksibilitet og kraft, som Steam Cloud-API'en tilbyder.

Vi anbefaler generelt, at du bruger Cloud-API'en, da den giver mulighed for dybere integration og tilpasning, og du vil kunne give Steam-brugerne den kvalitetsoplevelse, som de forventer fra Steam Cloud.

Steam Auto-Cloud

Steam Auto-Cloud er et alternativ til Steam Cloud-API'en, som gør det muligt for apps at bruge Steam Cloud uden at skrive kode eller modificere spillet på nogen måde. Det kræver kun, at du angiver de filgrupper, der skal gemmes i Cloud. Steam synkroniserer automatisk filgrupperne, når applikationen startes og afsluttes. Undgå maskinspecifikke konfigurationer såsom videokvalitet.

Opsætning

Når du er færdig med den indledende opsætning, åbnes sektionen Steam Auto-Cloud-konfiguration på siden Steam Cloud-indstillinger.

Rodstier beskriver filgrupper, som gemmes i Steam Cloud. Hver rodsti kan være så specifik som en enkelt fil eller så bred som alle filer i en given undermappe. Brug en ny sti for hver filgruppe, der skal synkroniseres.

En rodsti består af fem dele:
  1. Rod

    Dette er en forudbestemt liste over stier, hvor gemte spil almindeligvis findes.
    RodUnderstøttede OS'erTilsvarende sti
    Applikationens installationsmappeAlle[Steam Install]/SteamApps/common/[spilmappe]/
    SteamCloudDocumentsAllePlatformsspecifik stil, for eksempel på Linux: ~/.SteamCloud/[username]/[spilmappe]/
    WinMyDocumentsWindows%USERPROFILE%/Dokumenter/
    WinAppDataLocalWindows%USERPROFILE%/AppData/Local/
    WinAppDataLocalLowWindows%USERPROFILE%/AppData/LocalLow/
    WinAppDataRoamingWindows%USERPROFILE%/AppData/Roaming/
    WinSavedGamesWindows%USERPROFILE%/Saved Games/
    MacHomemacOS~/
    MacAppSupportmacOS~/Library/Application Support/
    MacDocumentsmacOS~/Documents/
    LinuxHomeLinux~/
    LinuxXdgDataHomeLinux$XDG\_DATA\_HOME/
  2. Undermappe

    Undermappestien til filerne i skyen i forhold til roden. Brug ".", hvis der ikke er en undermappe.

    Særlige stiværdier i Auto-Cloud
    Auto-Cloud giver mulighed for at bruge unikke ID'er for Steam-brugere i Undermappe-stien. På denne måde kan du lagre gemte filer separat for hver Steam-bruger på computeren. Du kan bruge ISteamUser::GetSteamID i dit spil for at få den aktuelle brugers SteamID eller AccountIDsave til at gemme til og læse fra.
    • {64BitSteamID} – Brug denne variabel i Steam-stien til at indsætte brugerens 64-bit Steam-ID. Et 64-bit Steam-ID ser således ud: 76561198027391269
    • {Steam3AccountID} – Brug denne variabel i Steam-stien til at indsætte brugerens Steam 3-konto-ID. Et konto-ID ser således ud: 67125541
    Eksempel: SavesDir/{64BitSteamID}
  3. Mønster

    Filmaskemønster, der skal matches. Du kan bruge * som jokertegn. Hvis du vil have alle filer i mappen, skal du bruge *.

    Eksempel: *.sav
  4. OS

    Angiver de operativsystemer, som disse filer vil blive synkroniseret fra/til. Dette er kun nødvendigt, hvis filerne er OS-specifikke, hvilket forhåbentligt ikke er tilfældet!
  5. Rekursiv

    Medtag undermapper, når du søger efter matchende filer. Dette er nyttigt i forbindelse med undermapper med ikke-deterministiske navne såsom brugernavne eller ID'er, der ikke er fra Steam. Hvis der anvendes et Steam-ID, anbefaler vi kraftigt at bruge de særlige stiværdier i feltet "Undermappe".

Tilsidesættelse af rod

Hvis din applikation kan spilles på tværs af platforme og kræver forskellige mapper for hvert OS. Du kan bruge rodtilsidesættelsesfunktionen til at angive en tilsidesættelse af de rodstier, du har angivet ovenfor.

Rodstierne, som er angivet ovenfor, kan tilsidesættes for at svare til en anden sti på et andet OS. Hvis du bruger rodtilsidesættelser, skal du angive [Alle operativsystemer] i Rod-OS-rullemenuen ovenfor.

En rodtilsidesættelse består af fem dele.
  1. Oprindelig rod

    Dette svarer til en af de rødder, du har angivet ovenfor.
  2. OS

    Det operativsystem, som tilsidesættelsen skal gælde for.
  3. Ny rod

    Den nye placering, som den oprindelige rod er tilknyttet på det angivne OS.
  4. Tilføj/erstat sti

    Dette giver dig mulighed for at tilføje en undermappesti, som indsættes mellem den nye rod og den oprindelige undermappe.
  5. Erstat sti

    Hvis dette er slået til, erstatter stien angivet i "Tilføj/erstat sti" den oprindelige undermappe fuldstændigt.

Eksempel: Konfiguration af Auto-Cloud til Unity-applikationer

Følgende er et eksempel på konfiguration af Auto-Cloud til brug med Unity og egenskaben Application.persistentDataPath, hvor værdien er forskellig for hvert OS. Windows-versionen er konfigureret som rodstien med firmaet i Unity angivet til DefaultCompany og projektet AutocloudSample. På macOS og Linux/SteamOS angives de alternative stier fra Application.persistentDataPath i feltet "Tilføj/erstat sti", og "Erstat sti" markeres.

Med disse indstillinger vil Auto-Cloud-filerne blive synkroniseret mellem de tre mapper som vist i eksemplerne.

Cloud_Unity_Auto-Cloud_Example.png

Testning inden udgivelse

Hvis du tilføjer Steam Auto-Cloud til et spil, som allerede er udgivet, og du har slået udviklertilstanden til under den indledende opsætning, skal du udføre nogle ekstra trin for at teste funktionaliteten.
  1. Log på Steam med en konto, som ejer en udviklerpakkelicens til den app, du vil teste.
  2. Åbn Steam-konsollen ved at navigere til steam://open/console i din browser.
  3. Indtast testappcloudpaths <AppId> i konsollen med det app-ID, som du vil teste. Eksempel: testappcloudpaths 480
  4. Indtast set_spew_level 4 4 i konsollen.
  5. Start din app fra Steam.
  6. Kontrollér, om der er aktivitet i konsollen. Hvis der i forvejen er filer i Auto-Cloud-stierne, burde du se, at de bliver uploadet. Eller gem nogle filer fra din app, og luk den for at udløse synkroniseringen.
  7. Gå til en anden PC, og gentag trinene ovenfor for at teste downloading af filerne fra Steam Auto-Cloud.
  8. Sørg for at teste det på alle understøttede operativsystemer.
  9. Indstil testcloudapppaths 0 og set_spew_level 0 0 for at afslutte testningen. Du kan genstarte Steam-klienten for at få konsolfanen væk.

Glem ikke at slå udviklertilstanden fra og udgive ændringerne, når du er færdig med at teste.

Fejlfinding

Først skal du sørge for, at du har udgivet dine ændringer på Steams partnerwebsted. Vent ca. 10 minutter, eller genstart Steam-klienten for at få de udgivne ændringer.

Hvis du løber ind i problemer med Steam Cloud, skal du tjekke logfilen i %Steam Install%\logs\cloud_log.txt.

Se Debugging the Steamworks API for at få yderligere oplysninger.