Steamworks-dokumentation
Upload til Steam

Introduktion til SteamPipe-indholdssystemet

SteamPipe er et indholdssystem til Steam-spil og -applikationer. SteamPipe inkluderer følgende funktioner:
  • Hurtig og effektiv levering af indhold.
  • Ubegrænsede offentlige og private "betagrene", så flere builds kan testes.
  • Enkel webbaseret buildstyring – udgiv nye builds eller annuller et tidligere build med få klik.
  • Mulighed for at se opdateringsstørrelsen på et build, inden det sættes til live.
  • Mulighed for at dele indhold mellem flere applikationer.
  • Mulighed for at bygge installationsdiske fra offentligt eller betaindhold.
  • Spil/applikationer bliver ved med at være tilgængelige offline, også når hentning af en opdatering er startet.
  • Alt indhold er altid krypteret, og ikke-aktive versioner er ikke synlige for kunder.
  • En Lokal SteamPipe-indholdsserver, som kan bruges under udvikling.
BEMÆRK: Der er nogle koncepter, som er uundværlige for SteamPipe, og inden du går i gang, bør du sætte dig ind i de koncepter, der beskrives i dokumentationen Applikationer. Det vil være nyttigt at have en grundlæggende forståelse for, hvordan disse elementer hører sammen, når du uploader dit produkt til Steam.

Steamworks-videoguide: Sådan bygger du dit spil i Steampipe

Videoen præsenterer SteamPipe og viser trin for trin, hvordan man bygger en applikation til Steam ved hjælp af Steamworks-værktøjerne.
https://www.youtube.com/watch?v=SoNH-v6aU9Q

Steamworks-videoguide: Sådan tilføjer du nye platforme og sprog

Denne guide beskriver, hvordan du tilføjer nye platforme og sprog til dit spil ved at tilføje depoter til din app.
https://www.youtube.com/watch?v=PShS32hcing

Tekniske detaljer om SteamPipe

SteamPipe anvender HTTP-protokollen til indholdslevering. Eftersom downloads er almindelig webtrafik vil HTTP-cache fra tredjepart mellem kunden og Steam-servere øge downloadhastigheden. Indhold kan hostes af eksterne CDN-udbydere, som nemt kan tilføjes til vores indholdsnetværk. De fleste firewalls hos forbrugere tillader HTTP-trafik og vil ikke blokere downloads.

SteamPipe har en effektiv patchalgoritme, som er baseret på teknologi, der sporer binære deltaer, så det er muligt kun at ændre de modificerede dele af eksisterende indholdsfiler. Når dette indhold opdateres, er det kun nødvendigt at sende disse deltaer. Dette betyder, at både udvikler- og brugeroverførsler er mindre og hurtigere. De fleste partnere vil ikke have behov for en Lokal SteamPipe-indholdsserver, eftersom de effektivt kan opdatere builds på private grene.

Steam-konto til builds

Inden du kan oprette builds på Steam, skal du have en Steam-konto i din Steamworks-konto med følgende tilladelser: "Rediger app-metadata" og "Udgiv app-ændringer til Steam". Af sikkerhedsmæssige årsager anbefales det, at du har en dedikeret buildkonto kun med disse tilladelser. Du kan oprette en ny Steam-konto til dette formål på https://store.steampowered.com/join.

Administratorer på din Steamworks-konto kan tilføje en Steam-konto og tildele de nødvendige tilladelser. Mere information om denne proces kan findes i dokumentationen Administrer din Steamworks-konto. Eksempel på, hvordan sådan en konto kunne se ud:

create_build_account.png

Indledende opsætning for nye SteamPipe-apps

Følg disse trin for at opsætte nye SteamPipe-apps:
  1. Find app-ID'et for din applikation (dette kan findes ved at vælge applikationen på din hjemmeside i Steamworks).
  2. Gå til siden Generelle installationsindstillinger for din app.
  3. Definer mindst en startparameter (stien og (valgfrit) nødvendige argumenter for at starte spillet). Hold musen over (?) for at læse mere om hvert felt.

    Eksemplet nedenfor viser fire startparametre, to for Windows og én for henholdsvis MacOS og Linux. Startparater 3 vises kun på Windows, hvis brugeren også ejer det angivne DLC.

    updatedlaunchoptions.png
  4. Gå til siden Depoter, og tilføj depoter efter behov for denne app. Som standard kan der allerede være konfigurerte et depot for din applikation.
    1. Klik på standarddepotet, og omdøb depotet med et passende og genkendeligt navn (for eksempel "Grundindhold" eller "Windows-indhold").
    2. Lad sproget være sat til [Alle sprog], medmindre det er et sprogspecifikt depot.
    3. Lad operativsystemet være sat til [Alle operativsystemer], medmindre det er et OS-specifikt depot (hvis appen er en alt-i-én-løsning eller kun til PC eller kun til Mac, skal den indstilles til [Alle operativsystemer]. Du skal kun ændre denne parameter for OS-specifikke spildepoter.
    4. Klik på Tilføj nyt depot for at oprette yderligere depoter.
    5. Klik på Gem ændringer for at gemme eventuelle ændringer.
  5. Når du er færdig med at definere dine depoter, skal du udgive de ændringer, du har foretaget fra siden Udgiv.
  6. Nyligt definerede depoter skal inkluderes i en pakke, så du får ejerskab over dem. Hvert spil på Steam skal have en udviklerpakke, som automatisk tildeles til de konti, der står i din udgivergruppe.
    Du kan tilføje de nye depoter til denne pakke (og/eller andre pakker, som skal have disse depoter) på siden Associerede pakker og DLC.
Bemærk: Hvis din eksekverbare fil ligger i en undermappe til den primære installationsmappe, skal du tilføje navnet på undermappen i feltet "Eksekverbar". Brug ikke foranstillede skråstreger eller prikker.

Opsætning af SDK'en til SteamPipe-uploads

Download den seneste version af Steamworks-SDK'en til den maskine, du vil uploade builds på, og pak SDK'en ud.

SteamPipe-værktøjerne kan findes i SDK'en i mappen tools, som består af to relevante undermapper.

Mappen ContentBuilder er der, hvor dit spilindhold og SteamPipe-buildværktøjer hører til. Denne mappe indeholder de følgende undermappe:
  • builder – Denne mappe indeholder til at starte med kun steamcmd.exe, som er kommandolinjeversionen af Steam.
  • builder_linux – Linux-versionen af steamcmd.
  • builder_osx – MacOS-versionen af steamcmd.
  • content – Denne mappe indeholder alle spilfiler, som skal bygges ind i depoter.
  • output – Denne mappe vil være stedet for buildlogs, segmentcache og mellemliggende output. BEMÆRK: Denne mappe kan slettes eller tømmes når som helst, men når den er blevet slettet, vil den næste upload tage længere tid.
  • scripts – Denne mappe er der, hvor du placerer alle dine buildscripts, når du bygger dine spildepoter.
steampipebuilddir.png

Det anbefales, at du kører steamcmd.exe direkte i byggemappen for din platform én gang for at bootstrappe dit buildsystem. Dette burde fylde builder-mappen med alle de filer, der skal bruges til at bygge depoter.

ContentServer-mappen indeholder værktøjer til at køre din egen Lokal SteamPipe-indholdsserver, hvis du vælger at gøre det.

SteamCmd på macOS

For at aktivere SteamCmd på macOS skal du udfylde følgende trin:
  1. Fra terminalen skal du gå til mappen tools\ContentBuilder\builder_osx\osx32
  2. Kør chmod +x steamcmd
  3. Gå op til den overordnede mappe (tools\ContentBuilder\builder_osx)
  4. Indtast bash ./steamcmd.sh
  5. SteamCmd vil så køre og opdatere til det seneste build, hvorefter du ser SteamCmd-kommandoprompten
  6. Indtast exit, og tryk på Enter for at forlade kommandoprompten
Du kan derefter følge resten af denne dokumentation (erstat stier efter behov) for at oprette depot- og appkonfigurationsfiler for at uploade dit indhold til Steam.

Oprettelse af SteamPipe-buildkonfigurationsfiler

For at uploade din app med SteamPipe skal du oprette scripts, som beskriver dit build og hvert debot, der indgår i det. I mappen ContentBuilder\scripts er der enkle scripteksempler til en app med ét depot.

BEMÆRK: Du kan navngive disse scripts, som du vil, men vi bruger konsekvent navnene app_build_<AppID> og depot_build_<AppID>. Hvis du ved, at du vil bygge apps på denne maskine, vil det måske være en god idé at oprette undermapper i din scriptmappe for hver applikation for at holde styr på hver applikations buildscripts.

GUI-værktøj i SteamPipe

Hvis du kører Windows og foretrækker et GUI-værktøj til at skabe disse konfigurationsfiler og uploade builds, kan du bruge SteamPipeGUI, som findes i "tools"-mappen i Steamworks-SDK'en. I .zip-filen er der yderligere instruktioner til, hvordan du kommer i gang.

Hvis du bruger GUI-værktøjet, anbefales det stadig at læse de følgende sektioner, så du kan blive mere bekendt med, hvordan SteamPipe-systemet fungerer.

Depot-buildscript

Opret først et depot-buildscript til hvert depot, du vil uploade. Begynd med at duplikere depot_build_1001.vdf-scriptet og omdøbe det med det depot-ID, som det skal uploade.

Eksempel på depot-buildscript:
"DepotBuildConfig" { // Angiv depot-ID'et, som dette script vil uploade. "DepotID" "1001" // Angiv en rod for alt indhold. // Alle relative stier, som er angivet nedenfor (LocalPath i FileMapping-poster og FileExclusion-stier) // Løses i forhold til denne rod. // Hvis du ikke definerer ContentRoot, antages det, at den er // Denne scriptfils placering, som sikkert ikke er det sted, du vil have "ContentRoot" "D:\MyGame\rel\master\" // Inkluder alle filer rekursivt "FileMapping" { // Dette kan være en fuld sti eller en sti i forhold til ContentRoot "LocalPath" "*" // Dette er en sti i forhold til dit spils installationsmappe "DepotPath" "." // Hvis LocalPath indeholder jokertegn, og du indstiller den, betyder det, at alle // matchende filer i undermapper til LocalPath også vil // blive inkluderet. "recursive" "1" } // Ekskluder alle symbolfiler // Dette kan være en fuld sti eller en sti i forhold til ContentRoot "FileExclusion" "*.pdb" }

BEMÆRK: Hvis du angiver en "ContentRoot" i depot-buildscriptet, tilsidesættes "ContentRoot" i appens buildscript.

App-buildscript

Når du har konfigureret dine depot-buildscripts, skal du have et app-buildscript, som beskriver buildets detaljer. Begynd med at duplikere app_build_1000.vdf-scriptet og omdøbe det med det app-ID, som det skal bygge.

Følgende typer builds understøttes af SteamPipe:
  • Preview – Denne type build viser kun logfiler og et filmanifest. Preview-builds er en god måde at teste uploadscripts på.
  • Local – Builds til Lokal SteamPipe-indholdsserver. LCS-builds uploades til din egen LCS og gør det muligt for dig at teste dit spils installation ved hjælp af Steam-klienten.
  • SteamPipe – SteamPipe-builds gør, at dine depoter bliver uploadet til Steam. Det er altid sikkert at gøre dette, også for spil, som allerede er udgivet, da du skal sætte det til offentligt, før kunder kan downloade det.

Eksempel på app-buildscript:
"appbuild" { // Angiv app-ID'et, som dette script vil uploade. "appid" "1000" // Beskrivelsen for dette build. // Beskrivelsen er kun synlig for dig i sektionen "Dine builds" i panelet "App-administrator". // Dette kan ændres når som helst efter upload af et build på siden "Dine builds". "desc" "Din buildbeskrivelse her" // Aktiver/deaktiver, om dette er et preview-build. // Det anbefales kraftigt at bruge preview-builds i den indledende opsætning af SteamPipe for // at sikre, at depotmanifestet indeholder de korrekte filer. "preview" "1" // Filstien på den lokale indholdsserver, hvis den er slået til. "local" "" // Grennavn, der automatisk skal sættes til live, når buildet er oprettet. Ignorer, hvis den er tom. // Bemærk, at standardgrenen ikke kan sættes til live automatisk. Dette skal gøres via panelet "App-administrator". "setlive" "" // Følgende stier kan være absolutte eller relative i forhold til scriptets placering. // Denne mappe vil være stedet for buildlogs, segmentcache og mellemliggende output. // Cachen, der er gemt her, gør, at fremtidige SteamPipe-uploads gennemføres hurtigere ved hjælp af ændringssporing. "buildoutput" "..\output\" // Indholdsmappens rod. "contentroot" "..\content\" // Listen over depoter i dette build. "depots" { "1001" "depot_build_1001.vdf" } }

Oprettelse af depoter

For at starte et build skal du redigere run_build.bat-filen, så den inkluderer din Steamworks-konto til builds og din adgangskode (se ovenfor) og stien til app-buildscriptet:
builder\steamcmd.exe +login "account" "password" +run_app_build ..\scripts\[build_script_name].vdf +quit

BEMÆRK: Dit første forsøg på at køre et build kan mislykkes på grund af Steam Guard. Hvis login-forsøget mislykkes på grund af Steam Guard, skal du se efter Steam Guard-koden i dine e-mails og køre steamcmd som: steamcmd.exe "set_steam_guard_code <code>" og prøve igen. Når du har logget ind med Steam Guard én gang, bruges en sentry-fil til at kontrollere efterfølgende logins.

If you are using steamcmd from a machine or VM that gets re-imaged frequently, you should include the sentry file in your image so you won't be prompted for a Steam Guard every time. The sentry file is located in <Steam>\ssfn<hashOfNumbers>.

After you run run_build.bat, your build output should be in the directory specified in your build script file. If the preview build produces the expected manifest, run the build again with "preview" "0" in your app build script.

The following steps occur during a SteamPipe build:
  1. Steamcmd.exe logger ind til Steams backend med en given Steam-builderkonto.
  2. Buildstarten for appen er registreret i MDS (Master Depot Server), som sikrer, at brugeren har de nødvendige rettigheder til at ændre denne app.
  3. For hvert depot i app-buildet generers der en filliste baseret på filerne i indholdsmappen og filterreglerne, som er defineret i konfigurationsfilen for depot-buildet.
  4. Hver fil skannes og deles op i små stykker på ca. 1 MB. Hvis depotet har været bygget før, vil denne partitionering bevare så mange af de uændrede stykker som muligt.
  5. Ny filstykker komprimeres, krypteres og uploades derefter til MDS'en.
  6. Der genereres et sidste manifest for denne depotversion. Hvert manifest identificeres med et entydigt 64-bit manifest-ID.
  7. Når alle depoter er blevet behandlet, afslutter MDS'en app-buildet og tildeler det et globalt build-ID.
  8. Når buildet er klar, kan der være *.csm- og *.csd-filer i build-outputmappen. Disse er midlertidige og kan slettes, men de fremskynder efterfølgende build-tider.

Administrering af opdateringer

After your app releases to customers, your customers will be receiving the build marked as the Default build. When uploading a new build it's always a good idea to test it before shipping it to your customers, for more information on how to successfully do this see Testarbejde på Steam.

Avancerede regler om filtilknytning

There can be multiple file mappings that add files to the depot. They should be listed first.
Files or subfolders can be excluded with filter expressions.
Steam install scripts can be marked during the build process so the Steam client knows to run them for any application which mounts the Depot.
Files or folders can be remapped, so sub-folders in the content folder can be mapped to anywhere in the depot.
Files can be tagged with special flags:
  • userconfig – Denne fil ændres af brugeren eller spillet. Den kan ikke tilsidesættes af en opdatering, og den udløser ikke en verifikationsfejl, hvis den er forskellig fra den tidligere version af filen.
  • readonly – Denne fil markeres som skrivebeskyttet for klientfilsystemet.
  • hidden – Denne fil markeres som skjult for klientfilsystemet.
  • executable – Dette er en eksekverbar fil (kun for OS X).
    "DepotBuildConfig" { "DepotID" "202931" "FileMapping" { // tilsidesætter videofiler i \\videoer med tyske versioner "LocalPath" "localization\\german\\videos\\*" "DepotPath" "videos\\" } "FileMapping" { // tilsidesætter lydfiler i \\lyd med tyske versioner "LocalPath" "localization\\german\\audio\\*" "DepotPath" "audio\\" } "FileMapping" { "LocalPath" "localization\\german\\german_installscript.vdf" "DepotPath" "." } "FileExclusion" "bin\\server.exe" // exclude this file "FileExclusion" "*.pdb" // exclude all .PDB files everywhere "FileExclusion" "maps\\testroom*" // exclude all files under maps/testroom/ "InstallScript" "localization\\german\\german_installscript.vdf" "FileProperties" { "LocalPath" "bin\\setup.cfg" "Attributes" "userconfig" // this file will be modified during runtime } }

Fejlfinding af problemer med builds

If your build wasn't successful, you should look in your output directory for error information, not the console where the build script was run. Most error information can be found in the *.log files.
You can use these Steam client commands and client-side files to debug issues:
  • "app_status [appid]" – Viser appens nuværende tilstand på denne klient.
  • "app_info_print [appid]" – Viser den nuværende Steamworks-konfiguration for dette spil (depoter, startparametre osv.).
  • "app_config_print [appid]" – Viser den nuværende brugerkonfiguration for dette spil (nuværende sprog, installationsmappe osv.).
  • file "logs\content_log.txt" – Viser en liste over alle loggede Oxcart-operationer og fejl.
  • file "steamapps\appmanifest_[appid].acf" – Viser denne apps nuværende installationstilstand (KeyValues).

Oprettelse af effektive depoter til SteamPipe

The old Steam content system would patch updates on a file level, which meant that if a single byte in a file changed, the entire new file would be downloaded by all users. This was especially inefficient if the game used pack files, which are collections of game content files in a single big file. Pack files can easily exceed 1 GB, so updates often led to unnecessarily large downloads. A common way to avoid these large downloads was to add new pack files that overrode content of already shipped pack files. That worked for updates, but it hurt new users long-term, since they ended up downloading unused, already-patched content.

The new content system fixes this problem by splitting each file into roughly 1-MB chunks. Each chunk is then compressed and encrypted before being distributed by the Steam content system. If the game content has large redundant parts, these chunks are reused and the user only has to download each repeated chunk once. However, the real strength of this system is building efficient update patches. While the system is building a patch, the new content is scanned for already known chunks. If it finds them, it reuses them. This means if you change or inject a few bytes in a big file, the user only has to download the changes.

This works well in most cases, but there are still a few pitfalls that need to be avoided when designing the content layout of a game. Do not compress or encrypt your game data. This is already done for in-flight downloads and retail discs by the Steam content system. If you do it too, you will reduce the effectiveness of delta patching. If you package multiple data files in a single pack file, make sure that with each re-packaging, no unnecessary changes are made. One problematic practice is including the full name of the original source files on disk, because the names may change, depending on the build machine. Another bad pattern is including build time stamps for each file. If possible, always add new content to the end of your pack files and keep the order of existing files. Also, keep your pack file’s metadata (offset and sizes to individual files) in one place and don’t intersperse it with content files. Use a binary diff’ing tool like BeyondCompare to look at two builds of your pack files to make sure that hundreds of unwanted changes don’t show up.

If you follow these rules you will minimize patch sizes and only new content will need to be downloaded. Your customers will thank you for that and you will be able to increase the quality of your product by shipping more updates.

Oprettelse af installationsdiske

To build retail install disc for SteamPipe games, you must first setup a build project file.
In this example, the SKU file is called "sku_goldmaster.txt":
"sku" { "name" "Test Game Installer" "appid" "202930" "disk_size_mb" "640" "included_depots" { "1" "202931" "2" "202932" } }
Some tips to keep in mind:
  • Opret en ny mappe, som diskbilleder skal skrives til, for eksempel "D:\retail_disks". Kun depoter i included_depots-sektionerne tilføjes. Der er ikke længere undtagelser.
  • Du kan bruge Steam.exe (med kommandolinjeparametrene -dev og -console) eller steamcmd.exe til at bygge installationsbilleder. Brug "build_installer"-kommendoen i begge tilfælde.
  • Log på med en Steam-konto, som ejer spillet og alle de depoter, du vil lægge på detaildisken. Ellers behøver kontoen ikke at have særlige rettigheder, så alle kan oprette installationsdiske.
  • Hvis du bruger Steam.exe, skal alle andre downloads stoppes.
  • Gå til konsolsiden, og kør kommandoen build_installer:
    build_installer sku_goldmaster.txt "D:\retail_disks"
    Buildet kan tage et stykke tid, eftersom alle depoter downloades igen for første gang.
  • Hvis du opretter en Gold Master med en lokal indholdsserver, skal du køre:
    @localcontentserver "webserver"
    build_installer sku_goldmaster.txt "D:\retail_disks" local
    Teksten i konsollen henviser til "Sikkerhedskopiering", eftersom en installationsdisk og en lokal backup stort set er det samme.
  • Når du ser teksten "Sikkerhedskopiering færdig for app-ID...", er installationsdiskbillederne klar. Du kan finde flere detaljer om backup-buildet i logs\backup_log.txt.
  • Der er nye mapper (Disk_1, Disk_2 osv.) i "D:\retail_disks", hver på maks. 640 MB, som angivet med "disk_size_mb". hver diskmappe indeholder en "sku.sis"-fil og en .csd og .csm for hvert depot. Større depoter kan strække sig over flere diske. Alt indhold på detailinstallationsdiske krypteres altid (til forskel fra lokale spilsikkerhedskopifiler). Kopier GM-installationsfilerne for SDK'en (setup.exe, setup.ini osv.) til mappen med din første disk for at færdiggøre oprettelsen af din installationsdisk.
  • Ved oprettelse af en GM for OSX skal du sørge for at åbne goldmaster/disk_assets/SteamRetailInstaller.dmg-billedet på en Mac. Tag derefter appen, som ligger der, og kopier den til mediets rod. Du skal nok ændre navnet på installationsappen, oprette dit eget ikon og kun vise installationsprogrammet i vinduet.
  • Når du opretter en GM for OSX bestående af flere diske, skal du sørge for, at enhedsnavnet på hver disk er korrekt. Enhedsnavnet bliver en del af forbindelsesstien, og hvis navnene ikke stemmer overens, vil installationsprogrammet ikke kunne finde den næste disk.

Oprettelse af valgfri installationsdisk fra en betagren

The process above will create a retail installer based on the default branch. If you need to create an installer based on a beta branch, you must first create a beta branch named "baseline". Then use the following command to build from the baseline branch:
build_installer <project file> <target folder> <beta key> <beta pwd> steamcmd ex: build_installer sku_goldmaster.txt "D:\retail_disks" baseline superSecret script ex: steamcmd.exe +login user_name password +build_installer "..\Build\GameDataSku.txt" c:\destination beta_key beta_password +exit

Installation af DLC fra et detailinstallationsprogram

In some circumstances, you may wish to create a retail installer that includes your DLC packages. In such cases, the process to create the installer requires only a few changes.
In "sku_goldmaster.txt", include the DLC AppIDs under the "included_depots" section. Once you have run the "build_installer" process, find the generated sku.sis file for the installer and open it with a text editor.
Add the DLC AppID in the "apps" section. For example, if I had a game with AppID 1000 and DLC AppID 1010, I would adjust the "apps" section as follows:
"apps" { "0" "1000" "1" "1010" }
This will ensure that Steam checks for ownership of the DLC and prompt the user for a key if the DLC is not owned by the account that they are logging into on Steam.

Oprettelse af detailinstallationsprogram for flere app-ID'er på en enkelt disk/installationspakke

To build a GM containing multiple Steam Pipe apps. Build each app installer one by one but point them all to the same output folder. Each build will merge itself with the already existing install image.

Tilpasning af installationsdisk

See Customizing a gold master for more details on customizing your retail install disk.

Forudindlæsning af spil inden udgivelse

By default, all content is always encrypted, on all retail discs and on all content servers. Switching a game to preload mode means owners can download the content, but it stays encrypted on the users' disk and can't be played. Once the game becomes officially released, Steam will decrypt the preloaded content and the user can play the game.

Switching a game to preload mode is recommended in these cases:
  • Udgivelse af detaildiske med produktnøgler, inden spillet er officielt tilgængeligt (undgå piratkopiering før udgivelsen).
  • Spil med forudkøb, og som er større end 20 GB.

Please submit a ticket to Steam Publishing if you believe your game requires preloading.

Oprettelse af DLC

DLC is built as a depot of the base game. See the Indhold, der kan downloades (DLC) documentation for more information.

Fejlfinding af SteamPipe

"Login Failure: Account Logon Denied Failed", når der logges på via steamcmd

Cause: Probably SteamGuard is preventing login. Resolution:
  • Tjek e-mailadressen, som er tilknyttet den konto, du prøver at logge på med, og se efter en e-mail fra Steam Support. Kopier koden fra e-mailen.
  • Kør steamcmd: set_steam_guard_code <code>
  • Prøv at logge på igen fra steamcmd: Steam>logon <buildaccount> <password>

Generel fejlfinding af problemer med downloads

  • Genstart computeren, modemmet, routeren osv.
  • Bekræft firewallindstillingerne. Det nye system kræver port 80 (HTTP) og alle andre Steam-porte, som står her.
  • Slå lokale antivirus- eller spamblokeringsprogrammer fra.
  • Tjek download-området i Steam under Indstillinger -> Downloads. Dette bør matche din placering.
  • Stop overførslen, afinstaller og geninstaller spillet (ryd manifestcachelagre).
  • Afslut Steam, slet mapperne appcache og depotcache i Steam-installationsmappen.
  • Indstil "Download-område" i Steam til et sted langt væk. Dette vil måske virke, hvis en indholdsserver i nærheden af dig serverer dårlige data.

Mine Mac- og/eller Linux-builds installerer ikke nogen filer. Hvorfor?

If you're testing via Steam the installation of your game or application across multiple platforms, you may run into a situation where the build deploys on Windows but doesn't deploy any files on Mac or Linux despite your SteamPipe process being setup to upload Mac and/or Linux depots. There is a step that is easily missed which involves adding your alternate Depots to the Package being deployed. You can check what depots are included in a package via the following steps:
  1. Gå til siden App-administrator
  2. Fra sektionen "Vis associerede emner" skal du klikke på Vis demo, alle associerede pakker, videoer og DLC
  3. Klik på titlen på den pakke, du forsøger at downloade
  4. Gennemgå sektionen Depoter inkluderet
  5. Brug Tilføj/fjern depoter for at sikre, at det korrekte depotsæt er tildelt pakken
There are a number of discussion threads about this that may also assist:

Når steamcmd.exe køres, giver det følgende fejl: "SteamUpdater: Error: Steam needs to be online to update. Please confirm your network connection and try again." (SteamUpdater: Fejl: Steam skal være online for at opdatere)

Resolution: Go to Internet Options->Connections->Lan Settings and check Automatically detect settings.

Når app-buildet køres, giver det følgende fejl: "ERROR! Failed 'DepotBuild for scriptname.vdf' - status = 6." (FEJL! "DepotBuild for scriptname.vdf" fejlede – status = 6)

Possible Causes:
  • Kontoen har ikke tilladelser til appen.
    • Kontrollér, at app-ID'et er korrekt i app_build.vdf.
    • Kontrollér, at build-kontoen har de nødvendige tilladelser til app-ID'et.
  • Steamcmd kan ikke finde depotindholdet.
    • Kontrollér, at "contentroot"-værdien i appen app_build-scriptet er en gyldig sti i forhold til scriptfilens placering.
    • Kontrollér, at "LocalPath"-værdien i depot_build-scriptet er en gyldig sti i forhold til app_build-scriptet. Kontrollér, at stien indeholder indhold.

Når app-buildet køres, giver det følgende fejl: "ERROR! Failed to get application info for app NNNNN (check login and subscription)" (FEJL! Kunne ikke få applikationsinformation for appen NNNNN (tjek login og abonnement))

This means that Steam can't retrieve information about the app, either because it doesn't exist or the user doesn't have access to the app.
  • Kontrollér, at NNNNN er det app-ID, du fik tildelt for appen.
  • Kontrollér, at app-ID'et er korrekt i app_build.vdf.
  • Hvis det er et nyt app-ID, skal du kontrollere, at konfigurationen af app-administratoren i Steamworks er blevet udgivet. Nye apps skal have en SteamPipe-installationsmappe på konfigurationsfanen, et depot på depotfanen, og alle ændringer skal være udgivet på udgivelsesfanen.
  • Hvis alt dette ser korrekt ud, skal du sikre, at din konto ejer app-ID'et.

"An error occurred while installing [AppName] (Invalid content configuration)" at launch time (Der opstod en fejl under installation af [AppName] (ugyldig indholdskonfiguration)", når spillet startes)

Possible Causes:

"Error code 15", når spillet startes

This is the CEG servers rejecting the request to CEG the exe. Check the release state on the game page. If it is not 'playable', you will need to request Steam keys that override the release state.

"The Steam Servers are too busy to handle your request... Error Code (2)" at launch time (Steam-serverne er for optagede til at håndtere til anmodning... Fejlkode (2), når spillet startes)

This is the CEG servers failing to find a matching CEG exe. Double check that you have a working CEG executable on the CEG tab of your app admin. Click the 'status' button to make sure that it's propped.

Jeg kan ikke huske, hvad steamcmd-kommandoen var, eller hvordan den virkede

Use the 'find' command in steamcmd to search for any steamcmd command. It will do partial matching on the command name and it will list out the command syntax.
Steam>find build_installer ConVars: Commands: build_installer : <project file> <target folder> <beta key> <beta pwd>