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 nowym systemem zawartości na Steam. Docelowo wszystkie gry będą używać tej metody, zamiast HLDSUpdateTool.
Spis treści |
Pobieranie i uruchomienie SteamCMD
1. Pobieranie SteamCMD Update Tool
- Instalator Windows
- Linux: wpisz
wget http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.tar.gz
- Jeśli posiadasz 64-bitową dystrybucję Linuksa najprawdopodobniej zaistnieje potrzeba instalacja dodatkowych bibliotek w wersji 32bit. Zobacztutaj 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.
- Linux: wpisz
tar xvfz steamcmd.tar.gz
- Linux: wpisz
3. Uruchomienie SteamCMD po raz pierwszy
- Otwórz wiersz poleceń i uruchom SteamCmd
- Windows: wpisz
steamcmd
- Linux: wpisz
./steam.sh
- Jeśli nie działa spróbuj wpisać
STEAMEXE=steamcmd ./steam.sh
- Jeśli to także nie działa i spróbuj otworzyć plik w edytorze tekstu i zmienić 60 linię, aby wyglądała następująco:
${DEBUGGER} "${STEAMROOT}"/${PLATFORM}/${STEAMEXE}cmd "$@"
- Windows: wpisz
Aplikacja zaktualizuje się automatycznie i wyświetli coś takiego Steam>
. Wpisz help
, aby uzyskać więcej informacji.
Do pobrania niektórych gier niezbędne będzie zalogowanie się na swoje konto Steam
Uwaga: Należy się wcześniej wylogować ze swojego klienta Steam.
<syntaxhighlight>login <nazwaużytkownika> <hasło></syntaxhighlight>
Jeśli wystąpi błąd związany z Steam Guard error należy sprawdzić email przypisany do konta i użyć kodu w następujący sposób (czynność tą wystarczy wykonać tylko raz na danym komputerze):
login <nazwaużytkownika> <hasło> <kod steam guard>
Powinien się teraz wyświetlić 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 <ścieżka>
- Błąd: Na niektórych dystrybucjach ścieżka nie może zawierać WIELKICH liter - zobacz #Znane problemy
- 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 validate
.
app_update <id_aplikacji>
- Przykład:
- Do instalacji i weryfikacji poprawności plików CS:GO:
app_update 740 validate
3. W celu poprawnego zamknięcia programu i wylogowania się z serwerów Steam należy użyć komendy quit
.
Automatyzacja SteamCMD
Są dwa sposoby za zautomatyzowanie SteamCMD.
1. Dodawanie komend z wiersza poleceń. Przykład:
SteamCMD +login użytkownik hasło +force_install_dir ../csgo_ds +app_update 740 validate
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
Znane problemy
Mogę pobrać i zaktualizować serwer, lecz serwer nie chce wystartować
Najczęstsze przyczyny:
- Linux: Niektóre gry na pewnych dystrybucjach mają problemy z WIELKIMI literami w nazwach plików.
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
sudo apt-get install ia32-libs-gtk
CentOS
sudo yum install glibc.i686 libstdc++.i686
Nieudane pobieranie
Na systemach Windows pobieranie może się nie powieść, gdy ustawienia proxy nie są ustawione na automatyczne.
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