- Как пользоваться SteamCMD
- Tranquillity
- SteamCMD
- Contents
- Загрузка SteamCMD
- Windows
- Linux
- Запуск SteamCMD
- Windows
- Linux/OS X
- Вход в SteamCMD
- Анонимно
- С аккаунтом Steam
- Загрузка приложения
- Проверка целостности
- Поддерживаемые сервера
- Автоматизация SteamCMD
- Командная строка
- Создание сценариев
- Кросс-платформенная установка
- Windows ПО/Сценарии
- SteamCMD AutoUpdater
- condenser
- SteamCMD GUI
- SteamCMD Guardian 1.2
- Linux Сценарии
- Linux Game Server Managers
- SteamCMD Guardian 1.2
- Известные проблемы
- Failed to install app ‘xxxxxx’ (No subscription)
- 32-битные библиотеки на 64-битных дистрибутивах Linux
- Дистрибутивы основанные на Debian (Ubuntu, Mint, и т.д.)
- Дистрибутивы основанные на Red Hat (RHEL, Fedora, CentOS, и т.д.)
- Arch Linux
- Login Failure: No Connection
- Ошибки запуска SteamCMD
- Unable to locate a running instance of Steam
- Ошибка запуска ulimit Linux
- Загрузка HLDS
- Install SteamCMD for a Steam Game Server
- Before You Begin
- Secure Your Game Server
- Configure your Firewall Using IPTables
- Configure your Firewall Using FirewallD
- Install SteamCMD
- From Package Repositories (Recommended)
- Install Manually
- Run SteamCMD
- How Do I Update My SteamCMD Game Server?
- Exit SteamCMD
- Detach from the Screen Session
- Stop SteamCMD
- Understanding SteamCMD Error Codes For A Steam Game Server
- Next Steps
- More Information
Как пользоваться SteamCMD
Tranquillity
Консольный клиент Steam или SteamCMD — новая утилита для установки и обновления выделенных серверов через интерфейс командной строки. Он работает только с играми, которые переведены на контентную систему SteamPipe.
Загрузка
1. Создайте папку для SteamCMD.
C:\SteamCMD
2. Загрузите SteamCMD для Windows: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
3. Извлеките содержимое zip-архива в созданную папку.
Запуск SteamCMD
Запустить утилиту можно только через консольный терминал windows
1. Открываем командную строку Win+R
переходим в папку, куда извлекли steamcmd
cd C:\SteamCMD
Если вы создали папку на другом диске, то перейти туда можно командной
cd /D F:/SteamCMD
Запускаем утилиту
steamcmd
Вначале она сама себя обновит и по окончанию выведет приглашение для дальнейшей работы ( Steam> )
/steamcmd
Загрузим архив с утилитой
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
И распакуем архив
tar -xvzf steamcmd_linux.tar.gz
Запускаем утилиту
cd
/steamcmd
Загружаем архив
curl -O [URL]https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz[/URL]
Распаковываем содержимое
tar -xvzf steamcmd_osx.tar.gz
Запускаем утилиту
cd
Задаем директорию, куда будут закачаны файлы сервера
force_install_dir ./cs1.6/
В нашей директории, где находится steamcmd, появится поддиректория cs1.6
Выкачиваем наш сервер counter-strike 1.6 [Список всех поддерживаемых серверов]
app_update 90 -beta beta validate
* HLDS (APPID 90) в настоящее время требуется несколько прогонов app_update, прежде чем все необходимые файлы будут успешно установлены. Просто запустите app_update 90 validate несколько раз, пока приложение не будет больше обновляться.
Загрузка игрового сервера завершена.
Разработчики добавили в SteamCMD новый параметр ( @sSteamCmdForcePlatformType ), который позволяет выбрать платформу для которой необходимо скачать файлы, даже если это не та платформа на которой вы сейчас работаете.
Для загрузки Windows сервер CS: 1.6 из под Linux:
Источник
SteamCMD
Консольный клиент Steam или SteamCMD — новая утилита для установки и обновления выделенных серверов через интерфейс командной строки. Он работает только с играми, которые переведены на контентную систему SteamPipe. Постепенно все серверы, использующие HLDSUpdateTool, перейдут на неё.
Contents
Загрузка SteamCMD
Windows
1. Создайте папку для SteamCMD.
3. Извлеките содержимое zip-архива в созданную папку.
Linux
1. Сначала установите зависимости необходимые для запуска SteamCMD.
2. Рекомендуется создать отдельного пользователя для SteamCMD. В любом случае не запускайте из под root пользователя, это может быть не безопасно. Выполните следующие команды с root-правами чтобы создать пользователя steam и войти под ним:
(Если вы предпочитаете использовать sudo , просто запустите предыдущую команду с префиксом sudo .)
3. Создайте директорию для SteamCMD и перейдите в неё.
3. Загрузите SteamCMD для Linux.
4. Извлеките содержимое в директорию.
1. Откройте Terminal.app и создайте директорию для SteamCMD.
2. Загрузите SteamCMD для OS X.
3. Извлеките содержимое в директорию.
Запуск SteamCMD
При первом запуске SteamCMD автоматически обновится и отобразит приглашение Steam> . Наберите help для более подробной информации.
Windows
Откройте Командную строку и запустите SteamCMD.
Linux/OS X
Откройте терминал и запустите SteamCMD.
Вход в SteamCMD
Анонимно
Некоторые сервера можно загрузить анонимно.
С аккаунтом Steam
Однако большинство сервером требуют входа в аккаунт Steam.
Затем введите пароль.
Если Steam Guard активирован, то проверьте вашу электронную почту чтобы узнать код доступа Steam Guard и ввести его. Это требуется сделать только при первом входе (а также при удалении файлов где SteamCMD хранит регистрационную информацию).
Вы должны увидеть сообщение о том, что вы успешно вошли в свой аккаунт.
Загрузка приложения
1. Запустите SteamCMD и войдите.
2. Установите директорию установки приложения.
Например директорию с именем cs_go внутри текущей директории: т.е. директория с именеи cs_go Внутри данной директории:
3. Установить или обновить приложение можно с помощью команды app_update . Для проверки целостности приложения добавьте команду validate . Для загрузки beta версий, используйте опцию -beta . Для примера HLDS beta версия называется beta , а beta версия SrcDS называется prerelease . Некоторые beta версии защищены паролем, чтобы иметь возможность скачивать их необходимо добавить опцию -betapassword
HLDS это особый случай: App ID всегда 90 и мод должен быть выбран первым. Это делается путём установки параметра конфигурации приложения mod к запрашиваемому значению.
Пример: Установить и проверить выделенный сервер Counter-Strike: Global Offensive: Пример: Установить и проверить HLDS с Team Fortress Classic:
3. После завершения, введите quit чтобы правильно завершить сессию с серверами Steam.
Проверка целостности
Команда для проверки целостности всех файлов. Это полезно если они повреждены или отсутствуют.
Рекомендуется использовать эту команду только при начальной установке или если файлы сервера были изменены.
Поддерживаемые сервера
Список выделенных серверов содержит известные сервера, которые использует SteamCMD.
Автоматизация SteamCMD
Есть два способа для автоматизации SteamCMD.
Командная строка
Вводить команды в командной строке необходимо с символом плюс в качестве префикса, например:
Чтобы установить определённый мод для HL1, таких как Counter-Strike: Condition Zero:
Для игры которая требует авторизацию, такой как Killing Floor:
Создание сценариев
1. Введите ваши команды SteamCMD в текстовом файле. (Вы можете добавить комментарии, которые начинаются с // .)
2. Запустите SteamCMD с опцией +runscript , ссылаясь на файл который вы только что создали.
Кросс-платформенная установка
Можно выбрать платформу для которой необходимо скачать файлы, даже если это не та платформа на которой вы сейчас работаете. Это делается с помощью переменной @sSteamCmdForcePlatformType . (Да, это два «s» в начале имени переменной.) Например, чтобы загрузить выделенный сервер для Windows CSGO на Linux, вы можете запустить следующую команду:
или использовать следующий сценарий:
Поддерживаемые значения windows , macos и linux .
Windows ПО/Сценарии
SteamCMD AutoUpdater
Установка и автоматическое обновление любого игрового сервера
condenser
condenser это загрузчик для установки, настройки, и запуска выделенных игровых серверов Steam.
SteamCMD GUI
Этот инструмент позволяет использовать SteamCMD на Windows, без командной строки и/или пакетных файлов.
SteamCMD Guardian 1.2
Посмотреть и загрузить можно здесь: http://pastebin.com/BRUbsGQh
Linux Сценарии
Linux Game Server Managers
Linux Game Server Managers приложение командной строки для быстрого, простого развёртывания и управления различных специализированных игровых серверов использующих SteamCMD.
- Установка сервера (SteamCMD)
- Запуск/Остановка/Перезапуск сервера
- Обновление сервера (SteamCMD)
- Мониторинг сервера (включая e-mail уведомления)
- Резервное копирование сервера
- Командная строка сервера
- ARMA 3
- Blade Symphony
- Counter-Strike
- Counter-Strike: Condition Zero
- Counter-Strike: Global Offensive
- Counter-Strike: Source
- Day of Defeat
- Day of Defeat: Source
- Fistful of Frags
- Garry’s Mod
- Half-Life: Deathmatch Classic
- Half-Life 2: Deathmatch
- Insurgency
- Just Cause 2
- Killing Floor
- Left 4 Dead
- Left 4 Dead 2
- No More Room in Hell
- Natural Selection 2
- Red Orchestra: Ostfront 41-45
- Team Fortress Classic
- Team Fortress 2
- Team Fortress Classic
Полный список серверов и инструкции: http://danielgibbs.co.uk/lgsm
SteamCMD Guardian 1.2
Следующий сценарий был протестирован на Debian Wheezy.
Посмотреть и загрузить можно здесь: http://pastebin.com/hcpMpmaZ
Для работы сценария необходимо достаточно свободного места. Предпочтительно использовать отдельно созданного пользователя (например steam) с его собственной домашней директорией (/home/steam). Необходимо войти под этим пользователем через SSH, tty или используя su.
- Создайте файл. nano updateserver.sh
- Вставьте код
- Измените код, добавив по крайней мере 1 игру в строку DL_SV*= .
- Закройте файл Ctrl + O , затем ↵ Enter и в конце Ctrl + X .
- Дайте права на исполнение для пользователя chmod u+x ./updateserver.sh
- Запустите файл ./updateserver.sh
Файл автоматически загрузит SteamCMD, обновит и установит все выбранные игры (до 4). Запустите файл повторно для обновления игр.
Известные проблемы
Failed to install app ‘xxxxxx’ (No subscription)
Если вы получаете ошибку ‘No subscription’, то необходимо войти под Steam аккаунтом в котором эта игра приобретена. См. Список выделенных серверов.
32-битные библиотеки на 64-битных дистрибутивах Linux
Так как SteamCMD это 32-битная программа, для запуска требуются некоторые 32-битные библиотеки, даже если у вас уже установлены 64-битные версии.
Может произойти следующая ошибка:
Решение зависит от вашего дистрибутива:
Дистрибутивы основанные на Debian (Ubuntu, Mint, и т.д.)
На Debian 7 «Wheezy» вы можете столкнуться с такой ошибкой:
Чтобы исправить это, выполните следующие действия:
Дистрибутивы основанные на Red Hat (RHEL, Fedora, CentOS, и т.д.)
Arch Linux
Не забудьте сначала включить репозиторий Multilib.
Login Failure: No Connection
На Linux вы можете получить ошибку «Login Failure: No Connection». Она связана с отсутствующими правилами iptables. Необходимо их прописать например вот так:
На серверах Windows вы можете столкнуться с ошибкой «SteamUpdater: Error: Download failed: http error 0» и «SteamUpdater: Error: Steam needs to be online to update. Please confirm your network connection and try again.». Это как правило решается установкой опции «Автоматическое определение параметров» в IE (Internet Explorer) через настройки локальной сети в меню Свойства браузера.
- Откройте Internet Explorer (IE).
- Нажмите на Инструменты → Свойства браузера
- Нажмите на вкладку Подключения
- В нижней части вы должны увидеть Настройки параметров локальной сети
- Проверьте первый флажок (Автоматическое определение параметров)
- Нажмите на OK, и Применить.
Попробуйте запустить SteamCMD снова. Если по-прежнему не работает, то попробуйте уменьшить свой Уровень безопасности для этой зоны на средний или ниже на вкладке Безопасность в Свойства браузера.
Ошибки запуска SteamCMD
Unable to locate a running instance of Steam
Вы можете получить следующее сообщение об ошибке при запуске сервера на Linux:
Решить проблему можно сделав символическую ссылку steamclient.so
Ошибка запуска ulimit Linux
Некоторые пользователи могут получить ошибку ULIMIT (no permission/cannot open file) во время запуска сценария. Эта ошибка вызвана маленьким значением параметра -n (число файловых дескрипторов) ULIMIT . SteamCMD использует стандартные команды внутри сценария оболочки инициализации, чтобы изменить ULIMIT автоматически, но некоторые серверы могут запретить повышение значения ULIMIT после запуска (или за пределы лимита, установленного root ).
Это может быть исправлено путём изменения ограничения на максимальное число открытых файлов ulimit:
Если появляется ошибка (no permission), вам придётся войти под root чтобы изменить параметр. Чтобы проверить текущую настройку введите ulimit -a. Система выдаст много строк, но вам нужно будет найти только одну:
В этом случае 1024 является текущим значением.
Вы можете также изменить ограничения в файле /etc/security/limits.conf .
В большинстве случаев вы просто получите предупреждающее сообщение, однако это не остановит запуск SteamCMD.
Загрузка HLDS
При попытке скачать мод HL1, таких как TFC, сначала загружаются файлы HLDS, но не мод. Это происходит как с обычной версией так и с бета-версией. Вам, возможно, придётся пробовать скачать несколько раз, пока все необходимые файлы не будут загружены, но как только это будет сделано, файлы должны будут правильно обновиться в следующий раз.
Просто удалив файлы appmanifest, без загрузки замены из сторонних источников, это может сработать. Вы получите в начале сообщение об ошибке из-за удалённых файлов, но загрузка должна продолжится.
Источник
Install SteamCMD for a Steam Game Server
SteamCMD is a command-line version of the Steam client which works with games that use SteamPipe. This enables you to install and update compatible games through the command line. If you intend to host a Steam title on your own game server, installing SteamCMD is a prerequisite.
This guide is intended to get you quickly up and running with SteamCMD on your Linode. See Valve’s SteamCMD wiki page for more information and advanced setups.
Before You Begin
Familiarize yourself with our Getting Started guide and complete the steps for setting your Linode’s hostname and timezone.
Update Your Operating System:
CentOS
Debian, Ubuntu
Install the screen utility, which will be used later when running SteamCMD. For more information about how screen works, review the rest of our Using GNU Screen to Manage Persistent Terminal Sessions guide.
Secure Your Game Server
Game servers and clients are an especially ripe target for attack. Use our Securing Your Server guide to:
Add a limited Linux user to your server. Make the username steam to coincide with the rest of Linode’s Steam guides, as well as Valve’s official documentation. Be sure to give the steam user sudo privileges.
If you are using iptables (which is set in Linode’s Ubuntu and Debian images by default), follow the Configure your Firewall Using IPTables section.
If instead you are using firewalld (as in Linode’s CentOS 7 and Fedora images), follow the Configure your Firewall Using FirewallD section.
Configure your Firewall Using IPTables
Create two files named v4 and v6 in your home directory to record your IPv4 and IPv6 firewall rules:
Some Steam games require a few additional rules which can be found in our Steam game guides. Steam can also use multiple port ranges for various purposes, but they should only be allowed if your game(s) make use of those services. See this Steam Support page for more information.
Steam currently supports multiplayer play over IPv4 only, so a Steam server only needs basic IPv6 firewall rules, shown below.
Import the rulesets into your firewall to activate them:
Install iptables-persistent. If you don’t install this software, your firewall rules will not persist through reboots of your Linode.
If iptables-persistent was already installed, reconfigure the package so that it recognizes your new rulesets:
Confirm that your firewall rules are active:
The output should look similar to:
If you ever import new rules into your firewall in the future, be sure to reconfigure iptables-persistent again afterward:
Configure your Firewall Using FirewallD
Set up your ruleset:
Switch on firewalld and verify your ruleset:
Install SteamCMD
SteamCMD can be installed via your distribution’s package manager, or through a manual method.
From Package Repositories (Recommended)
Installing via the package manager allows you to more easily download updates and security patches, so we strongly recommend using this method if your distribution includes the SteamCMD package. The package is available for Ubuntu and Debian deployments.
Ubuntu
Install the package:
Create a symlink to the steamcmd executable in a convenient place, such as your home directory:
Debian
Add the non-free area to the repositories in your sources list, because the steamcmd package is only available from this area. To do so, edit your /etc/apt/sources.list file and include non-free at the end of each deb and deb-src line, as in this snippet:
Add the i386 architecture, update your package list, and install steamcmd :
Create a symlink to the steamcmd executable in a convenient place, such as your home directory:
Install Manually
If your package manager does not include the steamcmd package, install it manually:
Newly created Linodes use 64-bit Linux operating systems. Since Steam is compiled for i386, install the appropriate libraries. For CentOS, also install wget .
CentOS 7, Fedora
Debian, Ubuntu
Create the directory for SteamCMD and change to it:
Download the SteamCMD tarball:
Extract the installation and runtime files:
When running a Steam game, you may encounter the following error:
The game server will still operate despite this error, and it should be something fixed in a later release of SteamCMD. The temporary fix is to create the directory and symlink to libsteam.so .
Run SteamCMD
Run the executable in a screen session:
If you have installed SteamCMD from repositories:
If you have installed SteamCMD manually:
That will return an output similar to below and leave you at the Steam> prompt:
Most Steam game servers allow anonymous logins. You can verify this for your title with Valve’s list of dedicated Linux servers.
To log in anonymously:
To log in with your Steam username:
How Do I Update My SteamCMD Game Server?
To update your SteamCMD server, follow these steps:
- Run SteamCMD: steamcmd or screen
/.steam/steamcmd
Exit SteamCMD
Detach from the Screen Session
To exit the screen session which contains the Steam process without disrupting the Steam process, enter Control+A followed by Control+D on your keyboard. You can later return to the screen session by entering: screen -r
For more information on managing your screen sessions, review our Using GNU Screen to Manage Persistent Terminal Sessions guide.
Stop SteamCMD
To stop the Steam process and remove your screen session, enter quit at the Steam> command prompt, or enter Control+C on your keyboard.
Understanding SteamCMD Error Codes For A Steam Game Server
You may encounter an error when installing or using SteamCMD. Some of these errors may be difficult to understand and overcome. The following list details a few of these error codes and how to resolve them. Additional errors can be found under the Known Issues section of the SteamCMD wiki page.
Error! App ‘232130’ state is 0x202 after update job — This error code means that disk space is low. 0x202 is the code that corresponds to the disk running out of space. The associated SteamCMD error output/logs might be similar to the following:
If you are trying to install a game that’s larger than the Available disk space, you are going to see this error. Review your disk usage by running df -h and examine your Linode’s disk and storage through the Cloud Manager. To overcome this error, you’ll need to either remove files on your disk, resize your disk, or resize your Linode to a larger plan.
ERROR! Failed to install app X (No subscription) — This error code means that no authorized accounts on your SteamCMD owns the game. Verify the account on which you purchased the game and make sure that you are logged in using that account.
Error! State is 0x402 after update job — Error code 0x402 could mean that either the update servers are down or you have an internet connectivity issue. Verify that your Linode has network connectivity by following the Troubleshooting Basic Connection Issues guide.
Error! State is 0x602 after update job — This code 0x602 implies a network error. When this error shows up, you most probably need to update your system and your network is preventing your SteamCMD from updating.
Error! App ‘237410’ state is 0x10502 after update job — The code 0x10502 points to your application’s AppState, stored in the app manifest of your installed steam app. Under this code, take a look at the StateReconfiguring , StateUpdateStarted , StateUpdateRunningStarted and StateUpdateRequired codes. These status codes point towards a file download in process or a downloaded file is in the process of being installed. Based on what the issue is you can take the next step to resolve it.
Next Steps
You’re ready to install your first Steam game server. From here, certain games may need a few more i386 libraries or firewall rules, and most will need their configuration settings to be modified. The game server should allow easy administrative access with as little interruption to players as possible. Its software should frequently be updated, and players’ progress should be saved when the server is properly shut down.
Our game server guides cover these requirements for specific games and contain various Steam tutorials which will pick you up exactly where this page leaves off.
More Information
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.
This page was originally published on Monday, February 15, 2016.
Источник