Pl/SteamCMD: Difference between revisions
m (Nesciuse moved page SteamCMD:pl to Pl/SteamCMD over redirect: -Language prefixes)  | 
				|||
| (28 intermediate revisions by 11 users not shown) | |||
| Line 1: | Line 1: | ||
{{  | {{lang|title=SteamCMD|SteamCMD}}  | ||
'''Steam Console Client''' lub '''SteamCMD''' jest nowym narzędziem do instalacji i aktualizacji serwerów dedykowanych, przy użyciu wiersza poleceń. Narzędzie działa tylko z grami, które działają z [http://store.steampowered.com/news/5856/ nowym systemem zawartości]   | '''Steam Console Client''' lub '''SteamCMD''' jest nowym narzędziem do instalacji i aktualizacji serwerów dedykowanych, przy użyciu wiersza poleceń. Narzędzie działa tylko z grami, które działają z [http://store.steampowered.com/news/5856/ nowym systemem zawartości] zwanym [[SteamPipe:pl|SteamPipe]]. Docelowo wszystkie gry będą używać tej metody, zamiast [[HLDSUpdateTool]].  | ||
== Pobieranie i uruchomienie SteamCMD==  | == Pobieranie i uruchomienie SteamCMD==  | ||
1. Pobieranie SteamCMD Update Tool  | 1. Pobieranie SteamCMD Update Tool  | ||
:* [http://  | :* [http://media.steampowered.com/installer/steamcmd.zip Instalator Windows]  | ||
:* Linuks: wpisz <code>wget http://  | :* Linuks: wpisz <code>wget http://media.steampowered.com/client/steamcmd_linux.tar.gz</code>  | ||
:: Jeśli posiadasz 64-bitową dystrybucję Linuksa najprawdopodobniej zaistnieje potrzeba instalacja dodatkowych bibliotek w wersji 32bit. Zobacz[[#biblioteki 32-bitowe na systemach Linuks 64-bit|tutaj]] jak to zrobić.  | :: Jeśli posiadasz 64-bitową dystrybucję Linuksa najprawdopodobniej zaistnieje potrzeba instalacja dodatkowych bibliotek w wersji 32bit. Zobacz [[#biblioteki 32-bitowe na systemach Linuks 64-bit|tutaj]] jak to zrobić.  | ||
2. Wypakuj gdzieś na dysk zawartość pobranego archiwum  | 2. Wypakuj gdzieś na dysk zawartość pobranego archiwum  | ||
: {{Note|Nie wypakowuj zawartości archiwum w miejsce, gdzie masz już zainstalowanego klienta Steam lub narzędzie [[HLDSUpdateTool]]. }}  | : {{Note|Nie wypakowuj zawartości archiwum w miejsce, gdzie masz już zainstalowanego klienta Steam lub narzędzie [[HLDSUpdateTool]]. }}  | ||
:* Linuks: wpisz <code>tar xvfz   | :* Linuks: wpisz <code>tar xvfz steamcmd_linux.tar.gz</code>  | ||
3. Uruchomienie SteamCMD po raz pierwszy  | 3. Uruchomienie SteamCMD po raz pierwszy  | ||
: Otwórz wiersz poleceń i uruchom SteamCmd  | : Otwórz wiersz poleceń i uruchom SteamCmd  | ||
:* Windows: wpisz <code>steamcmd</code>  | :* Windows: wpisz <code>steamcmd</code>  | ||
:* Linuks: wpisz <code>./  | :* Linuks: wpisz <code>./steamcmd.sh</code>  | ||
''Aplikacja zaktualizuje się automatycznie i wyświetli coś takiego <code>Steam></code>. Wpisz <code>help</code>, aby uzyskać więcej informacji.''  | ''Aplikacja zaktualizuje się automatycznie i wyświetli coś takiego <code>Steam></code>. Wpisz <code>help</code>, aby uzyskać więcej informacji.''  | ||
Aby pobrać większość serwerów można zalogować się anonimowo  | |||
 login anonymous  | |||
Do pobrania niektórych gier niezbędne będzie zalogowanie się na swoje konto Steam  | Do pobrania niektórych gier niezbędne będzie zalogowanie się na swoje konto Steam  | ||
{{Note|Należy się wcześniej wylogować ze swojego klienta Steam.}}  | {{Note|Należy się wcześniej wylogować ze swojego klienta Steam.}}  | ||
 login <nazwa użytkownika>  | |||
Wpisz swoje hasło. W następnej kolejności sprawdź swoją skrzynkę email, powinna znajdować się tak wiadomość z kodem Steam Guard, który należy wpisać (czynność ta jest jednokrotna dla każdego komputera).  | |||
Powinien   | |||
Powinien teraz wyświetlić się komunikat o poprawnym zalogowaniu na konto.  | |||
== Pobieranie serwerów ==  | == Pobieranie serwerów ==  | ||
1. Uruchom SteamCMD i ustaw folder, gdzie ma się pobrać serwer. (Uwaga: użyj odpowiednich ukośników dla Windowsa '\' i Linuksa '/')  | 1. Uruchom SteamCMD i ustaw folder, gdzie ma się pobrać serwer. (Uwaga: użyj odpowiednich ukośników dla Windowsa '\' i Linuksa '/')  | ||
 force_install_dir <path>  | |||
: {{Bug| Na niektórych dystrybucjach ścieżka nie może zawierać WIELKICH liter - zobacz [[#Znane problemy]]}}  | : {{Bug| Na niektórych dystrybucjach ścieżka nie może zawierać WIELKICH liter - zobacz [[#Znane problemy]]}}  | ||
: Przykład:  | : Przykład: instalacja cs_go w aktualnej ścieżce:  | ||
 force_install_dir ./cs_go/  | |||
2. Instalacja i aktualizacja serwerów. Do sprawdzenia poprawności plików należy użyć komendy <code>validate</code>.  | 2. Instalacja i aktualizacja serwerów. <app_id> oznacza [[Steam Application IDs|ID aplikacji Steam]]. Do sprawdzenia poprawności plików należy użyć komendy <code>validate</code>. Aby uczestniczyć w becie, należy dodać do komendy parametr <code>-beta "Beta"</code>.  | ||
 app_update <app_id>  | |||
: Przykład:  | : Przykład: instalacja i weryfikacja poprawności plików CS:GO:  | ||
 app_update 740 validate  | |||
::   | : Przykład: instalacja i weryfikacja poprawności plików wersji beta HLDS:  | ||
 app_update "90 -beta beta" validate  | |||
3. W celu poprawnego zamknięcia programu i wylogowania się z serwerów Steam należy użyć komendy <code>quit</code>.  | 3. W celu poprawnego zamknięcia programu i wylogowania się z serwerów Steam należy użyć komendy <code>quit</code>.  | ||
=== Wspierane serwery ===  | |||
Lista serwerów, które wymagają steamcmd, aby je zainstalować.  | |||
{|  | |||
|-  | |||
! Serwer  | |||
! scope="col" style="width: 7em" | ID  | |||
! Dodatkowe opcje linii komend  | |||
|-  | |||
| HLDS dla [[Half-Life]] oraz [[Counter-Strike 1.6]]  | |||
| 90  | |||
|-  | |||
| [[Counter-Strike: Condition Zero]] dedicated server  | |||
| 90  | |||
| +app_set_config "90 mod czero"  | |||
|-  | |||
| [[Deathmatch Classic]] dedicated server  | |||
| 90  | |||
| +app_set_config "90 mod dmc"  | |||
|-  | |||
| [[Day of Defeat]] dedicated server  | |||
| 90  | |||
| +app_set_config "90 mod dod"  | |||
|-  | |||
| [[Half-Life: Opposing Force]] dedicated server  | |||
| 90  | |||
| +app_set_config "90 mod gearbox"  | |||
|-  | |||
| [[Ricochet]] dedicated server  | |||
| 90  | |||
| +app_set_config "90 mod ricochet"  | |||
|-  | |||
| [[Team Fortress Classic]] dedicated server  | |||
| 90  | |||
| +app_set_config "90 mod tfc"  | |||
|-  | |||
| [[Counter-Strike: Global Offensive]] dedicated server  | |||
| 740  | |||
|-  | |||
| [[The Ship]] dedicated server  | |||
| 2403  | |||
|-  | |||
| [[Garry's Mod]] dedicated server  | |||
| 4020  | |||
|-  | |||
| [[Natural Selection 2]] dedicated server  | |||
| 4940  | |||
|-  | |||
| [[Serious Sam 3]] dedicated server  | |||
| 41080  | |||
|-  | |||
| [[Nuclear Dawn]] dedicated server  | |||
| 111710  | |||
|-  | |||
| [[Red Orchestra: Ostfront 41-45]] Windows dedicated server  | |||
| 223240  | |||
|-  | |||
| [[Red Orchestra: Ostfront 41-45]] Linux dedicated server  | |||
| 223250  | |||
|-  | |||
| [[Red Orchestra 2: Heroes of Stalingrad]] oraz [[Rising Storm]] Windows dedicated server  | |||
| 212542  | |||
|-  | |||
| [[Killing Floor]] Windows dedicated server  | |||
| 215350  | |||
|-  | |||
| [[Killing Floor]] Linux dedicated server  | |||
| 215360  | |||
|-  | |||
| [[Left 4 Dead 2]] dedicated server  | |||
| 222860  | |||
|-  | |||
| [[Team Fortress 2]] dedicated server  | |||
| 232250  | |||
|-  | |||
| [[Day of Defeat: Source]] dedicated server  | |||
| 232290  | |||
|-  | |||
| [[Counter-Strike: Source]] dedicated server  | |||
| 232330  | |||
|-  | |||
| [[Half-Life 2: Deathmatch]] dedicated server  | |||
| 232370  | |||
|-  | |||
| [[Blade Symphony]] ''Beta'' dedicated server  | |||
| 228780  | |||
|-  | |||
| Source SDK Base 2006 MP dedicated server (np. Fortress Forever)  | |||
| 205  | |||
|-  | |||
| Source SDK Base 2013 MP dedicated server  | |||
| 244310  | |||
|-  | |||
| [[Half-Life Deathmatch: Source]] dedicated server  | |||
| 255470  | |||
|-  | |||
| [[Pirates, Vikings, and Knights II]] dedicated server  | |||
| 17575  | |||
|}  | |||
{{Tip| Aby zainstalować wiele modyfikacji na raz należy oddzielić ich nazwy przecinkami, np. <code>+app_set_config 90 mod czero,dod</code>.}}  | |||
== Automatyzacja SteamCMD ==  | == Automatyzacja SteamCMD ==  | ||
| Line 48: | Line 151: | ||
Są dwa sposoby za zautomatyzowanie SteamCMD.  | Są dwa sposoby za zautomatyzowanie SteamCMD.  | ||
1. Dodawanie komend z wiersza poleceń.   | 1. Dodawanie komend z wiersza poleceń. Przykłady:  | ||
 steamcmd +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit  | |||
 steamcmd +login <uzytkownik> <haslo> +force_install_dir c:\KFServer\ +app_update 215350 validate +quit  | |||
2. Stworzenie skryptu.  | 2. Stworzenie skryptu.  | ||
| Line 63: | Line 168: | ||
: b. Uruchamianie SteamCMD z opcją czytania skryptu <code>+runscript</code>. Przykład:  | : b. Uruchamianie SteamCMD z opcją czytania skryptu <code>+runscript</code>. Przykład:  | ||
 steamcmd +runscript csgo_ds.txt  | |||
== Instalacja miedzy-platformowa ==  | |||
Dzięki zastosowaniu SteamCMD możliwe jest pobranie plików serwera na inną platformę, niż tą, na której aktualnie pracujemy. Jest to możliwe dzięki użyciu zmiennej <code>@sSteamCmdForcePlatformType</code> (tak, na początku zmiennej znajdują się dwie literki "s"). Dla przykładu, aby pobrać serwer dedykowany CSGO dla platformy Windows działając na Linuksie należy użyć następującej komendy:  | |||
 ./steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit  | |||
lub poniższego skryptu:  | |||
<syntaxhighlight>  | <syntaxhighlight>  | ||
@ShutdownOnFailedCommand 1  | |||
@NoPromptForPassword 1  | |||
@sSteamCmdForcePlatformType windows  | |||
login anonymous  | |||
force_install_dir ../csgo_ds  | |||
app_update 740 validate  | |||
quit  | |||
</syntaxhighlight>  | </syntaxhighlight>  | ||
Zmienna może przyjąć następujące wartości: <code>windows</code>, <code>macos</code> oraz <code>linux</code>.  | |||
== Przykładowy skrypt dla Windows ==  | |||
Przejrzyj i pobierz: http://pastebin.com/BRUbsGQh  | |||
== Przykładowy skrypt dla Linuksa ==  | |||
Przejrzyj i pobierz: http://pastebin.com/hcpMpmaZ  | |||
= Znane problemy =  | = Znane problemy =  | ||
== biblioteki 32-bitowe na systemach Linuks 64-bit ==  | == biblioteki 32-bitowe na systemach Linuks 64-bit ==  | ||
| Line 103: | Line 207: | ||
Rozwiązanie jest zależne od dystrybucji:  | Rozwiązanie jest zależne od dystrybucji:  | ||
=== Debian i pochodne ===  | === Debian i pochodne (Mint) ===  | ||
<code>sudo apt-get install ia32-libs</code>  | <code>sudo apt-get install ia32-libs</code>  | ||
===   | === Ubuntu 14.04 i wyżej: ===  | ||
sudo dpkg --add-architecture i386  | |||
sudo apt-get update  | |||
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386  | |||
=== Ubuntu 12.04 ===  | |||
echo "foreign-architecture i386" > /etc/dpkg/dpkg.cfg.d/multiarch  | |||
sudo apt-get update  | |||
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386  | |||
=== RedHat i pochodne (RHEL, Fedora, CentOS) ===  | |||
<code>yum install glibc.i686 libstdc++.i686</code>  | |||
=== Arch Linux ===  | |||
Nie zapomnij wpierw włączyć [https://wiki.archlinux.org/index.php/Multilib repozytorium multilib].  | |||
<code>pacman -S lib32-gcc-libs</code>  | |||
== Login Failure: No Connection ==  | == Login Failure: No Connection ==  | ||
| Line 123: | Line 244: | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
Lista wymaganych portów znajduje się tutaj: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english  | Lista wymaganych portów znajduje się tutaj: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english  | ||
{{Uncategorized|date=January 2024}}  | |||
Latest revision as of 19:53, 10 July 2024
Steam Console Client lub SteamCMD jest nowym narzędziem do instalacji i aktualizacji serwerów dedykowanych, przy użyciu wiersza poleceń. Narzędzie działa tylko z grami, które działają z nowym systemem zawartości zwanym SteamPipe. Docelowo wszystkie gry będą używać tej metody, zamiast HLDSUpdateTool.
Pobieranie i uruchomienie SteamCMD
1. Pobieranie SteamCMD Update Tool
- Instalator Windows
 - Linuks: wpisz 
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz 
- Jeśli posiadasz 64-bitową dystrybucję Linuksa najprawdopodobniej zaistnieje potrzeba instalacja dodatkowych bibliotek w wersji 32bit. Zobacz tutaj jak to zrobić.
 
2. Wypakuj gdzieś na dysk zawartość pobranego archiwum
Uwaga:Nie wypakowuj zawartości archiwum w miejsce, gdzie masz już zainstalowanego klienta Steam lub narzędzie HLDSUpdateTool. - Linuks: wpisz 
tar xvfz steamcmd_linux.tar.gz 
- Linuks: wpisz 
 
3. Uruchomienie SteamCMD po raz pierwszy
- Otwórz wiersz poleceń i uruchom SteamCmd
- Windows: wpisz 
steamcmd - Linuks: wpisz 
./steamcmd.sh 
 - Windows: wpisz 
 
Aplikacja zaktualizuje się automatycznie i wyświetli coś takiego Steam>. Wpisz help, aby uzyskać więcej informacji.
Aby pobrać większość serwerów można zalogować się anonimowo
login anonymous
Do pobrania niektórych gier niezbędne będzie zalogowanie się na swoje konto Steam
login <nazwa użytkownika>
Wpisz swoje hasło. W następnej kolejności sprawdź swoją skrzynkę email, powinna znajdować się tak wiadomość z kodem Steam Guard, który należy wpisać (czynność ta jest jednokrotna dla każdego komputera).
Powinien teraz wyświetlić się komunikat o poprawnym zalogowaniu na konto.
Pobieranie serwerów
1. Uruchom SteamCMD i ustaw folder, gdzie ma się pobrać serwer. (Uwaga: użyj odpowiednich ukośników dla Windowsa '\' i Linuksa '/')
force_install_dir <path>
Błąd: Na niektórych dystrybucjach ścieżka nie może zawierać WIELKICH liter - zobacz #Znane problemy  [todo tested in ?]- Przykład: instalacja cs_go w aktualnej ścieżce:
 
force_install_dir ./cs_go/
2. Instalacja i aktualizacja serwerów. <app_id> oznacza ID aplikacji Steam. Do sprawdzenia poprawności plików należy użyć komendy validate. Aby uczestniczyć w becie, należy dodać do komendy parametr -beta "Beta".
app_update <app_id>
- Przykład: instalacja i weryfikacja poprawności plików CS:GO:
 
app_update 740 validate
- Przykład: instalacja i weryfikacja poprawności plików wersji beta HLDS:
 
app_update "90 -beta beta" validate
3. W celu poprawnego zamknięcia programu i wylogowania się z serwerów Steam należy użyć komendy quit.
Wspierane serwery
Lista serwerów, które wymagają steamcmd, aby je zainstalować.
| Serwer | ID | Dodatkowe opcje linii komend | 
|---|---|---|
| HLDS dla Half-Life oraz Counter-Strike 1.6 | 90 | |
| Counter-Strike: Condition Zero dedicated server | 90 | +app_set_config "90 mod czero" | 
| Deathmatch Classic dedicated server | 90 | +app_set_config "90 mod dmc" | 
| Day of Defeat dedicated server | 90 | +app_set_config "90 mod dod" | 
| Half-Life: Opposing Force dedicated server | 90 | +app_set_config "90 mod gearbox" | 
| Ricochet dedicated server | 90 | +app_set_config "90 mod ricochet" | 
| Team Fortress Classic dedicated server | 90 | +app_set_config "90 mod tfc" | 
| Counter-Strike: Global Offensive dedicated server | 740 | |
| The Ship dedicated server | 2403 | |
| Garry's Mod dedicated server | 4020 | |
| Natural Selection 2 dedicated server | 4940 | |
| Serious Sam 3 dedicated server | 41080 | |
| Nuclear Dawn dedicated server | 111710 | |
| Red Orchestra: Ostfront 41-45 Windows dedicated server | 223240 | |
| Red Orchestra: Ostfront 41-45 Linux dedicated server | 223250 | |
| Red Orchestra 2: Heroes of Stalingrad oraz Rising Storm Windows dedicated server | 212542 | |
| Killing Floor Windows dedicated server | 215350 | |
| Killing Floor Linux dedicated server | 215360 | |
| Left 4 Dead 2 dedicated server | 222860 | |
| Team Fortress 2 dedicated server | 232250 | |
| Day of Defeat: Source dedicated server | 232290 | |
| Counter-Strike: Source dedicated server | 232330 | |
| Half-Life 2: Deathmatch dedicated server | 232370 | |
| Blade Symphony Beta dedicated server | 228780 | |
| Source SDK Base 2006 MP dedicated server (np. Fortress Forever) | 205 | |
| Source SDK Base 2013 MP dedicated server | 244310 | |
| Half-Life Deathmatch: Source dedicated server | 255470 | |
| Pirates, Vikings, and Knights II dedicated server | 17575 | 
+app_set_config 90 mod czero,dod.Automatyzacja SteamCMD
Są dwa sposoby za zautomatyzowanie SteamCMD.
1. Dodawanie komend z wiersza poleceń. Przykłady:
steamcmd +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit
steamcmd +login <uzytkownik> <haslo> +force_install_dir c:\KFServer\ +app_update 215350 validate +quit
2. Stworzenie skryptu.
- a. Umieszczenie komend SteamCMD w pliku tekstowym. Przykład:
 
// update_csgo_ds.txt
//
login uzytkownik hasło
force_install_dir ../csgo_ds
app_update 740 validate
exit- b. Uruchamianie SteamCMD z opcją czytania skryptu 
+runscript. Przykład: 
steamcmd +runscript csgo_ds.txt
Instalacja miedzy-platformowa
Dzięki zastosowaniu SteamCMD możliwe jest pobranie plików serwera na inną platformę, niż tą, na której aktualnie pracujemy. Jest to możliwe dzięki użyciu zmiennej @sSteamCmdForcePlatformType (tak, na początku zmiennej znajdują się dwie literki "s"). Dla przykładu, aby pobrać serwer dedykowany CSGO dla platformy Windows działając na Linuksie należy użyć następującej komendy:
./steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit
lub poniższego skryptu:
@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
@sSteamCmdForcePlatformType windows
login anonymous
force_install_dir ../csgo_ds
app_update 740 validate
quitZmienna może przyjąć następujące wartości: windows, macos oraz linux.
Przykładowy skrypt dla Windows
Przejrzyj i pobierz: http://pastebin.com/BRUbsGQh
Przykładowy skrypt dla Linuksa
Przejrzyj i pobierz: http://pastebin.com/hcpMpmaZ
Znane problemy
biblioteki 32-bitowe na systemach Linuks 64-bit
steamcmd jest aplikacją 32-bitową, także wymaga pewnych 32-bitowych bibliotek do działania, pomimo, że są już zainstalowane ich 64-bitowe odpowiedniki.
Błąd ten wygląda mniej więcej tak:
steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Rozwiązanie jest zależne od dystrybucji:
Debian i pochodne (Mint)
sudo apt-get install ia32-libs
Ubuntu 14.04 i wyżej:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
Ubuntu 12.04
echo "foreign-architecture i386" > /etc/dpkg/dpkg.cfg.d/multiarch
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
RedHat i pochodne (RHEL, Fedora, CentOS)
yum install glibc.i686 libstdc++.i686
Arch Linux
Nie zapomnij wpierw włączyć repozytorium multilib.
pacman -S lib32-gcc-libs
Login Failure: No Connection
Na serwerach linuksowych można doświadczyć następującego problemu "Login Failure: No Connection". Problem jest związany z brakującymi wpisami w iptables. Należy dodać coś podobnego:
iptables -A INPUT -p udp -m udp --sport 27000:27030 --dport 1025:65355 -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 4380 --dport 1025:65355 -j ACCEPTLista wymaganych portów znajduje się tutaj: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english
January 2024