Установка сервера Counter-Strike: Source с нуля на Linux (Ubuntu)

Установка сервера Counter-Strike: Source

Добрый день, дорогие читатели и гости, которым интересна эта тематика.

Как известно, для работы игрового сервера меньше ресурсов (а значит и меньше затрат) нужно именно на ОС семейства Linux. Установка сервера Counter-Strike: Source на Linux с нуля в целом не сложная, но если вы не разбираетесь в Линуксе, тогда лучше все делать по пошаговой инструкции. В интернете можно найти информацию по установке сервера с нуля на Linux, но достаточно грамотных статей я встречал всего парочку. Недавно мы с друзьями запустили свой сервер для CS: Source, поэтому я решил свежим взглядом описать и показать весь процесс, а также обратить внимание на возможные проблемы и пути их решения.

Сразу оговорюсь, что речь идет об установке официального Steam сервера, потому что я не одобряю пиратство (по крайней мере с играми) и вам не советую. На момент написания статьи, цена на Counter-Strike: Source в Steam – всего 435р.

Для запуска сервера Counter-Strike: Source на Linux нам подойдет компьютер или VDS (виртуализация KVM) на любой ОС семейства Linux, имеющий минимум 1 ядро, 1 Гб ОЗУ и свободные 3 Гб места на диске под сам сервер. Если вы собираетесь запускать сервер дома, то вам понадобится внешний IP адрес или придется настраивать no-ip. Недорогие VDS с DDoS защитой вы можете посмотреть здесь. В этой статье мы будем удаленно устанавливать сервер на Ubuntu 14.04.5 LTS.

Если у вас под рукой компьютер на ОС Linux, то вам понадобится консоль и менеджер файлов, а если подключаться будем удаленно, то нам понадобятся shell-клиент PuTTY и FTP-клиент FileZilla или SFTP+FTP клиент WinSCP.

Подготовка

Если у вас 64-битная система, то в первую очередь нужно установить библиотеки для запуска 32-битных приложений, потому что сервер игры как раз 32-битный. Сделать это можно одной командой:

sudo apt-get install lib32gcc1 libc6-i386

Запускать сервер в целях безопасности рекомендуется от имени отдельного пользователя, поэтому давайте создадим нового пользователя. В моем примере это будет test.

sudo adduser test

После выполнения этой команды, вам нужно будет указать пароль для создаваемого пользователя, а также дополнительные данные. Вы можете пропустить ввод доп. данных, просто нажимая Enter. В конце, вам нужно будет подтвердить ввод данных, отправив Y.

Установка сервера Counter-Strike - добавление пользователя

Установка сервера Counter-Strike

1. Заходим под именем созданного пользователя:

su test

Вводим его пароль, а после отправляем команду cd, чтобы перейти в домашний каталог пользователя. Вы можете отправить команду ls и в ответ ничего не придет, потому что в домашнем каталоге нового пользователя пусто, там есть только системные файлы.

2. Теперь нам нужно создать папку для установки SteamCMD и перейти в нее. Для этого по очереди набираем команды:

mkdir steamcmd && cd steamcmd

Если все прошло успешно, вы увидите в консоли путь ~/steamcmd$

3. Скачиваем архив SteamCMD:

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

Скачаться он должен быстро, потому что его размер небольшой. Затем сразу распаковываем его:

tar -xvzf steamcmd_linux.tar.gz

После распаковки, у вас появятся файлы и папки:

linux32/
linux32/libstdc++.so.6
linux32/steamcmd
steamcmd.sh
steam.sh

Если это так, значит все хорошо и можно удалить скачанный архив:

rm steamcmd_linux.tar.gz

4. Запускаем командную оболочку Steam:

./steamcmd.sh

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

Установка сервера Counter-Strike - SteamCMD

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

login anonymous

Должно появиться 2 строчки, в конце обеих должно быть OK.

Теперь указываем, в какую папку будем скачивать сервер (папка будет создана автоматически). Сервер для CS: Source можно установить в папку css, но вы можете назвать ее по своему.

force_install_dir ../css/

Директория css будет создана в домашнем каталоге, рядом с папкой steamcmd.

6. Запускаем загрузку сервера игры, указывая специальный стимовский app_id. Для CS: Source это 232330.

app_update 232330 validate

Начнется загрузка, которая будет выдавать Update state в процентах. Размер загружаемых данных примерно 2.30 Гб, поэтому придется подождать несколько минут до окончания загрузки.

Примечание: Если вдруг загрузка прервется и у вас будет написано Error! App '232330' state is 0x402 after update job или похожая ошибка, то просто снова отправьте команду app_update 232330 validate и процесс продолжится с того места, где прервался.

После успешной загрузки, вы увидите следующее:

Установка сервера Counter-Strike - завершение загрузки

7. Выходим из SteamCMD нажатием сочетания клавиш Ctrl+C или отправив команду quit.

Затем переходим в папку загруженного сервера.

Вот и все. Сервер фактически установлен. Теперь мы можем попробовать сделать тестовый запуск.

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

У вас перед глазами пробежит много строк и в конце должно быть VAC secure mode is activated.

Установка сервера Counter-Strike - запуск сервера

Однако, как мы видим на скриншоте, в процессе загрузки сервера возникли некоторые ошибки. Иногда он запускается при их наличии, а иногда может выдать FATAL ERROR.

Если при запуске вы видите ошибку ... /.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory, то не пугайтесь, она легко поправима:

ln -s ~/steamcmd/linux32 ~/.steam/sdk32

Эта команда создаст символьную ссылку с директории sdk32 на директорию linux32 и при следующем запуске, таких ошибок вы уже не увидите:

Установка сервера Counter-Strike - успешный запуск

Первичная настройка сервера

Теперь давайте перейдем к визуальной работе с файлами, поскольку это удобнее, чем в консоли. Для этого подключаемся по FTP к нашему серверу (в случае удаленной работы).

1. Заходим в папку /css/cstrike/cfg/

В этой папке должен находиться главный файл конфигурации сервера – server.cfg. Вы можете создать этот файл, найти его описание и параметры в интернете, затем загрузить готовый файл в указанную папку по FTP. Но я рекомендую воспользоваться лучшим подробным конфигом, который я нашел и подкорректировал – в нем все настройки описаны на русском языке и вам не составит труда изменить все под ваши нужды. Скачайте его, затем откройте в любом текстовом редакторе, измените название сервера и другие необходимые настройки под себя, затем загрузите в папку css/cstrike/cfg на вашем сервере.

2. В этой же папке вы увидите и другие файлы конфигурации. Обратите внимание на файлы motd_default.txt, motd_text_default.txt и mapcycle_default.txt. Эти файлы вы можете скачать, изменить под себя и загрузить на сервер, убрав суффикс default.

  • motd.txt – файл используется для отображения информации в окне приветствия при подключении к серверу. Можно использовать HTML, картинки и даже музыку.
  • motd_text.txt – простой текстовый вариант приветствия, если не используется motd.txt
  • mapcycle.txt – файл со списком карт, смена карт происходит по списку из него. В него вы будете добавлять и новые карты, если будете загружать их на сервер.

3. При запуске сервера мы в логах видели надпись anonymous game server account. Для полноценной работы сервера и проверки игроков по STEAM_ID, нам нужно привязать сервер к Steam. Для этого переходим на эту страницу Steam, авторизуемся в своем аккаунте, внизу страницы вводим номер приложения: 240 и нажимаем кнопку Создать. Полученный идентификатор копируем и сохраняем где-нибудь, он нам скоро понадобится.

4. Чтобы сервер было проще запускать, мы можем создать специальный файл для запуска, в котором будет прописана команда запуска сервера с необходимыми параметрами. Позже, вы сможете добавить этот файл в автозагрузку (Cron) и сервер игры будет запускаться автоматически при перезапуске самого сервера Linux.

Создаем на рабочем столе текстовый файл start.sh. В него прописываем:

#!/bin/bash

./srcds_run -console -game cstrike +port 27015 +sv_setsteamaccount E25F0F3C2B8DADDCC5589D5538CF7343 +maxplayers 20 +map de_dust2 &
  • port – порт на сервере, вы можете указать любой, начиная от 27015
  • если на вашем VDS несколько внешних IP, добавьте +ip ваш_ip перед +port;
  • sv_setsteamaccount – здесь как раз и указываем идентификатор, который получили в Steam;
  • maxplayers – кол-во слотов на сервере;
  • map – карта.

Сохраняем файл, в FileZilla переходим в папку /css/ и загружаем созданный файл туда. Не забудьте добавить этому файлу права на исполнение:

chmod +x /home/test/css/start.sh

Теперь вы можете запускать сервер командой ./start.sh, находясь в папке css, а также добавить этот файл в Cron на автозапуск. После запуска сервера, обратите внимание на страницу, где получали идентификатор Steam для сервера, у вас должно обновиться поле “Последний вход” – это значит что сервер корректно запустился с привязкой Steam.

На этом установка сервера Counter-Strike: Source завершена. Для корректной работы сервера через интернет, на компьютере/VDS, где вы его запускаете, должны быть открыты порты 27000-27040.

P.S. В следующих статьях я расскажу о том, как добавлять карты на сервер, сделать быструю загрузку файлов, а также о SourceMod и возможностях плагинов для него.