SteamCMD

(Różnice między wersjami)
Skocz do: nawigacji, wyszukiwania
(Utworzył nową stronę „'''Steam Console Client''' lub '''SteamCMD''' jest nowym narzędziem do instalacji i aktualizacji serwerów dedykowanych, przy użyciu wiersza poleceń. Narzędzie d...”)
 
m (drobne poprawki)
Linia 5: Linia 5:
 
1. Pobieranie SteamCMD Update Tool
 
1. Pobieranie SteamCMD Update Tool
 
:* [http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.zip Instalator Windows]
 
:* [http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.zip Instalator Windows]
:* Linux: wpisz <code>wget http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.tar.gz</code>
+
:* Linuks: wpisz <code>wget http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.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
 
: Uwaga: Nie wypakowuj zawartości archiwum w miejsce, gdzie masz już zainstalowanego klienta Steam lub narzędzie [[Hldsupdatetool|HLDSUpdateTool]].
 
: Uwaga: Nie wypakowuj zawartości archiwum w miejsce, gdzie masz już zainstalowanego klienta Steam lub narzędzie [[Hldsupdatetool|HLDSUpdateTool]].
:* Linux: wpisz <code>tar xvfz steamcmd.tar.gz</code>
+
:* Linuks: wpisz <code>tar xvfz steamcmd.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>
:* Linux: wpisz <code>./steam.sh</code>
+
:* Linuks: wpisz <code>./steam.sh</code>
 
:: Jeśli nie działa spróbuj wpisać <code>STEAMEXE=steamcmd ./steam.sh</code>
 
:: Jeśli nie działa spróbuj wpisać <code>STEAMEXE=steamcmd ./steam.sh</code>
 
:: 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: <code>${DEBUGGER} "${STEAMROOT}"/${PLATFORM}/${STEAMEXE}cmd "$@"</code>
 
:: 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: <code>${DEBUGGER} "${STEAMROOT}"/${PLATFORM}/${STEAMEXE}cmd "$@"</code>
Linia 21: Linia 21:
 
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
 
Uwaga: Należy się wcześniej wylogować ze swojego klienta Steam.
 
Uwaga: Należy się wcześniej wylogować ze swojego klienta Steam.
<syntaxhighlight>login <nazwaużytkownika> <hasło></syntaxhighlight>
+
login <nazwaużytkownika> <hasło>
 
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):
 
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>
 
  login <nazwaużytkownika> <hasło> <kod steam guard>
Linia 64: Linia 64:
 
  SteamCMD +runscript csgo_ds.txt
 
  SteamCMD +runscript csgo_ds.txt
  
 +
=== Ochrona danych logowania przy użyciu pgp na Linuksie ===
 +
Stwórz swój skrypt logujący, tak jak pokazuje przykład, a następnie zapisz go jako ''update_csgo_ds.txt''. Należy zaszyfrować plik tekstowy przy użyciu symetrycznego (odwracalnego) szyfrowania:
 +
gpg -c --force-mdc update_csgo_ds.txt
 +
# wpisz swoje hasło
 +
# zostanie utworzony zaszyfrowany plik update_csgo_ds.txt.gpg
 +
# usuń oryginalny plik
 +
# rm update_csgo_ds.txt
 +
 +
Deszyfracje można sprawdzić za pomocą:
 +
gpg -d update_csgo_ds.txt.gpg
 +
# wpisz swoje hasło
 +
# tekst zostanie wyświetlony, gdy hasło będzie wpisane poprawnie
 +
 +
Gdy wszystko będzie ok, poniższy skrypcik przekieruje odszyfrowane hasło bezpośrednio do steam.sh:
 +
#!/bin/sh
 +
read -p "Wprowadź hasło: " -s pass
 +
gpg --passphrase $pass -d login.gpg 2>/dev/null | STEAMEXE=steamcmd ./steam.sh
 +
pass=""
  
 
= Znane problemy =
 
= Znane problemy =
Linia 69: Linia 87:
 
== Mogę pobrać i zaktualizować serwer, lecz serwer nie chce wystartować ==
 
== Mogę pobrać i zaktualizować serwer, lecz serwer nie chce wystartować ==
 
Najczęstsze przyczyny:
 
Najczęstsze przyczyny:
* Linux: Niektóre gry na pewnych dystrybucjach mają problemy z WIELKIMI literami w nazwach plików.
+
* Linuks: Niektóre gry na pewnych dystrybucjach mają problemy z WIELKIMI literami w nazwach plików.
  
 
== biblioteki 32-bitowe na systemach Linuks 64-bit ==
 
== 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.
+
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:<br/>
 
Błąd ten wygląda mniej, więcej tak:<br/>
Linia 82: Linia 100:
 
=== Debian i pochodne ===
 
=== Debian i pochodne ===
  
<code>sudo apt-get install ia32-libs-gtk</code>
+
<code>sudo apt-get install ia32-libs</code>
  
 
=== CentOS ===
 
=== CentOS ===

Wersja z 18:18, 29 lis 2012

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

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.
  • Linuks: wpisz tar xvfz steamcmd.tar.gz

3. Uruchomienie SteamCMD po raz pierwszy

Otwórz wiersz poleceń i uruchom SteamCmd
  • Windows: wpisz steamcmd
  • Linuks: 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 "$@"

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.

login <nazwaużytkownika> <hasło>

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

Ochrona danych logowania przy użyciu pgp na Linuksie

Stwórz swój skrypt logujący, tak jak pokazuje przykład, a następnie zapisz go jako update_csgo_ds.txt. Należy zaszyfrować plik tekstowy przy użyciu symetrycznego (odwracalnego) szyfrowania:

gpg -c --force-mdc update_csgo_ds.txt
# wpisz swoje hasło
# zostanie utworzony zaszyfrowany plik update_csgo_ds.txt.gpg
# usuń oryginalny plik
# rm update_csgo_ds.txt

Deszyfracje można sprawdzić za pomocą:

gpg -d update_csgo_ds.txt.gpg
# wpisz swoje hasło
# tekst zostanie wyświetlony, gdy hasło będzie wpisane poprawnie

Gdy wszystko będzie ok, poniższy skrypcik przekieruje odszyfrowane hasło bezpośrednio do steam.sh:

#!/bin/sh
read -p "Wprowadź hasło: " -s pass
gpg --passphrase $pass -d login.gpg 2>/dev/null | STEAMEXE=steamcmd ./steam.sh
pass=""

Znane problemy

Mogę pobrać i zaktualizować serwer, lecz serwer nie chce wystartować

Najczęstsze przyczyny:

  • Linuks: 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

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

Osobiste
Przestrzenie nazw
Warianty
Działania
HLDS.pl - Menu:
Inne
IRC
Inne sekcje:
Znajomi:
Narzędzia