Установка сервера Counter-Strike: Source (Global Offensive) на Linux Ubuntu

Предисловие

К моему удивлению, в интернете крайне мало вменяемых руководств по установке Dedicated Server (выделенного сервера) игры Counter-Strike на Linux. Несколько методов у меня не сработали, или сервер глючил, в итоге нашел руководство, которое у меня заработало. Адаптированная его версия перед вами.

Важное примечание: нижеследующее руководство подойдет для практически всех игр от Valve, у которых есть отдельный модуль Dedicated Server. Тоесть это — Counter-Strike: Source, Counter-Strike: Global Offensive, Half-Life 2: Deathmatch, Left 4 Dead и т.п., полный список в оффициальной вики Valve здесь. И еще один момент — я описываю, как ставить лицензионный сервер для игры по Steam! Школьники с No-steam сборками, мой вам совет: кончайте бухать ягу, и накопите чертовых 200 рублей себе на лицензионную игру. Ну может, 300. :)

Подготовка

Для установки нам потребуется, по сути, любой Linux с примерно 3 ГБ места для установки программы сервера. В конкретно моем случае я использовал Ubuntu Server 12.04.4 LTS. Описанные команды также подойдут для всех debian-подобных дистрибутивов в точности, и с мелкими корректировками для всех остальных. Приветствуются начальные знания по работе с консолью (копировать-вставить-создать папку-удалить файл-просмотр папки-установка приложения и т.п.), так будет проще вам понимать, что именно вы делаете, где это все будет лежать и каким образом запускаться.

В моем случае мы начинаем с только что установленной системы и горящей перед глазами консолью. Мы вошли в систему под своим пользователем. Естественно, напрямую из-под root’a мы ничего не делаем. Выделенное в цитату — одна целая команда, которую пишем в консоль. Если в цитате  несколько строк — это несколько команд, пишем первую строку, жмем Enter, пишем следующую строку, также Enter.

Установка

Первым делом проверяем, что система обновлена:

sudo apt-get update

Затем:

sudo apt-get upgrade

В моем случае система была 64-битной, а сам сервер игры — 32-битный. Поэтому, устанавливаем библиотеки для запуска 32-разрядных приложений (Если ваша система 32-битная, этот шаг пропускаем):

sudo apt-get install lib32gcc1 libc6-i386

Добавляем отдельного пользователя, под которым будет запускаться сервер. Так правильно и так безопаснее. Назовем его «steam»:

sudo adduser steam

Попросит задать ему пароль — задаем какой-нибудь попроще, чтобы вы не забыли. Попросит заполнить имя, телефон, адрес и т.п. — оставляем пустыми. Далее, заходим под только что созданным пользователем:

su steam

При этом директория, в которой мы находимся, останется от предыдущего пользователя. Нужно перейти в нашу директорию и создать там папку с названием «steamcmd» и перейти в нее:

cd ..

cd steam

mkdir steamcmd

cd steamcmd

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

wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz

Скачаться должно быстро, файл небольшой — 3 МБ. Разархивируем:

tar -xvzf steamcmd_linux.tar.gz

Если все прошло успешно — выведется список распакованных файлов. Удаляем более не требующийся нам скачанный архив:

rm steamcmd_linux.tar.gz

Запускаем консольный Steam:

./steamcmd.sh

Он тут же обновится. Если запуск прошел успешно, вы увидите перед собой консоль самого Steam’а (начинается с «Steam>»). В этой консоли мы пишем:

login anonymous

Так мы войдем под гостевым доступом к сервисам скачки серверов. В итоге выполнения должен выдать «…Success». Потом прописываем заранее папку, куда будет ставиться, собственно наш сервер Counter-Strike. Первый важный момент, где нужно быть внимательным. Название папки «css» в команде ниже, нужно заменить на «cs_go», если вы ставите Global Offensive. Я буду ставить Counter-Strike: Source, поэтому папка будет называться «css»:

force_install_dir ./css/

Следующий важный момент. Пишем команду для начала скачивания сервера. Она содержит в себе так называемый app_id, тоесть уникальный идентификатор (номер из цифр) игрового сервера, который мы будем качать. Для CS: Source, app_id равен 232330, для CS:GO — 740. Я ставлю CS:Source, поэтому моя команда выглядит так:

app_update 232330 validate

Соответственно, в случае с GO, меняете на 740 число. После ввода этой команды, начнется процесс скачивания самих файлов сервера. Для Counter-Strike: Source этот размер примерно 2.5 ГБ, для Global Offensive наверняка больше, так что будьте осторожны с траффиком. Данный процесс может быть реально долгим, все зависит от скорости вашего интернета. У меня скачалось примерно за минут 20. При успешном скачивании выведет: «Success! App app_id fully installed». Возвращаемся в консоль сервера, написав:

quit

clear

Теперь мы вышли из стима, очистили экран и перед нами терминал сервера. Создадим главный конфигурационный файл server.cfg:

cd css

cd cstrike

cd cfg

nano server.cfg

Логично размышляющий читатель, наверно сам понял, что если он ставит GO, то вместо «css» в командах он пишет «cs_go». После выполнения всего, что я писал выше, перед вами откроется некое подобие «блокнота» в консольном виде. Это наполнение нашего конфигурационного файла. Сейчас туда ничего писать не нужно, просто сохраним его — Ctrl+O и закроем блокнот на Ctrl+X. В будущем, отредактировав этот файл, можно будет устанавливать переменные сервера. Например «bot_difficulty», «sv_gravity» и кучу других.

Возвращаемся на два каталога назад, в папку «css». Из нее мы следующим шагом запустим сервер:

cd ..

cd ..

Пробный запуск! Команда ниже относится к Counter-Strike: Source, если вы ставите Global Offensive, смотрите список стартовых команд тут. Пишем:

./srcds_run -console -game cstrike -maxplayers 20 -port 27015 +map de_dust

Это, как вы сами поняли уже ( я надеюсь) запустит сервер с такими параметрами: карта de_dust, максимум игроков — 20, порт сервера — 27015. При загрузке сервер выводит очень много логов, скорее всего первое вы даже не успеете прочитать, как быстро и много их будет. В конце загрузки в терминал выведется: «VAC cecure mode is activated», что значит что наш сервер успешно запустился.

Заключение

В заключении еще пара важных вещей. Для игры по интернету, на фаерволе вашего сервера должны быть открыты порты от 27000 до 27040 включительно, и TCP и UDP протоколы. Как пробрасывать порты в линуксе и на роутерах, ищите в интернете.

Следущим шагом после установки Dedicated Server, будет настройка конфигурационных файлов в папке /css/cfg/. Примеры настроек легко гуглятся. Также, я очень советую сразу поставить аддон для сервера — Mani Admin Plugin. Он значительно расширит административные функции и упростит администрирование сервера. Если данная статья будет полезной для народа, могу написать и руководство по установке Mani. Пишите комменты! :)