SteamCMD

(Różnice między wersjami)
Skocz do: nawigacji, wyszukiwania
m (drobne poprawki)
Linia 1: Linia 1:
'''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] na [[Steam]]. Docelowo wszystkie gry będą używać tej metody, zamiast [[Hldsupdatetool|HLDSUpdateTool]].
+
'''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]]. 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://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.zip Instalator Windows]
+
:* [http://media.steampowered.com/client/steamcmd_win32.zip Instalator Windows]
:* Linuks: wpisz <code>wget http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.tar.gz</code>
+
:* 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
: 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]].
:* Linuks: wpisz <code>tar xvfz steamcmd.tar.gz</code>
+
:* 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>./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 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>
 
 
''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
Uwaga: Należy się wcześniej wylogować ze swojego klienta Steam.
+
Uwaga|Należy się wcześniej wylogować ze swojego klienta Steam.
  login <nazwaużytkownika> <hasło>
+
  login <nazwa użytkownika>
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>
+
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 się teraz wyświetlić komunikat o poprawnym zalogowaniu na konto.
+
 
 +
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 <ścieżka>
+
  force_install_dir <path>
: Błąd: Na niektórych dystrybucjach ścieżka nie może zawierać WIELKICH liter - zobacz [[#Znane problemy]]
+
: Uwaga: 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:
:* Instalacja cs_go w aktualnej ścieżce:
+
 
  force_install_dir ./cs_go/
 
  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 <id_aplikacji>
+
  app_update <app_id>
: Przykład:
+
: Przykład: instalacja i weryfikacja poprawności plików CS:GO:
:* Do instalacji i weryfikacji poprawności plików CS:GO:
+
 
  app_update 740 validate
 
  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 for Half-Life: Deathmatch '''oraz''' Counter-Strike
 +
| 90
 +
|-
 +
| Counter-Strike: Condition Zero dedicated server
 +
| 90
 +
| +app_set_config 90 mod czero
 +
|-
 +
| Half-Life: 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
 +
|-
 +
| Nuclear Dawn dedicated server
 +
| 111710
 +
|-
 +
| Red Orchestra dedicated server
 +
| 223240
 +
|-
 +
| Red Orchestra 2: Heroes of Stalingrad dedicated server
 +
| 212542
 +
|-
 +
| Killing Floor dedicated server
 +
| 215350
 +
|-
 +
| Team Fortress 2 dedicated server
 +
| 232250
 +
|-
 +
| Team Fortress 2 '''Beta''' dedicated server
 +
| 229830
 +
|-
 +
| Day of Defeat: Source dedicated server
 +
| 232290
 +
|-
 +
| Counter-Strike: Source dedicated server
 +
| 232330
 +
|-
 +
| Half-Life 2: Deathmatch dedicated server
 +
| 232370
 +
|-
 +
|}
 +
 +
Wskazówka: 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 ==
Linia 47: Linia 119:
 
Są dwa sposoby za zautomatyzowanie SteamCMD.
 
Są dwa sposoby za zautomatyzowanie SteamCMD.
  
1. Dodawanie komend z wiersza poleceń. Przykład:
+
1. Dodawanie komend z wiersza poleceń. Przykłady:
  SteamCMD +login użytkownik hasło +force_install_dir ../csgo_ds +app_update 740 validate
+
  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.
Linia 62: Linia 136:
  
 
: 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
+
  steamcmd +runscript csgo_ds.txt
  
=== Ochrona danych logowania przy użyciu pgp na Linuksie ===
+
== Przykładowy skrypt dla Windows ==
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:
+
<bash>
gpg -c --force-mdc update_csgo_ds.txt
+
::=======================::
# wpisz swoje hasło
+
:: SteamCMD Guardian 1.1 ::
# zostanie utworzony zaszyfrowany plik update_csgo_ds.txt.gpg
+
::      ckynick254      ::
  # usuń oryginalny plik
+
::=======================::
  # rm update_csgo_ds.txt
+
set programname=SteamCMD Guardian 1.1
 +
::=======================::
 +
:: SET YOUR VARIABLES!  ::
 +
::=======================::
 +
set servername=
 +
set username=
 +
set password=
 +
::=======================::
 +
::      Your folder      ::
 +
::    Replace after =    ::
 +
::=======================::
 +
set runcmd=E:\Games\
 +
   
 +
::=======================::
 +
::  End of variables    ::
 +
::=======================::
  
Deszyfracje można sprawdzić za pomocą:
+
:: This will keep the window clean and easy to read
gpg -d update_csgo_ds.txt.gpg
+
@ECHO off
  # wpisz swoje hasło
+
   
# tekst zostanie wyświetlony, gdy hasło będzie wpisane poprawnie
+
:: Sets the title of the window
 +
title %programname% - %servername%
  
Gdy wszystko będzie ok, poniższy skrypcik przekieruje odszyfrowane hasło bezpośrednio do steam.sh:
+
:: Clears the window incase there is anything there
#!/bin/sh
+
cls
read -p "Wprowadź hasło: " -s pass
+
COLOR 1f
gpg --passphrase $pass -d login.gpg 2>/dev/null | STEAMEXE=steamcmd ./steam.sh
+
CD %runcmd%
pass=""
+
 
 +
:: Prints to the window what we are doing
 +
ECHO %programname% has been started!
 +
:start
 +
ECHO.
 +
ECHO.
 +
ECHO  ##############################################################
 +
ECHO  #                    Dedicated Server                        #
 +
ECHO  # 1 - Half-Life: Deathmatch and Counter-Strike              #
 +
ECHO  # 2 - Counter-Strike: Global Offensive                      #
 +
ECHO  # 3 - Nuclear Dawn Dedicated Server                          #
 +
ECHO  # 4 - Red Orchestra Dedicated Server                        #
 +
ECHO  # 5 - Red Orchestra 2: Heroes of Stalingrad Dedicated Server #
 +
ECHO  # 6 - Killing Floor Dedicated Server                        #
 +
ECHO  # 7 - Team Fortress 2 Dedicated Server Beta                  #
 +
ECHO  # 8 - HELP!                                                  #
 +
ECHO  # 9 - Exit                                                  #
 +
ECHO  ##############################################################
 +
ECHO.
 +
ECHO.
 +
 
 +
:: Delete variable %A%
 +
SET "A="
 +
SET /P A=Set Your Choice And Press Enter:
 +
ECHO Loading .........
 +
IF "%A%"=="1" set app=90
 +
IF "%A%"=="2" set app=740
 +
IF "%A%"=="3" set app=111710
 +
IF "%A%"=="4" set app=223240
 +
IF "%A%"=="5" set app=212542
 +
IF "%A%"=="6" set app=215350
 +
IF "%A%"=="7" set app=229830
 +
IF "%A%"=="8" ECHO.
 +
IF "%A%"=="8" ECHO https://developer.valvesoftware.com/wiki/SteamCMD
 +
IF "%A%"=="8" ECHO.
 +
IF "%A%"=="8" PAUSE
 +
IF "%A%"=="8" goto start
 +
IF "%A%"=="9" EXIT
 +
 
 +
:: This is a return point in case the server crashes or is closed
 +
:restart
 +
ECHO.
 +
ECHO (%date%)(%time%) %servername% is now ONLINE
 +
ECHO Watching %servername% for crashes...
 +
>> "%servername%.log" ECHO.
 +
>> "%servername%.log" ECHO (%date%)(%time%) %servername% is now ONLINE
 +
>> "%servername%.log" ECHO (%date%)(%time%) Watching %servername% for crashes...
 +
 
 +
::Start the actual update window
 +
start /wait steamcmd +login %username% %password% +force_install_dir %runcmd%\%app%Server\ +app_update %app% validate
 +
ECHO (%time%) WARNING: srcds closed or crashed, restarting.
 +
ECHO.
 +
ECHO (%date%)(%time%) Crash or Close detected!
 +
ECHO %servername% is now restarting...
 +
>> "%servername%.log" ECHO.
 +
>> "%servername%.log" ECHO (%date%)(%time%) Crash or Close detected!
 +
>> "%servername%.log" ECHO (%date%)(%time%) %servername% is now restarting...
 +
 
 +
::Server crashed or closed, so we point it to the return point to start the server again
 +
GOTO restart
 +
</bash>
  
 
= Znane problemy =
 
= Znane problemy =
Linia 91: Linia 241:
 
== 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/>
 
<code>steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory</code>
 
<code>steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory</code>
  
 
Rozwiązanie jest zależne od dystrybucji:
 
Rozwiązanie jest zależne od dystrybucji:
  
=== Debian i pochodne ===
+
=== Debian i pochodne (Ubuntu, Mint) ===
  
 
<code>sudo apt-get install ia32-libs</code>
 
<code>sudo apt-get install ia32-libs</code>
  
=== CentOS ===
+
=== RedHat i pochodne (RHEL, Fedora, CentOS) ===
  
<code>sudo yum install glibc.i686 libstdc++.i686</code>
+
<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>
  
 
== Nieudane pobieranie ==
 
== Nieudane pobieranie ==
Linia 113: Linia 268:
  
 
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:
 
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 27000:27030 --dport 1025:65355 -j ACCEPT
 
  iptables -A INPUT -p udp -m udp --sport 4380 --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
 
  
 
+
Lista wymaganych portów znajduje się tutaj: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english
[[Kategoria:Oprogramowanie]]
+
[[Kategoria:SRCDS|*]]
+

Wersja z 08:59, 18 kwi 2013

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.

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. 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

3. Uruchomienie SteamCMD po raz pierwszy

Otwórz wiersz poleceń i uruchom SteamCmd
  • Windows: wpisz steamcmd
  • Linuks: wpisz ./steam.sh

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 Uwaga|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 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>
Uwaga: 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. <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 for Half-Life: Deathmatch oraz Counter-Strike 90
Counter-Strike: Condition Zero dedicated server 90 +app_set_config 90 mod czero
Half-Life: 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
Nuclear Dawn dedicated server 111710
Red Orchestra dedicated server 223240
Red Orchestra 2: Heroes of Stalingrad dedicated server 212542
Killing Floor dedicated server 215350
Team Fortress 2 dedicated server 232250
Team Fortress 2 Beta dedicated server 229830
Day of Defeat: Source dedicated server 232290
Counter-Strike: Source dedicated server 232330
Half-Life 2: Deathmatch dedicated server 232370

Wskazówka: Aby zainstalować wiele modyfikacji na raz należy oddzielić ich nazwy przecinkami, np. +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

Przykładowy skrypt dla Windows

::=======================::
:: SteamCMD Guardian 1.1 ::
::       ckynick254      ::
::=======================::
set programname=SteamCMD Guardian 1.1
::=======================::
::  SET YOUR VARIABLES!  ::
::=======================::
set servername=
set username=
set password=
::=======================::
::      Your folder      ::
::    Replace after =    ::
::=======================::
set runcmd=E:\Games\
 
::=======================::
::   End of variables    ::
::=======================:: 
 
:: This will keep the window clean and easy to read
@ECHO off
 
:: Sets the title of the window
title %programname% - %servername%
 
:: Clears the window incase there is anything there
cls
COLOR 1f
CD %runcmd%
 
:: Prints to the window what we are doing
ECHO %programname% has been started!
:start
ECHO.
ECHO.
ECHO   ##############################################################
ECHO   #                    Dedicated Server                        #
ECHO   # 1 - Half-Life: Deathmatch and Counter-Strike               #
ECHO   # 2 - Counter-Strike: Global Offensive                       #
ECHO   # 3 - Nuclear Dawn Dedicated Server                          #
ECHO   # 4 - Red Orchestra Dedicated Server                         #
ECHO   # 5 - Red Orchestra 2: Heroes of Stalingrad Dedicated Server #
ECHO   # 6 - Killing Floor Dedicated Server                         #
ECHO   # 7 - Team Fortress 2 Dedicated Server Beta                  #
ECHO   # 8 - HELP!                                                  #
ECHO   # 9 - Exit                                                   #
ECHO   ##############################################################
ECHO.
ECHO.
 
:: Delete variable %A%
SET "A="
SET /P A=Set Your Choice And Press Enter: 
ECHO Loading .........
IF "%A%"=="1" set app=90 
IF "%A%"=="2" set app=740
IF "%A%"=="3" set app=111710
IF "%A%"=="4" set app=223240
IF "%A%"=="5" set app=212542
IF "%A%"=="6" set app=215350
IF "%A%"=="7" set app=229830
IF "%A%"=="8" ECHO.
IF "%A%"=="8" ECHO https://developer.valvesoftware.com/wiki/SteamCMD
IF "%A%"=="8" ECHO.
IF "%A%"=="8" PAUSE
IF "%A%"=="8" goto start
IF "%A%"=="9" EXIT
 
:: This is a return point in case the server crashes or is closed
:restart
ECHO.
ECHO (%date%)(%time%) %servername% is now ONLINE
ECHO Watching %servername% for crashes...
>> "%servername%.log" ECHO.
>> "%servername%.log" ECHO (%date%)(%time%) %servername% is now ONLINE
>> "%servername%.log" ECHO (%date%)(%time%) Watching %servername% for crashes...
 
::Start the actual update window
start /wait steamcmd +login %username% %password% +force_install_dir %runcmd%\%app%Server\ +app_update %app% validate
ECHO (%time%) WARNING: srcds closed or crashed, restarting.
ECHO.
ECHO (%date%)(%time%) Crash or Close detected!
ECHO %servername% is now restarting...
>> "%servername%.log" ECHO.
>> "%servername%.log" ECHO (%date%)(%time%) Crash or Close detected!
>> "%servername%.log" ECHO (%date%)(%time%) %servername% is now restarting...
 
::Server crashed or closed, so we point it to the return point to start the server again
GOTO restart

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 (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

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