Последние новости:
Популярные файлы:
Настройка сервера CS:GO - преднастроенные режимы, конфиги, SourceMod

Введение

Итак, в первой части статьи я учил работать со своим виртуальным сервером VPS через консоль на базе системы Debian, разворачивать на ней чистый лицензионный steam дистрибутив игрового сервера CS:GO и другим фишкам...

Теперь самое время рассмотреть подробную настройку сервера CS:GO. Начнем с того, какие вообще преднастроенные режимы сейчас введены в CS:GO, их файлы конфигураций, как работает сервер, как менять настройки. Для чего создаются пользовательские конфигурации, такие как gamemode_casual_server.cfg, и созданные нами в первой части статьи autoexec.cfg и server.cfg.

С помощью этой статьи ваш сервер будет доведен до полной боевой готовности!

Режимы игры CS:GO

Собственно, какие преднастроенные режимы есть в CS:GO?

Classic Casual: 

Параметры запуска
./srcds_linux -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2

Классический Counter-Strike - для победы нужно либо уничтожить команду противника, либо выполнить задачу (террористам - взорвать бомбу, спецназу - обезвредить бомбу или спасти заложника). Игра длится 15 раундов: побеждает та команда, которая первой одержит 8 побед, смена команд местами отсутствует. Огонь по своим отключен, столкновения тоже отключены: т.е. запрыгнуть сверху на своего тиммейта не получится, но зато никто не будет подпирать. 

Classic Competitive:

Параметры запуска
./srcds_linux -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2

Соревновательный режим. Играется 5 на 5: перед началом матча система собирает 10 игроков с примерно одинаковым уровнем игры. Игру нельзя покидать до её окончания, иначе система выдаст бан (от 1 часа до нескольких недель). Огонь по своим и столкновения включены. Игра длится до тех пор, пока одна из команд не наберет в свой актив 16 побед. После 15-го раунда команды меняются местами (деньги сбрасываются, оружие исчезает). Именно в этом режиме можно улучшить свое звание.

Arms Race:

Параметры запуска
./srcds_linux -game csgo -console -usercon +game_type 1 +game_mode 0 +mapgroup mg_armsrace +map de_dust2

Этот режим игры CS:GO также известен как "ган гейм" (gun game). Цель режима - первым совершить убийство из каждого вида оружия. Чтобы получить новое оружие, нужно убить лидера вражеской команды или двух обычных противников. Последнее оружие, из которого нужно совершить только одно убийство - это всегда нож. Возрождение моментально.

Demolition:

Параметры запуска
./srcds_linux -game csgo -console -usercon +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_dust2

Игра 5 на 5, цель - уничтожить команду противника, взорвать (террористам) или обезвредить (спецназу) бомбу. Оружие выдается автоматически: если в текущем раунде ты убил противника - в следующем получишь новое оружие (возрождения нет), если убил двух и более - получишь еще и гранату. Игра длится 20 раундов до 11 побед, после первых 10 команды меняются местами.

Deathmatch:

Параметры запуска
./srcds_linux -game csgo -console -usercon +game_type 1 +game_mode 2 +mapgroup mg_allclassic +map de_dust2
Матч в данном режиме игры CS:GO длится 10 минут, цель - набрать как можно больше очков. Очки даются за убийство или помощь в убийстве противника. Также 1 очко дают за убийство курочки. Каждое оружие дает определенное количество очков (больше всего очков дают за убийство ножом). Возрождение моментально.

Настройка режимов

Эти режимы можно настроить отдельно, но иногда это у многих не получается правильно делать, потому что не понимают порядок включения настроек.

По дефолту, после скачивания сервера через steamcmd есть два файла gamemodes.txt и gamemodes_server.txt.example, в директории DIR_GAME, отвечающие за ВСЕ режимы игры.
  • gamemodes.txt — основной файл конфигурации сервера, разработчики не советуют его использовать так как при обновлениях сервера он перезаписывается, а это значит что все изменения которые вы в него внесли после обновления будут утеряны.
  • gamemodes_server.txt.example — данный файл нужно переименовать в gamemodes_server.txt, и производить настройку сервера лучше именно в нем. Переменные в этом файле переопределят основные, т.е. это файл пользовательских настроек и он НЕ будет перезаписан при обновлении. 
 
Параметры запуска
mv gamemodes_server.txt.example gamemodes_server.txt

Эти файлы служат для настройки режимов, а именно, для каждого режима здесь обычно указывают, какие группы карт будут использоваться сервером для этого режима (задавать нужно в группе "mapgroupsMP" - это группы карт, которые будут доступны для игры Online). Эти карты включаются в стандартное голосование сервера в конце матча. В конце собственно, определяются все группы карт (название группы и список карт, а так же опционально - модели игроков, использующиеся на этих картах).

Так же здесь можно указать переменные (cvars) сервера, добавив их в секцию "convars" нужного режима. Но принято квары выносить в отдельные конфигурационные файлы в директории DIR_GAME/cfg (как уже говорил, это каталог конфигураций сервера). Это, например:
  • gamemode_armspace.cfg
  • gamemode_casual.cfg
  • gamemod_competitive.cfg
  • и остальные..


Аналогично описанному чуть ранее, лучше настраивать не gamemode_РЕЖИМ.cfg (и типичные файлы), а создать файл пользовательских настроек gamemode_РЕЖИМ_server.cfg, и переопределять нужные квары. Этот файл будет тоже загружен из gamemodes.txt, согласно секции "exec", можете убедиться сами.

Файлы, которые мы создали сам ранее - autoexec.cfg и server.cfg. Их суть практически не отличается от настройки в CS 1.6.

autoexec.cfg - конфиг выполняется один раз в момент запуска сервера перед загрузкой карты и перед применением опций из командной строки. Например, здесь обычно:

log on // включают логирование (для анализа, если сервер падает часто, например)
sv_password "" // задают пароль для входа на сервер
sv_setsteamaccount "..."
sv_lan "0"
и другое...

server.cfg - выполняется при каждой смене карты (включая запуск). Очень понятно и по разделам растолковал все по-сути все нужные для настройки параметры, а так же их особенности, о которых многие в интернете не пишут. Вынес отдельно  - "Разбор server.cfg параметров для CS:GO на русском"

Доступные для настроек команды можно узнать в консоли сервера, введя команду
Код
cvarlist log cvarlist.txt
Файл cvarlist.txt будет лежать в корне csgo. 

Внимание! В server.cfg не имеет смысла писать настройки из конфигураций режимов (например, gamemode_РЕЖИМ_server.cfg), ибо они имеют высший приоритет. 


Так же в DIR_GAME измените файлы и сделайте резервные копии (при обновлении перетрутся):
mapcycle.txt - цикл карт, которые сервер будет менять по порядку в отсутствие игроков. Я делал сервер "only dd2", поэтому оставил в нем только одну карту
maplist.txt - список карт, доступных администратору 
motd.txt - "message of the day", приветствие при подключении на сервер (html страница)

Свои переменные для карты

Так же есть еще картовые конфигурации. Например, если вам нужно выполнить какой то конфиг при запуске определенной карты, допустим увеличить время на карте awp_india.
Для этого идем в каталог csgo/maps и создаем там каталог cfg. В нем создаем конфиг с названием карты aim_india.cfg и его наполняем нужными параметрами (доступные здесь переменные указаны в bspconvar_whitelist.txt)
 

Установка SourceMod и Metamod:Source на сервер CS:GO

Открываем sourcemod.net/downloads.php . Копируем ссылку последней версии для linux.
Переходим в каталог csgo и выкачиваем и распаковываем
 
Код
cd /home/steam/csgo-ds/csgo
wget http://www.sourcemod.net/smdrop/1.7/sourcemod-1.7.3-git5290-linux.tar.gz
tar -xzf sourcemod-1.7.3-git5290-linux.tar.gz

Открываем sourcemm.net/downloads . Переходим к Linux версии, и копируем любую ссылку для wget


 
Код
wget http://www.gsptalk.com/mirror/sourcemod/mmsource-1.10.6-linux.tar.gz
tar -xzf mmsource-1.10.6-linux.tar.gz

Далее на этом сайте переходим в "Make your VDF", выбираем нашу игру и генерируем файл. Помещаем в /csgo/addons/metamod.vdf с заменой.

Проверяем работу командами: meta version, meta list, sm version



Теперь рассмотрим самые простые основы работы с SourceMod. 
Во-первых, описание основных директорий:
  • /csgo/addons/bin/ - бинарники SourceMod'a
  • /csgo/addons/extensions/ - расширения для SourceMod'a
  • /csgo/addons/sourcemod/configs/ - конфигурационные файлы
  • /csgo/addons/sourcemod/gamedata/ - файлы *.games.txt, для некоторых плагинов
  • /csgo/addons/sourcemod/logs/ - логи SourceMod'a
  • /csgo/addons/sourcemod/plugins/ - плагины SourceMod'a (файлы с расширением .smx)
  • /csgo/addons/sourcemod/plugins/disabled - отключенные плагины (просто хранятся)
  • /csgo/addons/sourcemod/scripting/ - каталог для хранения и компилирования исходных кодов плагинов (файлы .sp)
  • /csgo/addons/sourcemod/translations/ - языковые файлы плагинов (переводы) *.phrases.txt
  • /csgo/cfg/sourcemod/ - основные настройки SourceMod'a и его плагинов в стандартном каталоге конфигураций, как и полагается

Делаем себя админом в SourceMod

Удобный способ, которым лучше всегда пользоваться, имея свой Steam аккаунт - добавлять запись администратора по SteamID вида STEAM_n:o:p. Плюшки! Таким образом ваша админка не будет терять при смене ника или вашего динамического IP адреса. А так же не нужно вводить пароль перед заходом на сервер. Узнать SteamID можно, набрав команду status в консоли игры, зайдя на любой сервер. Либо по ссылке на свой профиль на сайте steamidfinder.com

Существует два файла описания администраторов. Из них попроще - /csgo/addons/sourcemod/configs/admins_simple.ini
Добавляем строчку вида "STEAM_n:o:p" "99:z"
Флаг z и приоритет 99 - указывают на то, что вы будете обладать всеми привилегиями и наивысшим приоритетом перед другими админами.

Перезагрузив сервер, можно зайти на него и проверить работоспособность командой sm_admin. Биндим на любую клавишу: bind F1 sm_admin


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

Будьте осторожны! Почитав инструкцию, стало понятно, если у админа есть флаг h (доступ к изменению cvars сервера - команде sm_cvar), он может втихаря узнать RCON пароль сервера, и тогда будет обладать полными правами над сервером (и всех админки лишить не проблема). Для фактов, я проверил это (вырезка из консоли):
 
Консоль cs:go
] sm_cvar
[SM] Usage: sm_cvar <cvar> [value]
] sm_cvar rcon_password
[SM] Значение переменной "rcon_password": "azazazaza"
А теперь убираем флаг "h".
] sm_cvar rcon_password
[SM] У вас нет доступа к этой команде.

Компилируем и устанавливаем SourceMod плагины

Так как у меня выбран режим DeathMatch FFA, где союзники являются противниками, тогда зачем нам союзники на радаре? Получается чит. Я решил, что нужно убрать вообще радар, чтобы не мешался, в таком случае. Поскольку стандартных средств со стороны сервера нет, нужно было искать плагин. 

Итак, качаем исходник ("Get Source"). Disable Radar с forums.alliedmods.net . Копируем в /csgo/addons/sourcemod/scripting . Компилируем, используя скриптик compile.sh следующей командой:
 
Код
cd /home/steam/csgo-ds/csgo/addons/sourcemod/scripting
./compile.sh DisableRadar.sp
cd compiled
mv DisableRadar.smx ../../plugins



Как можно догадаться, скомпилированный плагин создался в каталоге compiled, оттуда его перемещаем в каталог plugins. Теперь он включится при перезагрузке карты (сервера).
Таким же не трудным образом можно поставить хороший плагин статистики (это не стандартный плагин!), например RankMe, позволяющий не использовать и настраивать отдельную базу данных MySQL, а создает свою локальную файловую базу по умолчанию (SQLite).

УРА! На этом, всё :))) Если вы прошли все эти пункты до этого момента, можете себя поздравить - ваш сервер в полной боевой готовности и вы обладаете всеми основными навыками настройки сервера CS:GO!!!
С вами был Александр linkz (WaNTeD) Пудич.

Автор: Александр linkz
- 1 +
поделиться
WaNTeD от 25.01.2016
18491
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Сервера
el.MEJOR Team
Про сервачок
Про серв CS:S
Нужно знать
Наши опросы
Для чего нужен Интернет?
Всего ответов: 1304
Партнеры