Добавление и ротация карт, с голосованием и без

ВАЖНО! Перед тем как что-либо делать с сервером, убедитесь что не включены никакие плагины для голосования или смены карт, если у Вас установлен Sourcemod. Частой проблемой является включенный по-умолчанию плагин nextmap.smx.
Из «коробки» вы получаете 7 конфигурационных файлов, которые нас интересуют: server.cfg, gamemodes.txt, gamemodes_casual_server.cfg, gamemodes_server.txt, maplist.txt, mapcycle.txt, autoexec.cfg, webapi_authkey.txt.
  • Файлы server.cfg и gamemodes_casual_server.cfg - основные «конфиги», в них записываются переменные настроек сервера (переменными называются сами команды записываемые в такие файлы). Раньше был один «конфиг» для всего, но у нас много режимов в игре, разделены, просто знайте gamemodes_casual_server.cfg продолжение server.cfg, не будет разницы куда добавить нужную вам переменную, если её нет изначально в стандартном «конфиге», главное не два раза. Рекомендую server.cfg не трогать, а всё настроить и добавлять в gamemodes_casual_server.cfg.
  • Файлы gamemodes.txt и gamemodes_server.txt - это уже настройки режимов, допустимых чисел игроков на режим, какие карты использовать, в каком порядке, какое оружие допускать в бой, как действовать в определённом режиме.
  • Файлы maplist.txt и mapcycle.txt - это списки карт вашего сервера, которыми он будет пользоваться в зависимости от ваших настроек.
  • Файл autoexec.cfg понадобится, если нужно правильно поставить карты из мастерской.
  • Файл webapi_authkey.txt пустой, в него нужно вписать ключ от мастерской, это делается один раз на все коллекции: http://steamcommunity.com/dev/apikey

Необходимые настройки:

  • mp_match_can_clinch 1 - если у вас 15 раундов, то при наборе больше половины (8 раунов) эта команда побеждает, т.к. у другой команды нет возможности отыграться;
  • mp_maxrounds 15 - количество раундов на карту;
  • mp_timelimit 0 - время на карту, если установлено число раундов, то время указывать нельзя (ставить 0 нужно), это две взаимоисключающие команды.
  • mp_endmatch_votenextmap 1 - отвечает за голосование в конце матча, если у вас 15 раундов, то после 15 раундов будет голосование в течении 20 секунд за выбор карты, для отключения нужно поставить ноль (0);
  • mp_endmatch_votenextleveltime 20 - те самые 20 секунд времени голосования;
  • mp_endmatch_votenextmap_keepcurrent 1 - позволяет включить принудительно в список сыгранную только что карту или предоставить всё воле случая, если поставить значение ноль (0);
  • mp_match_end_changelevel 1 - отвечает за «автосмену» карты в конце матча, данная переменная пользуется вашим mapcycle.txt, если он пустой, то не произойдёт смены карты на другую, а запустит заново текущую, при включенном голосовании можно переменную оставить;
  • mp_match_end_restart 1- отвечает за рестарт текущей карты, при значении единица смены карты не происходит, текущая карта не перезапускается, а просто всех игроков отправляет в меню выбора команды и обнуляет счёт, полезна для тех у кого одна карта на сервере, у кого есть предел по раундам или по времени на матч и кто не хочет перезагружать карту полностью.
Функционал мастерской и карт добавленных обычным способом взаимоисключающий - невозможно смешать карты! Либо Вы устанавливаете карты вручную в папку maps, либо используете мастерскую и тогда карты все должны быть из мастерской.

Частные случаи на примере режима «Обычный»:

«Мне всё нравится, но хочу оставить 5 карт на сервере».

  1. Для этого идёте в панель управления, далее во все карты и удаляете карты, если Вам необходимо место на жёстком диске сервера.
  2. Ещё там же независимо от того удалили карты или нет, зайти в ротацию карт и список карт, там карты нужно стереть. Можете просто зайти через «конфиги» maplist.txt, mapcycle.txt и там стереть запись о картах.
  3. Далее идёте в gamemodes_server.txt и внимательно ищем наш режим, читаем подписи! Нас интересуют строки с надписями «Обычный» режим или casual.
  4. Нам нужна группа карт режима (mapgroup), которые он использует в голосовании, листаем в самый низ до слов // Группа карт "mg_custom" режима игры: Сustom (Свой режим), под этой записью видим карты. Которые используются в голосовании, ненужные стираем вместе с кавычками, убираем пробелы. Главное, что бы карты были в столбик и с нужным количеством кавычек, соблюдать отступ слева необязательно.
  5. После этого останется 5 карт, которые будут на сервере, за которые можно будет проголосовать в конце матча.

«Я хочу одну карту крутить на сервере всегда».

  1. Аналогично вышеизложенному способу оставляем одну карту и дописываем в «конфиг» в gamemodes_casual_server.cfg переменную mp_endmatch_votenextmap 0 и ещё mp_match_end_changelevel 1.
  • напоминаю, в «Обычном» режиме переменная равна единице, если нужно голосование, то её прописывать не нужно, а если нужно выключить как в нашем случае, то нужно прописать)

2. Теперь при окончании матча (по времени или по раундам), сервер сделает перезагрузку карты. Можете самостоятельно загрузить карту, можете воспользоваться инструкцией и сделать карту из Workshop, создав коллекцию с одной картой.

«Я хочу одну карту без перезагрузки».

  1. Делаем тоже самое, что и во втором способе, но mp_match_end_changelevel 0 и добавляется ещё одна переменная mp_match_end_restart 1 (не забываем mp_endmatch_votenextmap 0).

«Я хочу поставить все карты из мастерской и с голосованием».

  1. Пользуемся инструкцией: Установка_карт_из_Мастерской
  2. Дописываем в «конфиг» mp_match_end_changelevel 1
  • в инструкции сказано, что нужно карты прописать в mapcycle.txt - это необязательно как по мне, на всякий случай пишите, у меня работало без этого с голосованием и без, потому что работает так будто коллекция важнее настроек, которую вы в autoexec.cfg уже указали и этого достаточно.

3. Карты в голосовании после матча появятся автоматически, в gamemodes_ server.txt ничего не нужно писать или исправлять.

«Я хочу смешать карты из мастерской с обычными картами и чтоб с голосованием».

В этом случае есть два способа:

  • а) Настроить как в пункте 4, но в коллекцию добавить обычную карту, все обычные карты есть в мастерской (авторство - CS:GO Official);
  • б) Настроить как в пункте 1, но нужно будет скачать карты из мастерской.

Скачать карту просто:

  1. подписываетесь на карту в Steam
  2. дальше идёте в файлы вашего игрового клиента…
  3. в Вашей «Библиотеке» игр находите CS:GO, жмёте правой кнопкой мыши, потом «Свойства» => «Локальные файлы» => «Просмотреть локальные файлы»
  4. идёте в maps/workshop/111111 и скачиваете, например, de_superdust.bsp.
  5. Эту карту через FileZilla перемещаете в maps сервера, дальше прописать в gamemodes_server.txt эту карту, прописать в maplist.txt, mapcycle.txt.
Кто пользуется плагинами «сорсмод» или хочет «админкой» менять карту, то нужно тогда прописывать карты в mapcycle, maplist, admins_mapist, но можете схитрить и не писать workshop\11111\de_syperdust, а просто de_superdust, важна правильная запись лишь в том случае, если две карты мастерской имеют одинаковый индекс (название .bsp), т.е. de_dust2_winter от одного автора и от другого писать нужно workshop/54555/de_dust2_winter и workshop/1112546/de_dust2_winter - тогда не будет ошибок, но останется ошибка радара, если карты на сервере играются подряд, то радар остаётся от сыгранной ранее карты того же индекса. Рекомендую в админ-меню (adminmenu_maplist.ini) написать без дополнительных записей, если нет повторов, а в остальные файлы писать полную.