Создание сервера в CS:GO под Linux (От CSGOLIFE.RU)
Создание сервера в CS:GO под Linux (От CSGOLIFE.RU)
Из этого руководства вы узнаете, как в домашних условиях создать сервер используя операционную систему 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
    apt-get install lib32z1
    apt-get install lib32stdc++6
    apt-get install libc6
    apt-get install libgcc1
    apt-get install libc6-i386
    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 csgo -console -dev -nocrashdialog +maxplayers 32 +map de_dust2 -autoupdate -steam_dir /steamcmd/ -steamcmd_script update_srv.txt
CSGOLIFE.RU