Pl/SteamCMD: Difference between revisions
m (update) |
|||
Line 60: | Line 60: | ||
! scope="col" style="width: 7em" | ID | ! scope="col" style="width: 7em" | ID | ||
! Dodatkowe opcje linii komend | ! Dodatkowe opcje linii komend | ||
|- | |- | ||
| HLDS | | HLDS dla [[Half-Life]] oraz [[Counter-Strike 1.6]] | ||
| 90 | | 90 | ||
|- | |- | ||
| [[Counter-Strike: Condition Zero]] | | [[Counter-Strike: Condition Zero]] dedicated server | ||
| 90 | | 90 | ||
| +app_set_config "90 mod czero" | | +app_set_config "90 mod czero" | ||
|- | |- | ||
| [[Deathmatch Classic]] | | [[Deathmatch Classic]] dedicated server | ||
| 90 | | 90 | ||
| +app_set_config "90 mod dmc" | | +app_set_config "90 mod dmc" | ||
Line 77: | Line 76: | ||
| +app_set_config "90 mod dod" | | +app_set_config "90 mod dod" | ||
|- | |- | ||
| [[Half-Life: Opposing Force]] | | [[Half-Life: Opposing Force]] dedicated server | ||
| 90 | | 90 | ||
| +app_set_config "90 mod gearbox" | | +app_set_config "90 mod gearbox" | ||
|- | |- | ||
| [[Ricochet]] | | [[Ricochet]] dedicated server | ||
| 90 | | 90 | ||
| +app_set_config "90 mod ricochet" | | +app_set_config "90 mod ricochet" | ||
|- | |- | ||
| [[Team Fortress Classic]] | | [[Team Fortress Classic]] dedicated server | ||
| 90 | | 90 | ||
| +app_set_config "90 mod tfc" | | +app_set_config "90 mod tfc" | ||
Line 100: | Line 99: | ||
| [[Natural Selection 2]] dedicated server | | [[Natural Selection 2]] dedicated server | ||
| 4940 | | 4940 | ||
|- | |- | ||
| [[Serious Sam 3]] dedicated server | | [[Serious Sam 3]] dedicated server | ||
Line 117: | Line 112: | ||
| 223250 | | 223250 | ||
|- | |- | ||
| [[Red Orchestra 2: Heroes of Stalingrad]] | | [[Red Orchestra 2: Heroes of Stalingrad]] oraz [[Rising Storm]] Windows dedicated server | ||
| 212542 | | 212542 | ||
|- | |- | ||
Line 143: | Line 138: | ||
| [[Blade Symphony]] ''Beta'' dedicated server | | [[Blade Symphony]] ''Beta'' dedicated server | ||
| 228780 | | 228780 | ||
|- | |||
| Source SDK Base 2006 MP dedicated server (np. Fortress Forever) | |||
| 205 | |||
|- | |- | ||
| Source SDK Base 2013 MP dedicated server | | Source SDK Base 2013 MP dedicated server | ||
Line 149: | Line 147: | ||
| [[Half-Life Deathmatch: Source]] dedicated server | | [[Half-Life Deathmatch: Source]] dedicated server | ||
| 255470 | | 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>.}} | {{Tip| Aby zainstalować wiele modyfikacji na raz należy oddzielić ich nazwy przecinkami, np. <code>+app_set_config 90 mod czero,dod</code>.}} | ||
Revision as of 09:17, 14 November 2013
Template:Otherlang2 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
quit
Zmienna 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 (Ubuntu, Mint)
sudo apt-get install ia32-libs
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 ACCEPT
Lista wymaganych portów znajduje się tutaj: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english