Создание сервера в CS:GO под Linux
Из этого руководства вы узнаете, как в домашних условиях создать сервер используя операционную систему Linux

Основная информация
Выбор операционной системы:

— На мой взгляд новичкам проще всего будет освоить Debian и Ubuntu.
— Именно на основе этих ОС и будет построено данное руководство.

Выбор VPS/VDS хостинга для аренды виртуального сервера:
— Тут у вас полная свобода действий, так как таких сервисов довольно много.
— Мой выбор для написания данного руководства пал на сервис IPZON.RU

Для тестирования я выбрал тариф: VDS OPENVZ 2: CPU 2 X 2,8 GHZ; ОЗУ 4 GB; Диск 30 GB.

VDS арендован, можем приступить к настройке. Нам понадобится программа PuTTY:
— Скачать её можно кликнув сюда: PuTTY_SSH.zip

Теперь у нас все готово для настройки VDS и скачивания игрового сервера, приступим.
Настройка VDS, через PuTTY
1. Запустим программу PuTTY и подключимся через нее к VDS:
— Данные для подключения вам должен предоставить хостинг, где вы арендовали VDS.

ВАЖНО: Вам понадобятся:
— IP адрес
— SSH порт (по умолчанию 22)
— Логин (по умолчанию root, стандартный логин суперпользователя)
— Пароль

2. Введем IP и порт в окне программы и нажмем Соединиться:



3. Введем логин (по умолчанию root) и нажмем Enter:



4. Теперь введем пароль. ВАЖНО: При вводе пароля символы не отображаются:



5. В результате мы получим вот такое окно:



6. Теперь мы можем смело приступать к настройке самой VDS.
Поочередно введем приведенные ниже команды:

apt-get update
apt-get -y install htop
apt-get -y install screen
apt-get -y install nano
apt-get -y install sudo
apt-get install lib32gcc1

Расписывать и описывать каждую команду не буду, они вам нужны для дальнейшей настройки и управления игровым сервером.

Добавлю установку 32-ух битных библиотек (Debian 7.9.0)
apt-get -y --force-yes -f install ia32-libs
dpkg --add-architecture i386
apt-get install ia32-libs

В большинстве образов они отсутствуют по умолчанию и поэтому придется их установить.

7. Создадим каталоги для игрового сервера и SteamCMD.
Для начала перейдем в корневую директорию, делается это командой: cd /

Теперь сделаем 2 каталога, делается это так:

mkdir /steamcmd
mkdir /server

На этом настройка и подготовка VDS закончена идем дальше.
Скачивание игрового сервера
1. Нам понадобится SteamCMD для этого:

— Перейдем в директорию созданную ранее: cd /steamcmd

— Скачаем архив со SteamCMD командой: wget http://media.steampowered.com/client/steamcmd_linux.tar.gz

— Распакуем скаченный архив командой: tar xvfz steamcmd_linux.tar.gz

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

mkdir ~/steamcmd && cd ~/steamcmd && wget http://media.steampowered.com/client/installer/steamcmd_linux.tar.gz && tar -xvzf steamcmd_linux.tar.gz && ./steamcmd.sh
2. Запустим программу и приступим к скачиванию сервера:

Я научу вас скачивать и обновлять игровой сервер, всего одной строкой команд:

— Перейдем в директорию SteamCMD, введя команду: cd /steamcmd

— Запустим процесс скачивания/обновления сервера, командами в одну строку:

./steamcmd.sh +login anonymous +force_install_dir /server/ +app_update 740 validate +quit

Этот процесс довольно длительный, у меня это заняло около 20 — 30 минут.
Программа для настройки сервера — Filezilla
1. Для настройки игрового сервера нам понадобится программа Filezilla, кликнув по названию вас перенаправит на официальный сайт программы, оттуда вы сможете загрузить программу.

2. Запустим программу:



— В поле Хост введем IP адрес, вот так: sftp://127.0.0.1 (127.0.0.1 заменить на ip vds).
— В поле Имя пользователя введем: root
— В поле Пароль введем: пароль от VDS
— В поле Порт введем: 22
— Нажмем Быстрое соединение

Примечание: Вы также можете использовать sftp://127.0.0.1, а можно и просто 127.0.0.1:22 для входа. Но помните, без ввода порта в специальное поле ввода вы не сможете войти.

3. Получим следующее окно:



4. Перейдем к файлам игрового сервера, для этого изменим путь:



Там где подчеркнуто, изменить то что было до этого, на то что на скриншоте выше.
Далее все настройки как на обычном хостинге игровых серверов.
Переменные в server.cfg
hostname "Counter-Strike: Global Offensive" — Название игрового сервера

rcon_password "ваш пароль" — Пароль для упраления игровым сервером через коносль, RCON командами

sv_password "12345" — Пароль для входа на игровой сервер (если не требуется оставить ковычки пустыми)

mapgroup "mg_servers" — Набор карт для стандартного голосования CS:GO сервера

sv_region "255" — Регион где расположен игровой сервер (можно оставить так как есть)

sv_setsteamaccount — Ссылка для игрового сервера, создается тут: http://steamcommunity.com/dev/managegameservers
(Внимание! Для этого требуется аккаунт с игрой и подтвержденным номером телефона)

sv_steamgroup — Индификатор Steam группы которой принадлежит игровой сервер (можно оставить как есть)

sv_pure 0 — Проверка соответствия файлов сервера и клиента (можно оставить как есть)

По умолчанию его нет на игровом сервере, вам нужно его создать. Создаётся тут: Counter-Strike Global Offensive → csgo → cfg

gamemode_casual.cfg — Классический обычный
gamemode_competitive.cfg — Классический соревновательный
gamemode_armsrace.cfg — Гонка вооружений
gamemode_demolition.cfg — Уничтожение объекта
gamemode_deathmatch.cfg — Бой насмерть
Запуск и выключение игрового сервера
1. Для запуска игрового сервера вам нужно:

Вновь подключится к VDS через PuTTY и отправить команду для запуска сервера:

cd /server ; screen -A -m -d -S server ./srcds_run -game csgo -console -usercon -maxplayers_override 26 -tickrate 64 +map de_dust2 -port 27015 +game_type 0 +game_mode 0 -secure +sv_lan 0 -nohltv -nobots



2. Для остановки или полного выключения игрового сервера вам нужно:

Прописать команду: screen -ls (и запомнить id который вам выдаст)



Затем прописать команду: kill id (в моем случае: kill 4584):
Эта команда выключит сервер или по другому убьет процесс

Чтобы открыть консоль сервера: screen -R id (в моем случае: screen -R 4584):
Для выхода зажмите: Ctrl+A+D (Внимание! Если просто закрыть окно, выключится сервер!)

Примечание: После каждого запуска сервера, этот id меняется
Строка запуска и ее обозначения
Разберем каждую переменую строки запуска:

cd /server — Директория где находится игровой сервер, а точнее файл запуска

screen -A -m -d -S server — Сессия для определения id процесса

./srcds_run — Определяет запускаемую программу

-game csgo — Определяет запускаемую игру сервера

-console — Запускает игровой сервер в консольном режиме

-usercon — Позволяет управлять игровым сервером через rcon команды

-maxplayers_override 20 — Задает максимальное число игроков для сервера (слоты)

-tickrate 64 — Задает TickRate серверу, в csgo их всего два 64 и 128

+map de_dust2 — Задает стартовую карту игрового сервера

-port 27015 — Задает порт вашего игрового сервера

+game_type 0 +game_mode 0 — Задает режим игры

-secure — Запускает сервер с VAC античитом

+sv_lan 0 — Разрешает подключаться игрокам не из локальной сети (из интернета)

-nohltv — Отключает GOTV (если GOTV нужно, уберите из строки запуска)

-nobots — Запрещает Боты (если Боты нужны, уберите из строки запуска)

Это основные настройки которые так или иначе изменяются.
Способ автоматического перезапуска и автоматического обновления сервера
Есть один очень интересный метод, который позволяет запустить сервер и с помощью параметра: -autoupdate -steam_dir «Путь до папки с сервером» -steamcmd_script «Путь до папки со скриптом».

Например: ./srcds_run -game tf -console -dev -nocrashdialog +maxplayers 32 +map AquaBlocks -autoupdate -steam_dir /home/GroundSnake -steamcmd_script /home/GroundSnake/update_srv.txt

В чём суть этого метода? Вы запускаете сервер в screen, подключив к нему параметр -autoupdate и задав путь до папки, а также специальный скрипт. При выключении сервер автоматически перезапускает сам себя и сначала проверят сервер на обновления с помощью этого скрипта, а затем включает сервер.

Если вас заинтересовал этот метод, то я распишу вам, как это всё сделать.
Настройка скрипта автоматического обновления сервера
Для начала вам нужно скачать сам скрипт, я его уже подготовил, кликните по названию: update_srv.txt

Теперь, внимательно! Откройте скрипт с помощью блокнота или любого текстового редактора и отредактируйте вот такую строчку:

force_install_dir « Укажите путь до папки сервера БЕЗ КАВЫЧЕК! Пример: /var/server/ »

Сотрите всё, что в кавычках и кавычки тоже сотрите и укажите путь, где у вас установлен сервер. Для примера папка: /var/server/. Желательно, использовать текстовый редактор NotePad++ потому, что через обычный блокнот отредактировать файл у вас не получится, или же через AkelPad.

После того как укажите путь, загрузите файл на вашу хост-машину, где вы арендуете ваш сервер и с помощью PuTTY перезапустите сервер с параметром:

./srcds_run -game tf -console -dev -nocrashdialog +maxplayers 32 +map AquaBlocks -autoupdate -steam_dir /home/GroundSnake -steamcmd_script /home/GroundSnake/update_srv.txt
Вернуться в каталог статей