Как сделать сервер css на linux

Добавил пользователь Дмитрий К.
Обновлено: 04.10.2024

Всего: 14954
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0

Администраторов: 1
Модераторов: 1
Друзей: 7
Обычных юзеров: 14895

Парней: 14763
Девушек: 189

Мануал по установке и настройке CSS сервера под Linux

1.Введение.
Данная инструкция предназначена для тех, кто хочет установить выделенный сервер Counter-Strike: Source. Ее можно взять за основу и для других модов Source, поддерживаемых VALVe. Предполагается, что человек, создающий сервер, неплохо разбирается в операционной системе и ему не нужно отвечать на вопросы из книжки Linux для чайников. Поэтому здесь рассматривается лишь последовательность шагов по установке выделенного сервера на знакомую вам платформу.

2.Получение дистрибутива.
Настойчиво рекомендую брать дистрибутив сервера и обновлять его через steam. Это бесплатно, быстро и своевременно. Единственное препятствие для работы со стимом, когда машина, на которой установлен сервер, не имеет доступа в Интернет или находится за фаероллом с закрытыми портами, необходимыми для скачки сервера или обновлений. Утилита для получения дистрибутива сервера и его обновления, на сегодняшний день может работать из под Windows и получать дистрибутив для сервера Linux и наоборот. Так что вам остается лишь найти машину, имеющую прямой доступ в Интернет. Только после того, как вы оказались в тупике и не можете сами получить дистрибутив сервера или его обновление со steam, тогда уже берите предоставленный кем-то дистрибутив и при каждом обновлении ждите, что кто-то сделает патч для вашего сервера.

Для получения дистрибутива сервера и его дальнейшего обновления через steam используется утилита Linux HLDS Update Tool. Это архив, после распаковки которого вы получите файл steam для Linux. Файл steam еще необходимо сделать запускающимся:

Теперь утилита готова для запуска:
./steam - для Linux
При первом запуске утилита обновится до последней версии и после обновления выдаст синтаксис доступных команд.


Use: hldsupdatetool -command [parameters] [flags]

update: Install or update HLDS
parameters:
-game - Mod name: cstrike, tfc, dod, dmc, valve, czero, or ricochet
-dir - HLDS Install dir (if dir not specified, will use value from last run of tool)
flags:
-verify_all - Verify all HLDS files are up to date
-retry - Automatically retry every 30 seconds if the Steam Network is busy

For example: hldsupdatetool -command update -game cstrike -dir c:\hlds

version: View installed versions
list: View available games

hldsupdatetool -command list

получаем список доступных модов сервера для скачки.

** 'game' options for Source DS Install:

"Counter-Strike Source"
"Counter-Strike Source-linux"
"Counter-Strike Source-win32"
"hl2mp"
"hl2mp-linux"
"hl2mp-win32"

Осталось лишь набрать команду для получения дистрибутива:

и теперь можно переходить к тестированию и основным настройкам.

3.Тестирование и запуск сервера. Основные настройки.
Для запуска сервера также необходимо создать скрипт запуска. Для теста просто запустим сервер строкой

./srcds_run -game cstrike +maxplayers 16 +map de_dust

Если сервер был скачан без ошибок, то вы увидите появившуюся консоль сервера. Если этого не произошло, возвращайтесь к пункту Получение дистрибутива.
В консоли сервера после всех инициализаций можем набрать:

version - консоль покажет версию сервера;
stats - консоль покажет основные параметры работы на данный момент √ загрузку процессора, fps, количество игроков.
exit - закрыть сервер.

Убедились что сервер работает? Теперь попробуйте зайти на него своим клиентом.

Простой скрипт запуска start_css.sh:

При этом, сервер будет писать все свои действия в /home/cs/server_css.log.
Останавливаем сервер с помощью скрипта:

Вам осталось выбрать тип сервера, который вы хотите запустить. Лановый (+sv_lan 1 в строке запуска) или доступный из интеренета (+sv_lan 0), будет ли сервер защищен античитом от VALVe VAC (по умолчанию защищен) или нет (-insecure в строке запуска), нужно, что бы ваш сервер отображался в глобальном списке серверов (включено по умолчанию) или нет (-nomaster в строке запуска).
Основная работа позади. Сервер скачан, запущен и работает. Установка дополнительных плагинов на сервер в этой статье рассматриваться не будет.







Установка и запуск сервера под Linux в общем и целом аналогична Windows с поправкой на особенности операционной системы. Поэтому я лишь вкратце пройдусь по основным шагам:

Данный способ тестировался на ОС Debian и Ubuntu

Начнём с необязательного, но рекомендуемого шага: Создание нового пользователя под сервер

где testuser - это любое желаемое вами имя для вашего пользователя

Логинимся под новым пользователем и приступаем:
Создаём папку где будет лежать наш сервер, имя может быть любым. на примере я назову её hlserver


В случае если консоль пишет hldsupdatetool.bin no such file or directory, то выполняем команду которая установит недостающие пакеты


Этап подготовки закончен, мы скачали и установили все необходимые нам инструменты
Запускаем steam для его обновления


У меня как правило система просит повторить ввод команды, возможно у вас этого не будет
Steam обновился и готов скачать нам сервер, то и делаем


При начальной установке скачивается более 4 гигабайт данных, поэтому в зависимости от скорости вашего соединения, процесс может быть достаточно длительным.
Серве запускается из папки hlserver/orangebox командой

Как создать сервер Counter-Strike: Source для Linux (SteamCMD)

Как создать сервер Counter-Strike: Source для Linux (SteamCMD)

Продолжая статьи на тему как создать сервер для какой-либо игры я совсем забыл, что не у всех пользователей ПК стоит ОС Windows. И это было значительное упущение. Поэтому в данной статье я хочу рассказать о том как создать сервер Counter-Strike: Source для Linux. Итак, давайте приступим.

1. Создание папки для сервера

Для начала нужно создать папку, где в дальнейшем будет размещен наш сервер CS:Source. Для этого нужно выполнить такую команду:

Вместо cssource вы можете ввести любое другое название.

2. Скачиваем SteamCMD и распаковываем архив

Скачиваем SteamCMD для Linux:

Скачали? Теперь необходимо распаковать скачанный архив в папку:

Для удаления архива (в дальнейшем он не пригодится, если вы не планируете создавать ещё один сервер):

3. Первый запуск SteamCMD

После распаковки архива в папку запускаем SteamCMD:

Ждем некоторое время пока программа обновится.

4. Скачиваем сервер Counter-Strike: Souce для Linux

Как только SteamCMD обновится в окне появится строчка:

Вводим логин (либо анонимно):

Указываем папку куда будет скачан сервер:

И указываем идентификатор нужной нам игры (Counter-Strike: Source):

Отлично. Наш сервер начал скачивание и, как я уже говорил в других статьях по созданию серверв, время скачивания зависит только от скорости вашего интернета. У меня на это уходило около 15-20 минут.

5. Создание файла запуска сервера через консоль start.sh и запуск сервера

Создаем файл start.sh для запуска сервера с таким содержимым:

!/bin/bash
./srcds_run -console -game cstrike +ip 85.140.1.33 +map de_dust2 +maxplayers 32 +port 27015 -tickrate 66

Далее необходимо добавить права на запуск. Находясь в папке ../cssource/server выполняем:

И теперь можно запустить сам сервер:

На этом всё. Вам останется лишь настроить ваш сервер, как это сделать вы сможете найти в статьях о Counter-Strike: Source на нашем сайте.

Консольный клиент 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.

Анонимно

Некоторые сервера можно загрузить анонимно.

С аккаунтом Steam

Однако большинство сервером требуют входа в аккаунт Steam.

Примечание: По соображениям безопасности рекомендуется создать новый аккаунт Steam предназначенный для загрузки и обновления ваших серверов.

Примечание: Вам нужно выйти из обычного клиента Steam чтобы корректно войти в SteamCMD.

Затем введите пароль.

Если Steam Guard активирован, то проверьте вашу электронную почту чтобы узнать код доступа Steam Guard и ввести его. Это требуется сделать только при первом входе (а также при удалении файлов где SteamCMD хранит регистрационную информацию).

Загрузка приложения

1. Запустите SteamCMD и войдите.

2. Установите директорию установки приложения.

Примечание: Используйте косую черту для Linux/OS X и обратную косую черту для Windows.

Например директорию с именем 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:

Ошибка: HLDS (APPID 90) в настоящее время требуется несколько прогонов app_update , прежде чем все необходимые файлы будут успешно установлены. Просто запустите app_update 90 validate несколько раз, пока приложение не будет больше обновляться.

Пример: Установка и проверка бета-версии HLDS (Half-Life): Пример: Установка и проверка бета-версии выделенного сервера Counter-Strike: Source: Пример: Установка и проверка закрытой бета-версии выделенного сервера Natural Selection 2 (название alpha , пароль natsel ): [beta name] это название приватной бета-версии [beta code] это пароль приватной бета-версии

3. После завершения, введите quit чтобы правильно завершить сессию с серверами Steam.

Проверка целостности

Команда для проверки целостности всех файлов. Это полезно если они повреждены или отсутствуют.

Примечание: Проверка перезапишет любые файлы, которые были изменены. Это может вызвать проблемы с индивидуальными серверами. Например, если настроить mapcycle.txt , этот файл будет перезаписан версией по умолчанию. Любые файлы, которые не являются частью установки по умолчанию не будут затронуты.

Рекомендуется использовать эту команду только при начальной установке или если файлы сервера были изменены.

Поддерживаемые сервера

Список выделенных серверов содержит известные сервера, которые использует SteamCMD.

Примечание: Любые дополнительные перечисленные команды должны быть выполнены до выполнения команды app_update .

Автоматизация SteamCMD

Есть два способа для автоматизации SteamCMD.

Примечание: Замените steamcmd на ./steamcmd.sh для Linux/OS X.

Командная строка

Примечание: При использовании параметра -beta в командной строке, он должен быть заключён в кавычки, например, +app_update "90 -beta beta" .

Примечание: Если это не работает, попробуйте ввести его как "+app_update 90 -beta beta" .

Вводить команды в командной строке необходимо с символом плюс в качестве префикса, например:

Чтобы установить определённый мод для 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

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

SteamCMD Guardian 1.2

Следующий сценарий был протестирован на Debian Wheezy.

Для работы сценария необходимо достаточно свободного места. Предпочтительно использовать отдельно созданного пользователя (например steam) с его собственной домашней директорией (/home/steam). Необходимо войти под этим пользователем через SSH, tty или используя su.

  1. Создайте файл. nano updateserver.sh
  2. Вставьте код
  3. Измените код, добавив по крайней мере 1 игру в строку DL_SV*= .
  4. Закройте файл Ctrl + O , затем ↵ Enter и в конце Ctrl + X .
  5. Дайте права на исполнение для пользователя chmod u+x ./updateserver.sh
  6. Запустите файл ./updateserver.sh

Файл автоматически загрузит SteamCMD, обновит и установит все выбранные игры (до 4). Запустите файл повторно для обновления игр.

Известные проблемы

Failed to install app 'xxxxxx' (No subscription)

Если вы получаете ошибку 'No subscription', то необходимо войти под Steam аккаунтом в котором эта игра приобретена. См. Список выделенных серверов.

Примечание: По соображениям безопасности рекомендуется создать новый аккаунт Steam только для ваших серверов.

32-битные библиотеки на 64-битных дистрибутивах Linux

Так как SteamCMD это 32-битная программа, для запуска требуются некоторые 32-битные библиотеки, даже если у вас уже установлены 64-битные версии.

Может произойти следующая ошибка:

Решение зависит от вашего дистрибутива:

Дистрибутивы основанные на Debian (Ubuntu, Mint, и т.д.)

Примечание: ia32-libs не требуется для установки SteamCMD; lib32gcc1 будет достаточно.

На Debian 7 "Wheezy" вы можете столкнуться с такой ошибкой:

Дистрибутивы основанные на Red Hat (RHEL, Fedora, CentOS, и т.д.)

Arch Linux

Не забудьте сначала включить репозиторий Multilib.

На серверах 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) через настройки локальной сети в меню Свойства браузера.

  1. Откройте Internet Explorer (IE).
  2. Нажмите на ИнструментыСвойства браузера
  3. Нажмите на вкладку Подключения
  4. В нижней части вы должны увидеть Настройки параметров локальной сети
  5. Проверьте первый флажок (Автоматическое определение параметров)
  6. Нажмите на OK, и Применить.

Попробуйте запустить SteamCMD снова. Если по-прежнему не работает, то попробуйте уменьшить свой Уровень безопасности для этой зоны на средний или ниже на вкладке Безопасность в Свойства браузера.

Ошибки запуска SteamCMD

Unable to locate a running instance of Steam

Решить проблему можно сделав символическую ссылку steamclient.so ~/.steam/sdk32/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 .

Загрузка HLDS

При попытке скачать мод HL1, таких как TFC, сначала загружаются файлы HLDS, но не мод. Это происходит как с обычной версией так и с бета-версией. Вам, возможно, придётся пробовать скачать несколько раз, пока все необходимые файлы не будут загружены, но как только это будет сделано, файлы должны будут правильно обновиться в следующий раз.

Примечание: По некоторым причинам CS всегда устанавливается также.

Читайте также: