Скачивание и установка SteamCMD Делай все по шагово и все получится!!!
1. Скачиваем SteamCMD:
-
- Если вы используете 64-битный дистрибутив, то вам вероятнее всего понадобится установить 32-битные библиотеки.
- Смотри как тут
2. Распаковываем:
- Linux:
tar xvfz steamcmd_linux.tar.gz
-
Примечание:Учтите, что распаковывать нужно в новую директорию, а не в уже существующую директорию Steam или HLDSUpdateTool
3. Запускаем:
- Для запуска SteamCMD необходимо перейти в директорию распаковки, и при помощи командной строки ввести следующую команду:
- Windows:
steamcmd
- Linux:
./steamcmd.sh
Утилита обновится автоматически до актуального состояния, и по завершению предоставит вам строку Steam> , введите help для получения дополнительной информации.
Для загрузки большинства серверов вы можете анонимной авторизацией:
Если вы пытаетесь установить сервер для которого анонимная
авторизация не применима, то необходимо войти в существующий аккаунт
Steam
-
Примечание:Предварительно вам необходимо выйти из клиента Steam если вы планируете использовать этот же аккаунт в SteamCMD
login <username>
Введите свой пароль, затем проверьте почтовый ящик в него должен прийти код Steam Guard, введите его (один раз для одного ПК).
Далее вы увидите сообщение об успешной авторизации.
Загрузка серверов
1. Запустите SteamCMD и укажите директорию установки. (Примечание: используйте / для Linux и \ для Windows)
force_install_dir <path>
-
Bug:В некоторых дистрибутивах Linux путь установки не может содержать заглавные буквы
- К примеру путь к серверу CS:GO расположенные в текущей директории:
force_install_dir ./cs_go/
2. Установите, или обновите приложение. <app_id> это [идентификатор приложения Steam]. Для проверки приложения добавьте параметр validate . Для участие в бета-тестировании добавьте параметр -beta "Beta" .
app_update <app_id>
- Пример: установитть и проверить бета-версию HLDS:
app_update "90 -beta beta" validate
3. После завершения работы, введите quit для корректного завершения сеанса, и разлогинивания из серверов Steam.
Поддерживаемые сервера
Список поддерживаемых SteamCMD серверов:
{{note|Параметры из столбца Доп. опции командной строки должны быть указаны перед параметром app_update
Сервер
|
ID
|
Доп. опции командной строки
|
Half-Life Dedicated Server для Half-Life: Deathmatch и Counter-Strike
|
90
|
Counter-Strike Condition Zero Dedicated Server Beta
|
"90 -beta beta"
|
+app_set_config 90 mod czero
|
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 Beta
|
229830
|
Автоматизация SteamCMD
Есть несколько способ автоматизировать процесс использования утилиты SteamCMD:
1. Добавить параметры в строку запуска. Пример:
steamcmd +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit
steamcmd +login <username> <password> +force_install_dir c:\KFServer\ +app_update 215350 validate +quit
2. Написать простой скрипт:
- а. Впишите параметры запуска SteamCMD в файл:
// update_csgo_ds.txt
//
@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
login <username> <password>
//для серверов без авторизации
//login anonymous
force_install_dir ../csgo_ds
app_update 740 validate
quit
- б. Запустите SteamCMD с параметром
+runscript :
steamcmd +runscript csgo_ds.txt
Пример .bat скрипта для Windows
::=======================::
:: SteamCMD Guardian 1.2 ::
:: 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
Известные проблемы
Я могу скачать и обновить сервер, однако при запуске одни ошибки
Наиболее распространенная проблема:
- Linux: На некоторых дистрибутивах наблюдаются проблема с заглавными буквами в пути установки
32-bit библиотеки на 64-bit системах Linux
SteamCMD - 32-битная утилита, и требует для запуска некоторые
32-битные библиотеки, даже если 64-битные аналоги этих библиотек уже
установлены.
В подобных случаях сообщения об ошибках будут примерно похожи на это:
steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Решение данных проблем различно в зависимости от конкретного дистрибутива:
Debian и производные (Ubuntu, Mint)
apt-get install ia32-libs
если apt-get install ia32-libs отображает:
The following packages have unmet dependencies: ia32-libs : Depends: ia32-libs-multiarch but it is not installable
E: Unable to correct problems, you have held broken packages.
Используйте:
sudo dpkg --add-architecture i386
и
sudo apt-get update
перед командой apt-get install ia32-libs
Red Hat и производные (RHEL, Fedora, CentOS)
yum install glibc.i686 libstdc++.i686
Arch Linux
Не забудьте сперва активировать репозиторий multilib.
pacman -S lib32-gcc-libs
Download Failed
При использовании ОС Windows, первичная загрузка может быть прервана
или невозможна если настройки прокси выставлены некорректно.
Login Failure: No Connection
При использовании Linux, вы можете встретить ошибку "Login Failure:
No Connection". Это связано с недостающими правилами iptables. Исправить
можно использовав эти команды:
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
Список необходимых портов можно найти по этой ссылке: support.steampowered.com
|