Steamworks-dokumentation
Implementeringsvejledning til Steam-værkstedet

Introduktion

Steam-værkstedet er et system bestående af backend-opbevaring og frontend-websider, som gør det nemt at lagre, organisere, sortere, bedømme og downloade indhold til dit spil eller din applikation.

Denne side indeholder tekniske oplysninger omkring implementering af Steam-værkstedet med din titel. Hvis du ønsker flere oplysninger om og definitioner af de forskellige former for værkstedsintegration, som du kan benytte dig af, samt hvordan du får det bedste udbytte af de værktøjer, som Steam stiller til rådighed, kan du se oversigten over Steam-værkstedet, før du går i gang med at integrere Steam-værkstedet i dit spil.

I en typisk opsætning vil dit spils kunder bruge værktøjer, som du giver til kunden, når de køber dit spil til at oprette modifikationer eller skabe helt nyt indhold. Disse kunder indsender derefter dette indhold via en indbygget formular i dit værktøj til Steam-værkstedet. Andre kunder vil derefter kunne søge, sortere, bedømme og abonnere på genstande, som de ønsker at tilføje til deres spil ved at gå til Steam-værkstedet i Steam-fællesskabet. Disse genstande vil derefter blive downloadet gennem Steam. Hvis du er registreret til ISteamUGC::ItemInstalled_t-tilbagekaldet inden for dit spil, kan du derefter kalde ISteamUGC::GetItemInstallInfo for at få installationsplaceringen og læse data direkte fra den mappe. Det nye indhold vil derefter blive genkendt af spillet på den måde, som giver mening for dit spil og indholdet.

Steam-værkstedstyper, monetarisering og anbefalede fremgangsmåder

Hvis du ønsker flere oplysninger om og definitioner af de forskellige former for værkstedsintegration, som du kan benytte dig af, samt hvordan du får det bedste udbytte af de værktøjer, som Steam stiller til rådighed, kan du se dokumentationen Steam-værksted.

Administrering af Steam-værkstedssynlighed

Steam-værkstedet er hjemmesiden, som hostes gennem Steam, som opregner delt indhold og gør det muligt for brugere at stemme og kommentere på indhold, som er synligt gennem fællesskabet. Som standard er applikationer ikke offentligt synlige i værkstedet. Dette forhindrer, at indhold, som ikke skal deles gennem Steam-værkstedsportalen, er synligt, medmindre værkstedet er sat til offentligt.
Sæt synlighedstilstanden for værkstedet vha. de følgende trin:
  1. Gå til applikationens startside på Steamworks-partnersiden
  2. Klik på Rediger Steamworks-indstillinger
  3. Fra fanen Værksted skal du vælge Generelt
  4. I højre side finder du sektionen Synlighedstilstand.
  5. Anvend radioknapperne til at vælge det ønskede niveau af synlighed, som kan inkludere "Kun udviklere", "Udviklere og testere", "Kunder og udviklere" og "Alle".
  6. Fra fanen Udgiv skal du vælge Forbered til udgivelse
  7. Klik på Udgiv på Steam, og gennemfør processen for at udgive ændringen.
Bemærk: For at ændre synlighedstilstanden til "Alle" skal værkstedstjeklisten være komplet, hvilket inkluderer branding, titel, beskrivelse og mindst én genstand med indhold, som er offentligt synligt.

Teknisk oversigt

Processen til at dele og bruge brugergeneret indhold er at bruge ISteamUGC-API, som kan findes i Steamworks-SDK'en. Disse metoder giver dig en måde at dele værkstedsgenstande, som derefter kan findes gennem Steam-værkstedet eller gennem en oplevelse i en applikation.

Værksteds-API'en skal tilgås gennem markøren, som returneres fra SteamUGC().

For eksempel:
SteamAPICall_t hSteamAPICall = SteamUGC()->CreateItem( SteamUtils()->GetAppID(), k_EWorkshopFileTypeMicrotransaction );

Aktivering af ISteamUGC for et spil eller en applikation

Før værkstedsgenstande kan uploades til Steamworks' backend, skal der foretages to konfigurationsindstillinger: Konfiguration af Steam Cloud-kvoter og aktivering af ISteamUGC-API'en.

Steam Cloud-funktionen bruges til at gemme forhåndsvisningsbilleder, som er knyttet til værkstedsgenstande. Steam Cloud-kvoten kan konfigureres med de følgende trin:
  1. Gå til siden for Steam Cloud-indstillinger i panelet "App-administrator".
  2. Sæt Byte-kvote per bruger og Antal filer tilladt per bruger til passende værdier for at gemme forhåndsvisningsbilleder
  3. Klik "Gem"
  4. Fra fanen Udgiv skal du vælge Forbered til udgivelse
  5. Klik på Udgiv på Steam, og gennemfør processen for at udgive ændringen.

Aktivering af ISteamUGC-API kan gennemføres med de følgende trin:
  1. Gå til siden for Steam-værkstedsindstillinger i panelet "App-administrator".
  2. Find sektionen Yderligere konfigurationsmuligheder.
  3. Tjek Brug ISteamUGC til filoverførsel.
  4. Klik Gem.
  5. Fra fanen Udgiv skal du vælge Forbered til udgivelse.
  6. Klik på Udgiv på Steam, og gennemfør processen for at udgive ændringen.
Når disse indstillinger er på plads, kan værkstedsindhold uploades via API'en.

Oprettelse og upload af indhold

Processen med at oprette og uploade værkstedsindhold er en enkel proces, som kan gentages, som vist i rutediagrammet herunder.

ISteamUGCFlow-CreateUpload-Web2.png

Sådan opretter du en værkstedsgenstand

  1. Alle værkstedsgenstande starter med et kald til ISteamUGC::CreateItem
    • nConsumerAppId-variablen bør indeholde app-ID'et til spillet eller applikationen. Du skal ikke videresende app-ID'et på værktøjet, hvor værkstedsgenstanden er oprettet, hvis dette er et separat app-ID!
    • EWorkshopFileType er en opregningstype, der definerer, hvordan den delte fil deles med fællesskabet. Gyldige værdier:
      • k_EWorkshopFileTypeCommunity – Denne filtype bruges til at beskrive filer, som uploades af brugere og gøres tilgængelige, så alle i fællesskabet kan downloade dem. Almindelig brug af denne vil være at dele brugergenererede mods.
      • k_EWorkshopFileTypeMicrotransaction – Denne filtype bruges til at beskrive filer, som er uploadet af brugere, men kun beregnet for spillet til at afgøre, om det skal tilføjes som officielt indhold. Disse filer vil ikke blive downloadet af brugere gennem værkstedet, men vil kunne ses og bedømmes af fællesskabet.
        Team Fortress 2 bruger denne implementering.
  2. Registrer en kaldsresultat-handler for CreateItemResult_t
  3. Du skal først tjekke m_eResult for at sikre, at genstanden blev oprettet korrekt.
  4. Når kaldsresultat-handleren er udført, skal du læse m_nPublishedFileId-værdien og gemme denne til fremtidige opdateringer til værkstedsgenstande (for eksempel i et projekt associeret med oprettelsesværktøjet).
  5. Variablen m_bUserNeedsToAcceptWorkshopLegalAgreement skal også tjekkes, og hvis den er true, skal brugeren omdirigeres til at acceptere den juridiske aftale. Se sektionen Værkstedets juridiske aftale for at få flere oplysninger.

Sådan uploader du en værkstedsgenstand

  1. Når en værkstedsgenstand er blevet oprettet, og en PublishedFileId_t-værdi er blevet returneret, kan værkstedsgenstandens indhold udfyldes og uploades til Steam-værkstedet.
  2. En genstandsopdatering begynder med et kald til ISteamUGC::StartItemUpdate
  3. Ved at bruge UGCUpdateHandle_t, som returneres fra ISteamUGC::StartItemUpdate, kan kald laves for at opdatere titlen, beskrivelsen, synlighed, tags, genstandsindholdet og forhåndsvisningsbillederne gennem de forskellige ISteamUGC::SetItem[...]-metoder.
  4. Når opdateringskaldene er gennemført, vil et kald til ISteamUGC::SubmitItemUpdate indlede uploadprocessen til Steam-værkstedet.
    • Registrer en kaldsresultat-handler for SubmitItemUpdateResult_t
    • Når kaldsresultat-handleren er udført, skal du tjekke m_eResult for at bekræfte, at overførslen blev gennemført.
    • Bemærk: Der er ikke nogen metode til at annullere genstandsopdateringen og -overførslen, når kaldet er gennemført.
  5. Hvis du ønsker det, kan statussen for upload spores ved at bruge ISteamUGC::GetItemUpdateProgress
    • EItemUpdateStatus definerer upload- og opdateringsstatussen.
    • punBytesProcessed og punBytesTotal kan bruges til at give input til kontrol af brugergrænseflade, såsom en fremgangsbjælke til at indikere uploadstatussen.
    • punBytesTotal kan opdatere under uploadprocessen baseret på, hvilken fase genstandsopdateringen er i.
  6. På samme måde som ved oprettelse af en værkstedsgenstand skal du bekræfte, at brugeren har accepteret den juridiske aftale. Dette er nødvendigt i tilfælde, hvor brugeren ikke er den samme som den, der oprettede genstanden i første omgang, men i stedet redigerer en eksisterende genstand.

Yderligere bemærkninger

  • Værkstedsgenstande blev tidligere lavet som enkeltfiler. Med ISteamUGC er en værkstedsgenstand en repræsentation af en mappe med filer.
  • Hvis en værkstedsgenstand kræver yderligere metadata, for at den kan bruges i den applikation, den er oprettet til, kan du vedhæfte metadata til din genstand ved at bruge ISteamUGC::SetItemMetadata-kaldet. Disse metadata kan returneres i forespørgsler, uden at det er nødvendigt at downloade og installere genstandsindholdet.
    Tidligere har vi foreslået, at du gemmer disse metadata i en fil i værkstedets genstandsmappe, hvilket du selvfølgelig stadigvæk kan gøre.

Brug af indhold

Brug af værkstedsindhold falder i to kategorier: genstandsabonnement og genstandsinstallation.

Genstandsabonnement

Størstedelen af abonnementer på en værkstedsgenstand sker gennem Steam-værkstedsportalen. Det er en kendt placering, som er fælles for alle spil og applikationer, og derfor er brugere tilbøjelige til at finde og abonnere på genstande, som ofte findes på værkstedets hjemmeside.

Men ISteamUGC giver to metoder til programmeringsmæssigt at tilmelde og afmelde abonnementer på værkstedsgenstande for at understøtte administration af genstandsabonnementer i spil.
  • ISteamUGC::SubscribeItem – Abonner på en værkstedsgenstand. Genstanden vil blive downloadet og installeret så snart som muligt.
  • ISteamUGC::UnsubscribeItem – Frameld abonnement på en værkstedsgenstand. Dette vil resultere i, at genstanden bliver fjernet, efter spillet afsluttes.

Der findes to yderligere metoder til optælling gennem en brugers gentande, der abonneres på.

Sådan modtager du notifikationer for eksterne abonnementshandlinger

Notifikationer i spil kan modtages, når en bruger har tilmeldt eller frameldt sig abonnement fra en fil gennem en hvilken som helst mekanisme (for eksempel ISteamUGC, Steam-værkstedshjemmesiden):

Genstandsinstallation

Når oplysningerne for genstandsabonnementet kendes, kan de resterende forbrugsmetoder benyttes. Disse metoder giver oplysninger tilbage til spillet omkring tilstanden for download og installation af genstanden. Download af værkstedsgenstande udføres via Steam-klienten og sker automatisk baseret på de følgende regler:
  1. Når Steam-klienten indikerer, at et spil eller en applikation er ved at starte, vil alle app-depoter, som er blevet opdateret, blive downloadet og installeret.
  2. Alle eksisterende værkstedsgenstande opdateres, hvis det er nødvendigt
  3. Spillet eller applikationen starer derefter
  4. Nyligt tegnede abonnementer på værkstedsgenstande, som ikke er downloadet, vil derefter downloade og installeres i baggrunden.
    • Filer, der abonneres på, bliver downloadet til klienten i den rækkefølge, abonnementerne blev tegnet.
    • Steam-downloadsiden vil vise værkstedsgenstandenes downloads med et specifikt banner for at indikere, at en værkstedsgenstand downloader.
Bemærk: Brug af funktionen "Bekræft spilfilers integritet" i Steam-klienten vil også medføre, at værkstedsgenstande bliver downloadet.

Når spillet starter, før nyligt indhold, som der abonneres på, bliver downloadet og installeret, er der de resterende forbrugsmetoder til at hjælpe med at overvåge og administrere installationsforløbet. De kan også bruges, når der abonneres på genstande i spil, til at give en status på installationsprocessen i realtid.

Status for en værkstedsgenstand

Status for download af en værkstedsgenstand

Initialiser eller øg prioriteten for download af en værkstedsgenstand

  • ISteamUGC::DownloadItem
    • Sæt bHighPriority til true for at sætte alle eksisterende igangværende downloads på pause og begynde at downloade denne værkstedsgenstand med det samme.
    • Hvis returværdien er true, skal du registrere og vente på tilbagekaldet fra ISteamUGC::DownloadItemResult_t, før du kalder ISteamUGC::GetItemInstallInfo eller tilgår værkstedsgenstanden på disken.
    • Hvis brugeren ikke abonnerer på genstanden (for eksempel en spilserver, som bruger anonymt login), vil værkstedsgenstanden blive downloadet og cachelagret midlertidigt.
    • Hvis værkstedsgenstanden har en ISteamUGC::EItemState fra k_EItemStateNeedsUpdate, kan ISteamUGC::DownloadItem kaldes for at påbegynde opdateringen. Du skal ikke tilgå værkstedsgenstandene på disken, før tilbagekaldet ISteamUGC::DownloadItemResult_t er kaldet.
    • Denne metode fungerer kun med værkstedsgenstande oprettet med ISteamUGC. Det vil ikke fungere med ældre ISteamRemoteStorage-værkstedsgenstande.
    • Tilbagekaldsstruktureren ISteamUGC::DownloadItemResult_t indeholder også applikationens ID (m_unAppID), som er tilknyttet værkstedsgenstanden. Dette bør sammenlignes med den kørende applikations ID, da handleren bliver kaldt for alle genstandsdownloads, uanset den kørende applikation.

Hentning af oplysninger om den lokale kopi af værkstedsgenstanden

Notifikation om installation eller opdatering af en værkstedsgenstand

Forespørgsler om indhold

Grænsefladen ISteamUGC giver en fleksibel måde at opregne de forskellige typer af UGC i Steam (for eksempel værkstedsgenstande, skærmbilleder, videoer osv.).

ISteamUGCFlows-QueryingContent-web2.png

  1. Registrer en kaldsresultat-handler for SteamUGCQueryCompleted_t.
  2. Der er et par metoder tilgængelige til at oprette anmodningen afhængigt af det påkrævede scenarie, om det er en forespørgsel efter indhold tilknyttet til en bruger eller en forespørgsel efter alt indhold eller at hente oplysninger til indhold, du har ID'er til.
  3. Tilpas forespørgslen efter behov ved at kalde indstillingsmetoderne:
    • Når der forespørges om brugerskabt indhold (UGC) tilknyttet en bruger
    • Når der forespørges om alt brugerskabt indhold
      • ISteamUGC::SetMatchAnyTag – Angiver, om værkstedsgenstande returneres, hvis de har et eller flere matchende tags, eller hvis alle tags skal matche en afventende UGC-forespørgsel.
      • ISteamUGC::SetSearchText – Angiver en streng, som genstande skal matche i enten titlen eller i beskrivelsen for den afventende UGC-forespørgsel.
      • ISteamUGC::SetRankedByTrendDays – Angiver, om rækkefølgen af resultaterne vil blive opdateret baseret på rang af genstande over et antal dage for en afventende UGC-forespørgsel.
    • Når der anmodes om UGC, uanset typen
      • ISteamUGC::AddRequiredTag – Tilføjer et påkrævet tag til en afventende UGC-forespørgsel. Dette vil kun returnere UGC med det angivne tag.
      • ISteamUGC::AddExcludedTag – Tilføjer et ekskluderet tag til en afventende UGC-forespørgsel. Dette vil kun returnere UGC uden det angivne tag.
      • ISteamUGC::AddRequiredKeyValueTag – Tilføjer et påkrævet nøgleværdi-tag til en afventende UGC-forespørgsel. Dette vil kun returnere værkstedsgenstande, som har en nøgle = [param]pKey[/param] og en værdi = [param]pValue[/param].
      • ISteamUGC::SetReturnOnlyIDs – Angiver, om der kun skal returneres ID'er i stedet for alle detaljerne for en afventende UGC-forespørgsel. Dette er brugbart, når du ikke har brug for alle oplysningerne (for eksempel hvis du bare vil have de ID'er, som tilhører de genstande, en bruger har på sin liste over foretrukne).
      • ISteamUGC::SetReturnKeyValueTags – Angiver, om der skal returneres nogen nøgleværdi-tags for genstandene for en afventende UGC-forespørgsel.
      • ISteamUGC::SetReturnLongDescription – Angiver, om den fulde beskrivelse for genstandene skal returneres i en afventende UGC-forespørgsel.
      • ISteamUGC::SetReturnMetadata – Angiver, om de udviklerspecifikke metadata for genstandene skal returneres for en afventende UGC-forespørgsel.
      • ISteamUGC::SetReturnChildren – Angiver, om ID'er fra de underordnede genstande skal returneres for en afventende UGC-forespørgsel.
      • ISteamUGC::SetReturnAdditionalPreviews – Angiver, om yderligere billeder/videoer, som er vedhæftet genstandene, skal returneres for en afventende UGC-forespørgsel.
      • ISteamUGC::SetReturnTotalOnly – Angiver, om kun det samlede antal matchende genstande skal returneres for en afventende UGC-forespørsel. – De reelle genstande returneres ikke, når ISteamUGC::SteamUGCQueryCompleted_t kaldes.
      • ISteamUGC::SetLanguage – Angiver, hvilket sprog titlen og beskrivelsen skal returneres på for genstande for en afventende UGC-forespørgsel.
      • ISteamUGC::SetAllowCachedResponse – Angiver, om resultater skal returneres fra cachen for den angivne tidsperiode for en afventende UGC-forespørgsel.
  4. Send forespørgslen til Steam ved hjælp af ISteamUGC::SendQueryUGCRequest, som påkalder ISteamUGC::SteamUGCQueryCompleted_t-kaldsresultat-handleren, som blev registreret i trin 1.
  5. I kaldsresultat-handleren for ISteamUGC::SteamUGCQueryCompleted_t skal du kalde ISteamUGC::GetQueryUGCResult for at hente oplysningerne for hver genstand, som returneres.

  6. Du kan også kalde disse funktioner for at hente yderligere oplysninger for hver genstand (nogle af disse data returneres ikke som standard, så du skal konfigurere din forespørgsel derefter):
  7. Kald ISteamUGC::ReleaseQueryUGCRequest for at frigøre al allokeret hukommelse, mens forespørgslen køres, eller resultaterne hentes.

Sideopdelingsresultater

Op til 50 resultater returneres fra hver forespørgsel. Sideopdeling mellem flere resultater kan opnås ved at oprette en forespørgsel, som øger unPage-parametren (som bør begynde ved 1).

Sporing af spilletid

For at spore spilletiden for værkstedsgenstande skal du bare kalde ISteamUGC::StartPlaytimeTracking med ID'erne for de genstande, du ønsker at spore. Derefter, når genstandene er fjernet fra spil, skal du kalde ISteamUGC::StopPlaytimeTracking sammen med ID'erne, du ønsker at stoppe med at spore, eller kalde ISteamUGC::StopPlaytimeTrackingForAllItems for at stoppe sporing af spilletid for alle genstande på én gang.
Når din app lukker ned, vil sporing af spilletid automatisk stoppe.

Du kan også sortere genstande efter forskellige spilletidsmålinger i ISteamUGC::CreateQueryAllUGCRequest-forespørgsler. Her er spilletiden baseret på forespørgselstyper, du kan bruge:

Sletning af genstandsindhold i værkstedet

For at slette en værkstedsgenstand kan du kalde ISteamUGC::DeleteItem. Bemærk, at dette ikke viser en prompt for brugeren og ikke kan fortrydes.

Steamworks-eksempel – SpaceWar-integration

Steamworks-API-eksempel på applikation (SpaceWar), som kommer sammen med Steamworks-SDK'en viser et undersæt af ISteamUGC-API'en.
  • CSpaceWarClient::LoadWorkshopItem demonstrerer, hvordan der tjekkes, om en værkstedsgenstand er downloadet og installeret på en disk, samt anmodes om oplysninger om en værkstedsgenstand ved ISteamRemoteStorage::PublishedFileId_t
  • CSpaceWarClient::LoadWorkshopItems demonstrerer, hvordan man henter listen over værkstedsgenstande, der abonneres på, for den aktuelle bruger i SpaceWar-applikationen
  • CSpaceWarClient::OnWorkshopItemInstalled demonstrerer en tilbagekaldshandler for ISteamUGC::ItemInstalled_t

Værkstedets juridiske aftale

Værkstedsgenstande vil være skjulte som standard, indtil bidragyderen accepterer Steam-værkstedets juridiske aftale. For at gøre det nemt for bidragyderen at gøre genstanden offentligt synlig skal du gøre følgende:
  1. Inkluder tekst ved siden af knappen, som indsender en genstand til værkstedet – noget i retning af: "Ved at indsende denne genstand accepterer du værkstedets servicevilkår" (inklusive linket)
  2. Efter en bruger indsender en genstand, skal du åbne et browservindue til Steam-værkstedssiden for genstanden ved at kalde ISteamFriends::ActivateGameOverlayToWebPage med pchURL sat til steam://url/CommunityFilePage/<PublishedFileId_t>, hvor <PublishedFileId_t> erstattes med værkstedsgenstandens ID.
Dette har den fordel, at det leder forfatteren til værkstedssiden, så genstanden kan ses og konfigureres yderligere, hvis det er nødvendigt, og det vil gøre det nemt for brugeren at læse og acceptere Steam-værkstedets juridiske aftale.

Web-API

Ud over disse metoder findes der et sæt web-API-grænseflader, der giver lignende funktionalitet sammen med fællesskabsbaserede filtrerings-API'er til at lave en liste over alt delt indhold. Se dokumentationen om ISteamRemoteStorage-grænseflade på web-API-listen.

Dedikerede spilservere

Spilservere kan også downloade og installere genstande.
  • Spilserveren skal kende PublishedFileId_t for at anmode om en værkstedsgenstand. Dette kan gives af spilklienter eller sættes af serveroperatøren. Kald derefter ISteamUGC::DownloadItem for at hente en midlertidig kopi af værkstedsgenstanden.
  • Et kald kan derefter laves til ISteamUGC::GetItemInstallInfo for at hente oplysninger til at finde og bruge værkstedsgenstanden.
  • Se sektionen Genstandsinstallation ovenfor for flere oplysninger omkring disse API-metoder.

SteamCmd-integrering

Sammen med ISteamUGC-API'en kan steamcmd.exe-kommandolinjeværktøjet bruges til at oprette og opdatere værkstedsgenstande til testformål. Dette bør kun bruges til testformål, da værktøjet kræver, at brugeren indtaster sine Steam-oplysninger (noget, vi ikke ønsker, at kunder er nødt til at gøre).

For at oprette en ny Steam-værkstedsgenstand ved at bruge steamcmd.exe skal en VDF-fil først oprettes. VDF'en er en almindelig tekstfil, som bør indeholde følgende nøgler.
"workshopitem" { "appid" "480" "publishedfileid" "5674" "contentfolder" "D:\\Content\\workshopitem" "previewfile" "D:\\Content\\preview.jpg" "visibility" "0" "title" "Team Fortress Green Hat" "description" "A green hat for Team Fortress" "changenote" "Version 1.2" }

Bemærkninger:
  • Nøglerne er knyttet til de forskellige ISteamUGC::SetItem[...]-metoder. Se dokumentationen ovenfor for flere oplysninger.
  • De viste værdier er kun eksempler og bør opdateres derefter.
  • For at oprette en ny genstand skal appid angives, og publishedfileid skal fjernes eller angives til 0.
  • For at opdatere en eksisterende genstand skal både appid og publishedfileid angives.
  • De tilbageværende nøgle-/værdipar bør inkluderes i VDF'en, hvis nøglerne bør opdateres.
Når VDF'en er blevet oprettet, kan steamcmd.exe køres med filparameteren workshop_build_item <build config filename>. For eksempel:
steamcmd.exe +login myLoginName myPassword +workshop_build_item workshop_green_hat.vdf +quit
Hvis kommandoen gennemføres, vil værdien publishedfileid i VDF'en automatisk blive opdateret til at indholde ID'et tilhørende værkstedgenstanden. På denne måde vil efterfølgende kald med steamcmd.exe for den samme VDF resultere i en opdatering frem for oprettelse af en ny genstand.

Fejl og logging

Størstedelen af ISteamUGC-metoder returnerer boolean-værdier. For yderligere oplysninger vedrørende specifikke fejl er der et antal steder at gennemgå:

Ofte stillede spørgsmål

Sp. Kan en separat applikation udgive indhold til mit spils værksted?

Ja. En separat applikation til redigering eller udgivelsesværktøjer kan konfigureres med basisapplikationens værksted til at acceptere indhold fra den pågældende redigeringsapplikation.

For at konfigurere dette skal du gå til værkstedets konfigurationssektion for basisapplikationen og rulle ned til bunden af siden. Indtast den separate applikations app-ID i feltet under "Applikationsudgivelsestilladelser", og tryk på "Tilføj".

Når Steamworks-indstillingerne er udgivet, vil redigeringsapplikationen være i stand til at udgive indhold til basisapplikationens værksted.