Përdorimi i SteamCMD: Instalimi, Komandat, Automatizimi dhe Gabimet

Përditësimi i fundit: 15/10/2025
Author: Isaac
  • SteamCMD menaxhon instalimin dhe përditësimin e serverave të dedikuar me SteamPipe dhe zëvendëson HLDSUPdateTool-in e vjetër.
  • Lejon vërtetimin anonim ose të llogarisë, mbështet degët beta dhe validimin e skedarëve për të siguruar integritetin.
  • Mbështet CLI dhe automatizimin e skripteve, si dhe Descargas i kryqëzuar me @sSteamCmdForcePlatformType.
  • Përfshin rregullime për gabime të zakonshme (libs 32-bit, login, ulimit) dhe shërbime si LGSM dhe SteamCMD GUI.

Udhëzuesi i Përdoruesit për SteamCMD dhe Serverat e Dedikuar

Nëse doni të konfiguroni ose mirëmbani servera të dedikuar lojërash duke përdorur infrastrukturën e Valve, herët a vonë do të hasni SteamCMD. Ky program është versioni online i komandat e klientit të Avull dhe është bërë mjeti standard për shkarkimin, instalimin dhe përditësimin e serverave. Që kur SteamPipe zëvendësoi HLDSUPdateTool-in e vjetër, praktikisht të gjithë titujt që mbështesin servera të dedikuar vijnë këtu.

Në këtë udhëzues të plotë, unë shpjegoj, me shumë detaje, se si të shkarkoni SteamCMD në Dritaret, Linux dhe macOS, si të ekzekutoni komanda bazë dhe të avancuara, si të hyni (në mënyrë anonime ose me një llogari), si të instaloni dhe validoni serverat, si të automatizoni detyrat me skripte, si të detyroni shkarkime ndërplatformash dhe si të zgjidhni gabimet e zakonshme. Përveç kësaj, unë integroj një rast praktik me Palworld. dhe unë shqyrtoj programe dhe skripte të jashtme që ua bëjnë jetën më të lehtë.

Çfarë është SteamCMD dhe për çfarë përdoret?

Çfarë është SteamCMD

SteamCMD është konzola e klientit Steam: një aplikacion pa kokë që kupton komandat tekst. Funksioni i tij kryesor është të instalojë dhe përditësojë aplikacionet dhe serverët e dedikuar që përdorin sistemin e shpërndarjes së përmbajtjes SteamPipe. Të gjitha lojërat që më parë përdornin HLDSUPdateTool kanë migruar në SteamCMD., pra është mënyra zyrtare dhe e mbështetur nga Valve për të menaxhuar serverat.

Shkarkoni dhe instaloni SteamCMD

Procesi ndryshon në varësi të sistemit operativ, por është gjithmonë i thjeshtë. Së pari krijoni një drejtori specifike për SteamCMD. dhe punoni që andej për ta mbajtur gjithçka të organizuar.

Dritaret

Në Windows, thjesht përgatitni një dosje, shkarkoni skedarin zyrtar ZIP dhe ekstraktojeni atë. Një shembull i një shtegu të përshtatshëm është 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

Në Linux, këshillohet që së pari të instalohen bibliotekat 32-bit, pasi SteamCMD është një skedar binar 32-bit. Paketat specifike varen nga shpërndarja..

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

RedHat/CentOS:
yum install glibc libstdc++

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

Rekomandohet fuqimisht të krijoni një përdorues të dedikuar (p.sh., "steam") për të instaluar dhe drejtuar serverat. Mos e hapni SteamCMD si rrënjë; është i panevojshëm dhe mund të shkaktojë probleme me lejet.

# 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 (OSX)

Në macOS rrjedha është e ngjashme: dosje, shkarkim dhe nxjerrje nga Terminal. Përdorni curl për të hapur instaluesin.

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

Si të ekzekutoni SteamCMD

Në fillim boot Mjeti përditësohet vetë dhe ju lë në komandën Steam>. Shkruaj ndihmë për të parë komandat e disponueshme dhe fillo të orientohesh.

Dritaret

Nga konzola e Windows, shkoni te dosja ku e keni çzinkuar dhe ekzekutojeni. Komandat bazë janë të thjeshta:

cd C:\steamcmd
steamcmd

Linux dhe macOS

Në sistemet e tipit Unix, hyni në direktorinë e punës dhe hapni dorëshkrim. Mos harroni të përdorni ./ përpara skedarit ekzekutues:

cd ~/steamcmd
./steamcmd.sh

Hyrja në SteamCMD

SteamCMD ju lejon të identifikoheni në dy mënyra: në mënyrë anonime ose me kredencialet e Steam. shumë apps nga serveri shkarkohen në modalitetin anonim, por jo të gjitha.

Qasje anonime

Për serverat që e lejojnë, më i shpejti është: identifikimi anonim.

login anonymous

Hyni me llogarinë tuaj Steam

Disa servera kërkojnë vërtetim dhe, ndonjëherë, blerjen e një loje. Në këto raste, hyni me emrin tuaj të përdoruesit. Për siguri, rekomandohet të krijoni një llogari dytësore vetëm për serverat. dhe shmangni përdorimin e llogarisë tuaj personale për lojëra.

login <tu_usuario>

Futni fjalëkalimin tuaj kur t'ju kërkohet. Nëse keni Steam Guard, do të merrni një kod me email dhe do t'ju duhet ta futni atë herën e parë (ose nëse fshini skedarët ku SteamCMD ruan informacionin tuaj të hyrjes). Ju lutemi vini re se një llogari mund të identifikohet vetëm në një vend në të njëjtën kohë., qoftë në klientin grafik ose në SteamCMD.

  Rubius lëshon tastierën e tij të parë të lojërave: zbuloni të gjitha detajet

Instalimi dhe Përditësimi i Serverave me SteamCMD

Rrjedha tipike është: hyni, zgjidhni dosjen e instalimit dhe përdorni app_update me ID-në e Aplikacionit. Gjithashtu mund të validoni skedarët dhe të zgjidhni degët beta. nëse ato janë në dispozicion.

Së pari, përcaktoni direktorinë e destinacionit (slash normal në Linux/macOS dhe backslash në Windows): detyro_install_dir

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

Pastaj, ekzekutoni instalimin ose përditësimin me app_update. Mund të shtoni validate për të kontrolluar integritetin dhe -beta me -betapassword nëse ju nevojitet një degë e mbrojtur. Sintaksa e përgjithshme është kjo:

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

HLDS është një rast i veçantë: ID-ja e aplikacionit të tij është gjithmonë 90 dhe duhet të zgjidhni modifikimin me app_set_config para se të përditësoni. Parametri që duhet vendosur është mod:

app_set_config <app_id> <opcion> <valor>

Disa shembuj praktikë të përdorur gjerësisht. CS:GO i dedikuar:

app_update 740 validate

HLDS me Team Fortress Classic:

app_set_config 90 mod tfc
app_update 90 validate

Ju lutemi vini re se HLDS (appid 90) mund të kërkojë ekzekutimin e app_update disa herë derisa të shkarkojë të gjithë skedarët e nevojshëm. Përsëriteni app_update 90 validoni derisa të mos ketë më përditësime..

HLDS (Gjysmë-Jeta) në beta:

app_update 90 -beta beta validate

Counter-Strike: Burim i dedikuar (dega para-publikimit):

app_update 232330 -beta prerelease validate

Përzgjedhja Natyrore 2 e dedikuar në beta private (dega "alfa", kodi "natsel"):

app_update 4940 -beta alpha -betapassword natsel validate

Kur të keni mbaruar, dilni siç duhet me: .

quit

Validimi i skedarit

Çelësi i validimit detyron një kontroll që të gjitha skedarët përputhen me ato zyrtare. Është e dobishme nëse dyshoni se ka dosje të korruptuara ose mungon pas një dështimi.

Shënim: Validimi mbishkruan skedarët e modifikuar në lidhje me gjendjen e parazgjedhur. Nëse e keni personalizuar, për shembull, mapcycle.txt, versioni origjinal do të rikthehet. Skedarët që nuk janë pjesë e instalimit të parazgjedhur nuk do të preken.

Automatizoni SteamCMD-në

Mund të automatizoni detyrat duke bashkuar komandat në rreshtin e komandës ose përmes skripteve me +runscript. Në Linux dhe macOS, zëvendësoni steamcmd me ./steamcmd.sh në shembuj.

Nga rreshti i komandës

Për të lidhur veprime të shumëfishta, vendosni një + para çdo udhëzimi. Ka një veçori me degët beta në CLI: duhet të mbyllet në thonjëza të veçanta nëse kalohet brenda app_update.

Shembull për CS:GO të dedikuar me shteg instalimi të personalizuar: me hyrje anonime

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

Për të instaluar një mod HL1 si Condition Zero, mos harroni ta pin-oni më parë mod-in: përdor app_set_config 90 mod czero

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

Nëse loja kërkon hyrje, jepni emrin e përdoruesit dhe fjalëkalimin sipas radhës: shembull me Killing Floor

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

Në degët beta në CLI, provoni formate si: +app_update «90 -beta beta» ose «+app_update 90 -beta beta» nëse e para nuk funksionon.

  Si të pastroni cache dhe skedarët e përkohshëm në Steam

Me një skenar

Vendosni komandat tuaja SteamCMD në një skedar teksti dhe ekzekutojini ato me +runscript. Mund të shtoni komente me // në vetë skriptin.

steamcmd +runscript csgo_ds.txt

Shkarkim ndërplatformor

SteamCMD ju lejon të detyroni platformën e synuar me variablin @sSteamCmdForcePlatformType. Vlerat e mbështetura përfshijnë Windows, macOS dhe Linux. Po, variabla fillon me dy shkronja s: @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

Softuer dhe shërbime për Windows

Ekzistojnë mjete që veprojnë si një urë ose ndërfaqe mbi SteamCMD. Disa nga më të përdorurat në Windows janë:

  • kondensator: bootstrapper për instalimin, konfigurimin dhe hapjen e serverëve të dedikuar Steam.
  • Ndërfaqja grafike e përdoruesit SteamCMDNjë ndërfaqe grafike për përdorimin e SteamCMD pa bat ose komanda. Depozita: https://github.com/DioJoestar/SteamCMD-GUI
  • SteamCMD Guardian 1.2: programe ndihmëse dhe skripte; shkarkoni në: http://pastebin.com/BRUbsGQh

Skripte të dobishme për Linux

Nëse punoni në Linux, ka projekte që automatizojnë menaxhimin e serverit. Pikat kryesore të Menaxherëve të Serverëve të Lojërave Linux (LGSM), një grup skriptesh CLI për vendosjen dhe menaxhimin e shpejtë të serverëve.

Ndër funksionet e tij: Instaluesi i SteamCMD, fillimi/ndalimi/rinisja, përditësimi, monitoroni me njoftime me email, kopje rezervë dhe konsolën e serverit.

LGSM mbështet një gamë të gjerë lojërash, si p.sh. ARMA 3, Blade Symphony, Counter-Strike (edicione të ndryshme), Day of Disfatë, Fistful of Frags, Garry's Mod, Half-Life DM Classic, HL2 DM, Insurgency, Just Cause 2, Killing Floor, Left 4 Dead (1 dhe 2), No More Room in Hell, Natural Selection 2, Red Orchestra: Ostfront 41-45, Team Fortress (edicione të ndryshme), ndër të tjera.

Më shumë informacion dhe lista e plotë: http://danielgibbs.co.uk/lgsm — depo në GitHub: https://github.com/dgibbs64/linuxgameservers

Ekziston edhe një skript i quajtur SteamCMD Guardian 1.2, testuar në Debian Wheezy. Mund ta shikoni dhe shkarkoni në: http://pastebin.com/hcpMpmaZ

Instalimi tipik (seanca nën një përdorues të dedikuar, për shembull Steam): krijoni skedarin dhe modifikoni atë

  1. Krijo skedarin: nano updateserver.sh
  2. Ngjit kodin e dhënë.
  3. Rregulloni përmbajtjen dhe shtoni të paktën një lojë në rreshta DL_SV*=.
  4. Kurseni me Ctrl + O, shtypni Shkruani dhe dilni me Ctrl + X.
  5. Jep leje ekzekutimi: chmod u+x ./updateserver.sh
  6. Drejtuar: ./updateserver.sh

Ky skript do të shkarkojë SteamCMD nëse nuk është tashmë, do ta përditësojë atë dhe do të instalojë serverat e zgjedhur (deri në 4 në të njëjtën kohë). Kur rilançohet, përditëson lojërat që janë instaluar tashmë. automatikisht.

Gabimet e zakonshme dhe si t'i rregulloni ato

Ashtu si me çdo mjet, ka incidente tipike që duhet të shënohen. Këto janë më të zakonshmet dhe zgjidhjet e tyre.

GABIM! Dështoi instalimi i aplikacionit 'xxxxxx' (Pa abonim)

Ky mesazh tregon se serveri që po përpiqeni të shkarkoni kërkon një hyrje ose se e keni blerë lojën. Provoni të hyni me një llogari Steam dhe nëse kjo nuk funksionon, blini lojën. Për siguri, krijoni një llogari specifike për serverat e dedikuar dhe shmangni përdorimin e atij personal.

Biblioteka 32-bit në Linux 64-bit

Meqenëse SteamCMD është 32-bit, ai kërkon librari ekuivalente. Gabimi tipik është: libstdc++.so.6: nuk mund të hapet skedari i objektit të përbashkëtInstaloni paketat e duhura për shpërndarjen tuaj.

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

Dështim në hyrje: Pa lidhje

Në Linux, disa servera kërkojnë rregulla të përshtatshme iptables që hyrja të funksionojë. Kontrolloni portet në: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english dhe shton rregullat e nevojshme.

Në Windows, nëse shihni gabime si "SteamUpdater: Error: Download failed: http error 0" ose "Steam duhet të jetë online për t'u përditësuar", zakonisht kjo mund të rregullohet duke aktivizuar zbulimin automatik në Internet Explorer (Opsionet e Internetit > Lidhjet > Cilësimet e LAN-it). Hapat:

  1. Hapni Internet Explorer.
  2. Mjete → Opsione Interneti.
  3. Skeda e lidhjeve.
  4. Nën Cilësimet e Rrjetit të Zonës Lokale (LAN), prekni Cilësimet.
  5. Marka "Zbulo automatikisht cilësimet".
  6. Prano dhe zbato. Nëse problemi vazhdon, ul nivelin e sigurisë në mesatar ose më të ulët.
  Zgjidhja e gabimit fatal në Dungeon Defenders 2

Gabimet e fillimit të SteamCMD

Në Linux mund të shihni: [S_API FAIL] SteamAPI_Init() dështoi; nuk mund të gjejë një instancë të Steam që funksionon, ose një steamclient.dll lokalZgjidhja: Lidhni steamclient.so me ~/.steam/sdk32/steamclient.so.

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

Disa skripte shfaqin një gabim me ulimit gjatë nisjes (pa leje/nuk mund të hapet skedari), i shkaktuar nga një limit i ulët i përshkruesit të skedarit (-n). Rriteni atë në një vlerë të arsyeshme:

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

Nëse nuk keni leje, hyni si root për ta ndryshuar ose modifikuar atë. /etc/security/limits.confNë shumë raste, do të shihni vetëm një paralajmërim dhe SteamCMD do të vazhdojë të funksionojë.

Vetëm motori HLDS shkarkohet

Kur përpiqeni të shkarkoni një mod HL1 (si TFC), është normale që në fillim të shfaqen vetëm skedarët e motorrit. Vazhdoni të ekzekutoni app_update disa herë derisa të shkarkohet gjithçka. Ekziston një zgjidhje e dokumentuar këtu: http://danielgibbs.co.uk/2013/11/hlds-steamcmd-workaround-appid-90/

Një tjetër mundësi është të fshini manifestin e aplikacionit dhe ta lini SteamCMD ta rigjenerojë atë. Në fillim do të shihni një gabim, por zakonisht zgjidhet. Ju lutem vini re se edhe CS instalohet ndonjëherë. edhe nëse nuk e kërkon.

Studimi i rastit: Serveri i Dedikuar Palworld në Windows

Në një makinë me Windows, mund ta instaloni serverin Palworld me SteamCMD mjaft lehtë. Funksionon duke u kyçur në mënyrë anonime dhe duke përdorur ID-në e duhur të aplikacionit.

Instalimi bazë: ekzekutoni SteamCMD.exe (lëreni direktorinë e parazgjedhur për thjeshtësi; do të instalojë steamapps-et e SteamCMD) dhe ngjisni këtë komandë: do të shkarkojë dhe validojë PalServer

login anonymous +app_update 2394010 validate +quit

Skedarët do të ruhen në: …/SteamCMD/steamapps/common/PalServerJa ku e keni PalServer.exe; mund ta ekzekutoni siç është, por pa e konfiguruar nuk do të jeni në gjendje të bashkoheni. Nise një herë për të gjeneruar konfigurimin dhe mbylle atë.

Shko te Pal > Saved > Config > WindowsServer dhe hap PalWorldSettings.ini. Nëse nuk ekziston, krijoje atë pasi ta kesh ekzekutuar serverin një herë. Ngjit rreshtin e mëposhtëm në një rresht të vetëm (pa ndërprerje ose hapësira shtesë) dhe zëvendësoni vlerat e shënuara me tuajat:

[/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")

Personalizo: Emri i serverit (emri i dukshëm), IP Publike (IPv4 juaj publik: kërkojeni në Google me "cila është IP-ja ime") dhe fjalëkalime nëse dëshironi. Mbajeni portën 8211 përveç nëse keni ndonjë arsye për ta ndryshuar atë. Hap dhe ridrejto në tuajin router portet 8211 dhe 27015.

Nëse routeri juaj kërkon një host të brendshëm, përdorni IP-në tuaj private (ipconfig në VKM, merr IPv4). Sigurohuni që ta ruani INI-në me serverin të ndaluar. Nisni PalServer.exe dhe lidheni duke përdorur IP-në tuaj publike me portin në klient: formati xxx.xxx.xxx.xxx:8211.

Kjo procedurë ka funksionuar për personin që e ka ndarë atë dhe duhet të jetë e vlefshme për mjedise të tjera. Mos harroni të kontrolloni murin mbrojtës të sistemit dhe të routerit. nëse nuk mund ta bësh të dukshëm nga jashtë.