Bruk av SteamCMD: Installasjon, kommandoer, automatisering og feil

Siste oppdatering: 15/10/2025
Forfatter: Isaac
  • SteamCMD administrerer installasjon og oppdatering av dedikerte servere med SteamPipe og erstatter den gamle HLDSUpdateTool.
  • Tillater anonym autentisering eller kontoautentisering, støtter beta-grener og filvalidering for å sikre integritet.
  • Støtter CLI og skriptautomatisering, samt descargas krysset med @sSteamCmdForcePlatformType.
  • Inkluderer rettelser for vanlige feil (32-biters biblioteker, pålogging, ulimit) og verktøy som LGSM og SteamCMD GUI.

Brukerhåndbok for SteamCMD og dedikerte servere

Hvis du vil sette opp eller vedlikeholde dedikerte spillservere ved hjelp av Valves infrastruktur, vil du før eller siden komme over SteamCMD. Dette verktøyet er nettversjonen av kommandoer av klienten til Damp og har blitt standardverktøyet for nedlasting, installasjon og oppdatering av servere. Siden SteamPipe erstattet det gamle HLDSUpdateTool, så å si alle titler som støtter dedikerte servere kommer gjennom her.

I denne komplette guiden forklarer jeg i detalj hvordan du laster ned SteamCMD i Windows, Linux og macOS, hvordan kjøre grunnleggende og avanserte kommandoer, logge inn (anonymt eller med en konto), installere og validere servere, automatisere oppgaver med skript, fremtvinge nedlastinger på tvers av plattformer og hvordan løse vanlige feil. I tillegg integrerer jeg et praktisk case med Palworld og jeg gjennomgår eksterne verktøy og skript som gjør livet ditt enklere.

Hva er SteamCMD og hva brukes det til?

Hva er SteamCMD

SteamCMD er Steam-klientkonsollen: et headless-program som forstår tekstkommandoer. Hovedfunksjonen er å installere og oppdatere programmer og dedikerte servere som bruker SteamPipe-innholdsdistribusjonssystemet. Alle spill som tidligere brukte HLDSUpdateTool har migrert til SteamCMD, så det er den offisielle og Valve-støttede måten å administrere servere på.

Last ned og installer SteamCMD

Prosessen varierer avhengig av operativsystemet, men den er alltid enkel. Først opprett en spesifikk katalog for SteamCMD og jobbe derfra for å holde alt organisert.

Windows

På Windows, bare klargjør en mappe, last ned den offisielle ZIP-filen og pakk den ut. Et eksempel på en praktisk sti er C:\\steamcmd.

1) Crea la carpeta, por ejemplo: C:\steamcmd
2) Descarga: http://media.steampowered.com/installer/steamcmd.zip
3) Extrae el ZIP dentro de C:\steamcmd

Linux

På Linux anbefales det å installere 32-bitsbibliotekene først, siden SteamCMD er en 32-bits binærfil. Spesifikke pakker avhenger av distribusjonen..

Ubuntu/Debian 64-bit:
apt-get install lib32gcc1

RedHat/CentOS:
yum install glibc libstdc++

RedHat/CentOS 64-bit:
yum install glibc.i686 libstdc++.i686

Det anbefales på det sterkeste å opprette en dedikert bruker (f.eks. «steam») for å installere og kjøre serverne. Ikke start SteamCMD som root; er unødvendig og kan forårsake problemer med tillatelser.

# Como root, crea un usuario y su home (o usa sudo)
useradd -m steam
su - steam

# Crea el directorio de trabajo y entra en él
mkdir ~/steamcmd
cd ~/steamcmd

# Descarga y extrae SteamCMD
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

macOS (OS X)

På macOS er flyten lik: mappe, nedlasting og utpakking fra terminal. Bruk curl for å åpne installasjonsprogrammet.

mkdir ~/steamcmd
cd ~/steamcmd
curl -O http://media.steampowered.com/client/installer/steamcmd_osx.tar.gz
tar -xvzf steamcmd_osx.tar.gz

Slik kjører du SteamCMD

Først boot Verktøyet oppdaterer seg selv og etterlater deg ved Steam>-ledeteksten. Skriv inn hjelp for å se de tilgjengelige kommandoene og begynn å orientere deg

Windows

Fra Windows-konsollen navigerer du til mappen der du pakket den ut og kjører den. De grunnleggende kommandoene er enkle:

cd C:\steamcmd
steamcmd

Linux og macOS

I typesystemer Unix, gå inn i arbeidskatalogen og start script. Husk å bruke ./ foran den kjørbare filen:

cd ~/steamcmd
./steamcmd.sh

SteamCMD-pålogging

SteamCMD lar deg logge inn på to måter: anonymt eller med Steam-legitimasjon. Mange apps fra serveren lastes ned i anonym modus, men ikke alle.

Anonym tilgang

For servere som tillater det, er den raskeste: logg inn anonym.

login anonymous

Logg inn med Steam-kontoen din

Noen servere krever autentisering og noen ganger et spillkjøp. I slike tilfeller logger du inn med brukernavnet ditt. Av sikkerhetshensyn anbefales det å opprette en sekundær konto kun for servere. og unngå å bruke din personlige konto til spill.

login <tu_usuario>

Skriv inn passordet ditt når du blir bedt om det. Hvis du har Steam Guard, vil du motta en kode på e-post, og du må skrive den inn første gang (eller hvis du sletter filene der SteamCMD lagrer innloggingsinformasjonen din). Vær oppmerksom på at en konto kun kan logges inn ett sted om gangen., enten i den grafiske klienten eller i SteamCMD.

  Red Dead Redemption kommer på Netflix: utgivelsesdato, mobile enheter og viktig informasjon

Installere og oppdatere servere med SteamCMD

Den typiske prosessen er: logg inn, velg installasjonsmappe og bruk app_update med app-ID-en. Du kan også validere filer og velge beta-grener. hvis de er tilgjengelige.

Først, definer målkatalogen (vanlig skråstrek på Linux/macOS og omvendt skråstrek på Windows): force_install_dir

# Ejemplo: subcarpeta "cs_go" en el directorio actual
force_install_dir ./cs_go/

Kjør deretter installasjonen eller oppdateringen med app_update. Du kan legge til validate for å sjekke integriteten, og -beta med -betapassword hvis du trenger en beskyttet gren. Den generelle syntaksen er denne:

app_update <app_id> [-beta <rama_beta>] [-betapassword <clave>] [validate]

HLDS er et spesialtilfelle: App-ID-en er alltid 90, og du må velge modden med app_set_config før du oppdaterer. Parameteren som skal settes er mod:

app_set_config <app_id> <opcion> <valor>

Noen mye brukte praktiske eksempler. CS:GO dedikert:

app_update 740 validate

HLDS med Team Fortress Classic:

app_set_config 90 mod tfc
app_update 90 validate

Vær oppmerksom på at HLDS (appid 90) kan kreve at app_update kjøres flere ganger før den laster ned alle nødvendige filer. Gjenta app_update 90 validate til det ikke er flere oppdateringer..

HLDS (Half-Life) i beta:

app_update 90 -beta beta validate

Counter-Strike: Source dedikert (forhåndslanseringsgren):

app_update 232330 -beta prerelease validate

Natural Selection 2 dedikert til privat beta (grenen "alpha", koden "natsel"):

app_update 4940 -beta alpha -betapassword natsel validate

Når du er ferdig, logg ut på riktig måte med: slutte.

quit

Filvalidering

Valideringsbryteren fremtvinger en sjekk av at alle filer samsvarer med de offisielle. Det er nyttig hvis du mistenker at det er korrupte filer eller mangler etter en fiasko.

Merk: Validering overskriver endrede filer med hensyn til standardtilstanden. Hvis du tilpasset for eksempel mapcycle.txt, vil den opprinnelige versjonen bli gjenopprettet. Filer som ikke er en del av standardinstallasjonen vil ikke bli berørt.

Automatiser SteamCMD

Du kan automatisere oppgaver enten ved å sammenkoble kommandoer på kommandolinjen eller gjennom skript med +runscript. På Linux og macOS, erstatt steamcmd med ./steamcmd.sh i eksemplene.

Fra kommandolinjen

For å kjede flere handlinger, sett et + foran hver instruksjon. Det er én særegenhet med beta-grener i CLI: må være omgitt av spesielle anførselstegn hvis sendt i app_update.

Eksempel på dedikert CS:GO med tilpasset installasjonssti: med anonym pålogging

steamcmd +login anonymous +force_install_dir ../csgo_ds +app_update 740 +quit

For å installere en HL1-mod som Condition Zero, husk å pinne modden først: bruk app_set_config 90 mod czero

steamcmd +login anonymous +force_install_dir ../czero +app_set_config 90 mod czero +app_update 90 +quit

Hvis spillet krever innlogging, oppgi brukernavn og passord i følgende rekkefølge: eksempel med Killing Floor

steamcmd +login <usuario> <contraseña> +force_install_dir c:\KFServer\ +app_update 215350 +quit

På beta-grener i CLI, prøv formater som: +app_update «90 -beta beta» eller «+app_update 90 -beta beta» hvis den første ikke fungerer.

  De mest etterlengtede videospillutgivelsene i september

Med et manus

Legg SteamCMD-kommandoene dine i en tekstfil og kjør dem med +runscript. Du kan legge til kommentarer med // i selve skriptet.

steamcmd +runscript csgo_ds.txt

Nedlasting på tvers av plattformer

SteamCMD lar deg tvinge frem målplattformen med @sSteamCmdForcePlatformType-variabelen. Støttede verdier inkluderer Windows, macOS og Linux. Ja, variabelen starter med to s-bokstaver: @sSteamCmd…

# Ejemplo: descargar el servidor dedicado de CS:GO para Windows desde Linux
./steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit

Programvare og verktøy for Windows

Det finnes verktøy som fungerer som en bro eller et grensesnitt over SteamCMD. Noen av de mest brukte i Windows er:

  • kondensatorBootstrapper for installasjon, konfigurasjon og oppstart av dedikerte Steam-servere.
  • SteamCMD GUIEt grafisk grensesnitt for bruk av SteamCMD uten bat eller kommandoer. Lager: https://github.com/DioJoestar/SteamCMD-GUI
  • SteamCMD Guardian 1.2: verktøy og skript; last ned på: http://pastebin.com/BRUbsGQh

Nyttige skript for Linux

Hvis du jobber på Linux, finnes det prosjekter som automatiserer serveradministrasjon. Høydepunkter Linux Game Server Managers (LGSM), et sett med CLI-skript for rask distribusjon og administrasjon av servere.

Blant funksjonene: SteamCMD-installasjonsprogram, start/stopp/start på nytt, oppdatering, overvåk med e-postvarsler, sikkerhetskopier og serverkonsoll.

LGSM støtter et bredt utvalg av spill, som for eksempel ARMA 3, Blade Symphony, Counter-Strike (forskjellige utgaver), Day of Defeat, Fistful of Frags, Garry's Mod, Half-Life DM Classic, HL2 DM, Insurgency, Just Cause 2, Killing Floor, Left 4 Dead (1 og 2), No More Room in Hell, Natural Selection 2, Red Orchestra: Ostfront 41-45, Team Fortress (forskjellige utgaver), blant andre.

Mer informasjon og fullstendig liste: http://danielgibbs.co.uk/lgsm — depot på GitHub: https://github.com/dgibbs64/linuxgameservers

Det finnes også et skript som heter SteamCMD Guardian 1.2, testet på Debian Wheezy. Du kan se og laste den ned på: http://pastebin.com/hcpMpmaZ

Typisk installasjon (økt under en dedikert bruker, for eksempel Steam): opprett filen og rediger den

  1. Opprett filen: nano updateserver.sh
  2. Lim inn den oppgitte koden.
  3. Juster innholdet og legg til minst ett spill i linjene DL_SV*=.
  4. Lagre med Ctrl + A, trykk Enter og gå ut med Ctrl + X.
  5. Gi utførelsestillatelser: chmod u+x ./updateserver.sh
  6. Løpe: ./updateserver.sh

Dette skriptet vil laste ned SteamCMD hvis det ikke allerede er det, oppdatere det og installere de valgte serverne (opptil 4 om gangen). Når den startes på nytt, oppdaterer den spillene som allerede er installert. automatisk.

Vanlige feil og hvordan du fikser dem

Som med alle verktøy, finnes det typiske hendelser som bør merkes. Dette er de vanligste og løsningene deres.

FEIL! Kunne ikke installere appen «xxxxxx» (Ingen abonnement)

Denne meldingen indikerer at serveren du prøver å laste ned krever pålogging, eller at du har kjøpt spillet. Prøv å logge inn med en Steam-konto, og hvis det ikke fungerer, kjøp spillet. Av sikkerhetshensyn, opprett en spesifikk konto for dedikerte servere og unngå å bruke den personlige.

32-bits biblioteker på 64-bits Linux

Siden SteamCMD er 32-bit, krever det tilsvarende biblioteker. Den typiske feilen er: libstdc++.so.6: kan ikke åpne delt objektfilInstaller de riktige pakkene for distroen din.

Debian/Ubuntu (y derivadas):
apt-get install lib32gcc1
# Nota: no hace falta ia32-libs; lib32gcc1 basta.
# En Debian 7 "Wheezy" puedes toparte con dependencias no satisfechas para ia32-libs.

Red Hat/Fedora/CentOS:
yum install glibc.i686 libstdc++.i686

Arch Linux (activa multilib primero):
pacman -S lib32-gcc-libs

Innloggingsfeil: Ingen tilkobling

På Linux krever noen servere passende iptables-regler for at innlogging skal fungere. Sjekk portene på: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english og legger til de nødvendige reglene.

Hvis du ser feilmeldinger som «SteamUpdater: Error: Download failed: http error 0» eller «Steam needs to be online to update» på Windows, kan det vanligvis fikses ved å aktivere automatisk deteksjon i Internet Explorer (Internettalternativer > Tilkoblinger > LAN-innstillinger). Trinn:

  1. Åpne Internet Explorer.
  2. Verktøy → Internett-alternativer.
  3. Tilkoblinger-fanen.
  4. Under Innstillinger for lokalnettverk (LAN) trykker du på Innstillinger.
  5. Merke "Oppdag innstillinger automatisk".
  6. Godta og bruk. Hvis problemet vedvarer, reduser sikkerhetsnivået til middels eller lavere.
  Mestre Need for Speed ​​​​Heat med disse tipsene og triksene

SteamCMD oppstartsfeil

På Linux kan du se: [S_API FAIL] SteamAPI_Init() mislyktes; klarer ikke å finne en kjørende instans av Steam eller en lokal steamclient.dll.Løsning: Koble steamclient.so til ~/.steam/sdk32/steamclient.so.

ln -s steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so

Noen skript viser en feil med ulimit ved oppstart (ingen tillatelse/kan ikke åpne fil), forårsaket av en lav filbeskrivelsesgrense (-n). Øk den til en rimelig verdi:

ulimit -n 2048
# Comprueba con: ulimit -a  (busca: open files (-n) 1024)

Hvis du ikke har tillatelser, logg inn som root for å endre eller redigere den. /etc/security/limits.confI mange tilfeller vil du bare se en advarsel, og SteamCMD vil fortsette å fungere.

Bare HLDS-motoren lastes ned

Når du prøver å laste ned en HL1-mod (som TFC), er det normalt at bare motorfilene vises først. Fortsett å kjøre app_update flere ganger til alt er nedlastet. Det finnes en dokumentert løsning herhttp://danielgibbs.co.uk/2013/11/hlds-steamcmd-workaround-appid-90/

Et annet alternativ er å slette appmanifest og la SteamCMD generere den på nytt. Du vil se en feil først, men den løser seg vanligvis. Vær oppmerksom på at CS noen ganger også er installert. selv om du ikke ber om det.

Casestudie: Palworld dedikert server på Windows

På en Windows-maskin kan du distribuere Palworld-serveren med SteamCMD ganske enkelt. Det fungerer ved å logge inn anonymt og bruke riktig app-ID.

Basisinstallasjon: kjør SteamCMD.exe (la standardkatalogen stå igjen for enkelhets skyld; det vil installere SteamCMDs egne steamapps) og lim inn denne kommandoen: vil laste ned og validere PalServer

login anonymous +app_update 2394010 validate +quit

Filene vil bli lagret på: …/SteamCMD/steamapps/common/PalServerDer har du PalServer.exe; du kan kjøre den som den er, men uten konfigurasjon vil du ikke kunne bli med. Start den opp én gang for å generere konfigurasjonen og lukk den.

Gå til Pal > Lagret > Konfigurasjon > WindowsServer og åpne PalWorldSettings.ini. Hvis den ikke finnes, opprett den etter at du har kjørt serveren én gang. Lim inn følgende linje på én linje (uten mellomrom eller skift) og erstatt de markerte verdiene med dine egne:

[/Script/Pal.PalGameWorldSettings]OptionSettings=(Difficulty=None,DayTimeSpeedRate=1.000000,NightTimeSpeedRate=1.000000,ExpRate=1.000000,PalCaptureRate=1.000000,PalSpawnNumRate=1.000000,PalDamageRateAttack=1.000000,PalDamageRateDefense=1.000000,PlayerDamageRateAttack=1.000000,PlayerDamageRateDefense=1.000000,PlayerStomachDecreaceRate=1.000000,PlayerStaminaDecreaceRate=1.000000,PlayerAutoHPRegeneRate=1.000000,PlayerAutoHpRegeneRateInSleep=1.000000,PalStomachDecreaceRate=1.000000,PalStaminaDecreaceRate=1.000000,PalAutoHPRegeneRate=1.000000,PalAutoHpRegeneRateInSleep=1.000000,BuildObjectDamageRate=1.000000,BuildObjectDeteriorationDamageRate=1.000000,CollectionDropRate=1.000000,CollectionObjectHpRate=1.000000,CollectionObjectRespawnSpeedRate=1.000000,EnemyDropItemRate=1.000000,DeathPenalty=All,bEnablePlayerToPlayerDamage=False,bEnableFriendlyFire=False,bEnableInvaderEnemy=True,bActiveUNKO=False,bEnableAimAssistPad=True,bEnableAimAssistKeyboard=False,DropItemMaxNum=3000,DropItemMaxNum_UNKO=100,BaseCampMaxNum=128,BaseCampWorkerMaxNum=15,DropItemAliveMaxHours=1.000000,bAutoResetGuildNoOnlinePlayers=False,AutoResetGuildTimeNoOnlinePlayers=72.000000,GuildPlayerMaxNum=20,PalEggDefaultHatchingTime=72.000000,WorkSpeedRate=1.000000,bIsMultiplay=False,bIsPvP=False,bCanPickupOtherGuildDeathPenaltyDrop=False,bEnableNonLoginPenalty=True,bEnableFastTravel=True,bIsStartLocationSelectByMap=True,bExistPlayerAfterLogout=False,bEnableDefenseOtherGuildPlayer=False,CoopPlayerMaxNum=4,ServerPlayerMaxNum=32,ServerName="xxxx",ServerDescription="",AdminPassword="",ServerPassword="",PublicPort=8211,PublicIP="xx.xxx.xxx.xxx",RCONEnabled=False,RCONPort=25575,Region="",bUseAuth=True,BanListURL="https://api.palworldgame.com/api/banlist.txt")

Tilpass: Server navn (synlig navn), Offentlig IP (din offentlige IPv4: slå det opp i Google med «hva er min IP-adresse») og passord hvis du vil. Behold port 8211 med mindre du har en grunn til å endre den. Åpne og omdiriger i din router portene 8211 og 27015.

Hvis ruteren din ber om en intern vert, bruk din private IP-adresse (ipconfig i CMD, tar IPv4). Sørg for å lagre INI-en med serveren stoppet. Start PalServer.exe og koble til med din offentlige IP-adresse med port på klienten: format xxx.xxx.xxx.xxx:8211.

Denne prosedyren har fungert for personen som delte den, og burde være gyldig for andre miljøer. Husk å sjekke systemets og ruterens brannmur. hvis du ikke kan gjøre det synlig utenfra.