Добро пожаловать на GMODE.RU - Форум

Для получения полного доступа к форуму gmode.ru требуется зарегистрироваться, сейчас Вам доступны для просмотра основные темы и открыта тема "Обратная связь", которая служит для общения и вопросов до регистрации, а так же для тех гостей, которые не планируют регистрироваться, но хотели бы что-то спросить.

Dreizehnt

CS:GO
Добавление карт, настройка голосований

Данная тема будет полезна тем, кто не нашёл самостоятельно как настроить карты, списки, смену, голосования или кто «читает книгу и видит фигу» - это основная задача темы. Но так же затронуты аспекты владения конфигурационными файлами, черная магия и мистика - вообщем, обширная инструкция и точно поспособствует знаниям в серверостроении у новичков.

 

Перед началом работы с сервером убедитесь, что не установлены какие-либо плагины взаимодействующие с голосованиями за карту, если у Вас уже установлен SourceMod! Самой частой ошибкой является не выключенный nextmap.smx.

 

1. Базовые знания (необходимые файлы):

         Рассматривать голосования карт планируем на примере «Обычного» (Classic Casual) режима сервера (и уже тут внимательно, если Вам нужен другой режим, то выбирайте и настраивайте «конфиг» Вашего режима, проводя аналогию).

 

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

 

         Далее в зависимости от того как Вы устанавливали сервер, количество и названия конфигурационных файлов может немного разнится между различными установками, а некоторые файлы и вовсе нужно будет создать самим. Так, на игровых хостингах специально подготовленных для работы с игровыми серверами, Вы можете встретить разделение функций на отдельные «конфиги», чтобы Вам как клиенту было удобнее настраивать. И если Вы сменили хостинг или решили установить сервер самостоятельно через утилиту SteamCMD, или более удобную утилиту LGSM, основывающуюся на SteamCMD, то попросту может не быть привычных Вам файлов - не беда, главное понять принцип.

 

         Мы хотим настроить карты и нас интересуют: server.cfggamemodes.txtgamemodes_server.txtgamemodes_casual.cfgmaplist.txtmapcycle.txt и строка запуска.

 

         Строка запуска - это, то с какими параметрами будет работать сервер, какой «тикрейт» будет выбран, какое количество игроков, какие «конфиги» будут подгружаться на запуске (да можете создать любой, положить в папку cfg сервера и добавить в строку Ваш «конфиг» с какими-то параметрами: -exec new_config.cfg, и самое главное отвечает за то какой режим будет выставлен, мы обусловились рассматривать Classic Casual, значит в строке запуска должны быть следующие параметры со значениями ноль (подробнее о режимах здесь в пункте №6):

+game_type 0 +game_mode 0

На хостинге возможно это сделано удобнее и имеется интерфейс пользователя для переключения.

         Как только сделали двигаемся дальше

 

         Файлы server.cfg и gamemodes_casual.cfg –  основные «конфиги», в них записываются переменные настроек сервера (переменными называются сами команды записываемые в такие файлы). Например, в CS:S был один «конфиг» для всего, но в CS:GO много режимов в игре и они разделены на отдельные для удобства. Просто знайте любой gamemodes_***.cfg продолжение server.cfg, а так как мы включили режим «Обычный», то сервер автоматически будет использовать только gamemodes_casual.cfg. И не будет разницы куда добавить нужную Вам переменную, если её нет изначально - главное не два раза записывать переменную.

         

         Теперь очень внимательно gamemodes_casual.cfg - это перезаписываемый «конфиг», это значит, что после каждого обновления сервер будет проверять в порядке ли этот файл и если в нём будут изменения - файл перезапишется и все Ваши настройки произведённые ранее удаляться. Это сделано что бы у Вас как у администратора всегда был рабочий сервер по выставленному режиму в строке запуска, потому что Вы можете испортить режим игры сами того не понимая и не сможете потом вернуть прежние настройки, Valve о Вас позаботились и поэтому трогать gamemodes_casual.cfg вообще не нужно и настраивать что-либо в нём - примите как данность что этот файл «страховочный» и Вам он не нужен, Вам его нужно просто скопировать и назвать gamemodes_casual_server.cfg и положить рядышком в нём-то и нужно производить все настройки - это Ваш файл и никуда он не денется и всё так же автоматически в зависимости от режима будет подгружен сервером.

         Для Вашего понимания цепочка применения настроек такая: Запуск сервера -> Включение режима -> подгрузка server.cfg -> подгрузка  gamemodes_***.cfg -> подгрузка gamemodes_***_server.cfg -> подгрузка всего остального.

 

         Файлы gamemodes.txt и gamemodes_server.txt – это уже настройки режимов, допустимых чисел игроков на режим, настройки моделей игроков, какое оружие допускать в бой, как действовать в определённом режиме и что нас интересует сейчас - какие карты использовать, какую группу карт, в каком порядке. Как Вы могли догадаться использовать нужно gamemodes_server.txt (обычно уже лежит на сервере в виде gamemodes_server.txt.example, стираем .example получаем файл), а gamemodes.txt перезаписываемый файл его не трогаем.

 

         Файлы maplist.txt и mapcycle.txt – это списки карт вашего сервера, которыми он будет пользоваться в зависимости от ваших настроек. list - полный список карт сервера, cycle - очередь запуска согласно списку, можно не все карты добавлять в цикл, обычно не стоит заморачиваться и вставить два одинаковых списка.

 

2. Настройка списков:

 

В CS:GO есть два варианта установки карт на сервер:

  • стандартно;
  • используя мастерскую.

 

Стандартный список:

          Когда все карты загружаются Вами в папку maps, или через Панель управления Вашего хостинга. В этом случае Вам нужно обратиться к файлам: maplist.txt, mapcycle.txt и gamemodes_server.txt.

 

          Для начала определитесь какие карты Вам нужны на сервере, затем впишите два одинаковых списка maplist.txt и mapcycle.txt. Далее открывайте gamemodes_server.txt - настройка этого файла необходимость! Перечитайте ещё раз выше зачем этот файл нужен, если забыли или не поняли.

          Ищем упонимания нашего игрового режима Classic Casual (casual)и сопутствующую ему группу карт mapgroups, в зависимости от метода установки, хостинга файл может иметь разный вид, но одинаковую структуру: режим - его группа карт - сама группа карт:

// РАЗРЫВ, ФАЙЛ ДЛИННЕЕ //

"casual"{



		"maxplayers"		"30"

		"exec"
		{
			"exec"					"server_last.cfg"
		}

		"mapgroupsMP"						// List of mapgroups valid for this game mode ( casual )
		{
			"mg_bomb_se"		""
		}

// РАЗРЫВ, ФАЙЛ ДЛИННЕЕ //

	"mapgroups"
	{
		"mg_bomb_se"									// mapgroup definition
		{
			"name"			"mg_bomb_se"
			"maps"
			{
				"de_dust_se"		""
				"de_dust2_se"		""
				"de_nuke_se"		""
				"de_train_se"		""
				"de_inferno_se"		""
				"de_aztec_se"		""
			}
		}
	}

// РАЗРЫВ, ФАЙЛ ДЛИННЕЕ //

         Здесь нашему режиму соответствует группа mg_bomb_se, её и нужно отредактировать под свои карты, то есть удалить ненужные и дописать свои в такой же форме, это нужно чтобы карты отображались в списке голосования к которому мы уже скоро приступим:

"awp_lego_2"		""
"mg_run_b103"		""

         Вы даже можете создать рядышком свою группу карт и не изменять mg_bomb_se, только это нужно указать в строке запуска! Я рекомендую изменять mg_bomb_se, потому что Вы и так редактируете дублирующий файл, а в запасе сервера всегда есть gamemodes.txt.

 

Список из мастерской:

         Мастерская Steam - это крайне удобная площадка для пользовательских модификаций, дополнений, контента, которая позволяет серверостроителям CS:GO устанавливать карты сообщества на свой сервер.

         Чтобы у Вас всё работало необходимо снова создать ключ (не путать с токеном серверов), только для мастерской: http://steamcommunity.com/dev/apikey - это делается один раз на весь контент созданный Вами в мастерской, необходимо для разработчиков приложений (авторизация на сайте через Steam), для каких-либо веб-скриптов (например система SourceBans). Нам же нужно для работы карт мастерской на сервере. После генерирования смотрите дальше внимательно или в строку запуска вносите команду:

-authkey ВАШ_КЛЮЧ_МАСТЕРСКОЙ

          Или проверьте наличие конфигурационного файла, в который этот ключ можно вписать, на одном из хостингов например, это webapi_authkey.txt

          Дальше Вам необходимо сформировать коллекцию в Мастерской (подробная инструкция с тем что и я написал уже есть здесь, но не рассказан один момент, что пока коллекция без материала, создать её будет невозможно, поэтому предлагаю следовать за мной по картинкам):

Скрытый текст

56.png

 

53455.png

556678.png

6777.png

6777689999999.png

4555.png

66678.png

Вот этот момент, по инструкциям в интернете "чики-пуки" и готово и никто не говорит:

Скрытый текст

56677.png

 

 

           Вам нужно открыть новое окно вашего интернет-барузера перейти в мастерскую - CS:GO - и выбрать нужную Вам карту и добавить её в коллекцию, которая на этапе создания в предыдущем окне:

Скрытый текст

к5656.png

43545.png

 

 

            Теперь вернитесь в окно с публикацией, обновите страничку и жмите "Сохранить и продолжить" и на следующей странице "Опубликовать", теперь там в коллекции есть контент всё пройдет дальше:

Скрытый текст

54656.png

4455.png

 

 

Теперь смотрите номер Вашей новой коллекции в адресной строке браузера:

34534555.png

Так же посмотрите номер карты, которая будет ставится по-умолчанию после рестарта сервера (в примере единственная карта, её и берём):

546566.png

 

             Снова внимание! Решайте как Вам удобнее создать файл start_maps.cfg или autoexec.cfg или же просто в строку запуска вписать параметры карт мастерской. Файл autoexec.cfg запускается автоматически после рестарта, если его нет - создайте и впишите в него используя номера самой коллекции и Вашей стартовой карты параметры (если там есть другие параметры, допишите эти):

host_workshop_collection 973053191
workshop_start_map 921820962

 

          Если хотите использовать другой файл, то в параметры запуска нужно дописать запуск «конфига» (а в самом файле параметры):

-exec start_map.cfg

 

        Так же можно просто вписать в строку запуска параметры от мастерской:

+host_workshop_collection 973053191 +workshop_start_map 921820962

 

        И если Вы используете систему LGSM к примеру, то там имеется удобный «конфиг» взаимодействующий со строкой запуска и туда можно вписать ключ мастерской, коллекцию, стартовую карту - очень удобно:

## Optional: Workshop Parameters
# https://developer.valvesoftware.com/wiki/CSGO_Workshop_For_Server_Operators
# To get an authkey visit - http://steamcommunity.com/dev/apikey
authkey="ВАШ_КЛЮЧ_МАСТЕРСКОЙ"
ws_collection_id="973053191"
ws_start_map="921820962"

 

Что важно знать ещё:

  • карты из мастерской имеют приоритет выше обычных карт, если включена мастерская, то что бы не стояло в параметрах запуска на месте стартовой карты, будет запускаться стартовая мастерской;
  • карты мастерской не надо прописывать в gamemodes_server.txt и необязательно прописывать в maplist.txt и mapcycle.txt;
  • порядок карт в голосовании выставляется порядком в коллекции Мастерской:455677.png
  • кто пользуется плагинами SourceMOD или хочет «админкой» менять карту, то нужно тогда прописывать карты в mapcycle.txt, maplist.txt, adminmenu_maplist.ini, но можете схитрить и не писать полные пути карт workshop/11111/de_syperdust, а просто de_superdust, важна правильная запись лишь в том случае, если две карты мастерской имеют одинаковый индекс (название .bsp), то есть de_dust2_winter от одного автора и от другого писать нужно workshop/54555/de_dust2_winter и workshop/1112546/de_dust2_winter - тогда не будет ошибок, но останется ошибка радара, если карты на сервере играются подряд - радар остаётся от сыгранной ранее карты того же индекса. Рекомендую в adminmenu_maplist.ini написать без дополнительных записей, если нет повторов, а в остальные файлы писать полную.

Функционал Мастерской и карт добавленных обычным способом взаимоисключающий - невозможно смешать карты! Либо Вы устанавливаете карты вручную в папку maps, либо используете Мастерскую и тогда карты все должны быть из Мастерской!

         

3. Настройка переменных:

         Записанные сервером настройки нужных нам переменных, которые мы получаем при первом удачном запуске «Обычного» режима такие: 

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- отвечает за рестарт текущей карты, при значении единица смены карты не происходит, текущая карта не перезапускается, а просто всех игроков отправляет в меню выбора команды и обнуляет счёт, полезна для тех у кого одна карта на сервере, у кого есть предел по раундам или по времени на матч и кто не хочет перезагружать карту полностью.

Почему я написал «записанные сервером»? Потому что абсолютно все переменные используются на сервере, даже если их нет в «конфигах». Если их там нет, то они просто имеют стандартные значения для своего режима. А когда записываем, то выводим их из невидимости и можем присвоить значения.

 

4. Частные случаи:

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

 

 

Отредактируйте цикл карт и gamemodes_server.txt (если не используется Мастерская) под свои нужды. Так же можете пройти в файловую структуру сервера и удалить ненужные карты для экономии места.

 

 

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

 

 

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

 

 

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

 

 

Согласно первому случаю оставляем одну карту, но дописываем в «конфиг» gamemodes_casual_server.cfg переменную mp_match_end_restart 1 и убираем голосование прописываем mp_endmatch_votenextmap 0.

 

 

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

 

 

Пользуемся инструкцией создаем список и дописываем в «конфиг» gamemodes_casual_server.cfg переменную mp_match_end_changelevel 1

 

 

 

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

 

 

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

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

б) Настроить как в случае 1, но нужно будет скачать карты из мастерской. Скачать карту просто – подписываетесь на карту в Steam, дальше идёте в файлы вашего игрового клиента… в Вашей «Библиотеке» игр находите CS:GO, жмёте правой кнопкой мыши, потом «Свойства» => «Локальные файлы»  => «Просмотреть локальные файлы», идёте в maps/workshop/111111 и скачиваете, например, de_superdust.bsp. Эту карту перемещаете в maps сервера, дальше прописать в gamemodes_server.txt эту карту, прописать в maplist.txtmapcycle.txt.

 

 

5. Как перейти от настроенного голосования CS:GO к голосованию SourceMOD:

         Ядро SourceMOD позволяет настроить голосования своими методами, в наше поле зрения должны попасть стандартные плагины идущие с ядром:

mapchooser.smx - это основа голосований, в основном чтобы голосование в конце карты запускалось, ставится в обязательном порядке для rockthevote и nominations;

nextmap.smx - плагин последовательного запуска карт, в принципе не нужен, в СS:GO есть переменная аналог mp_match_end_changelevel 1;

nominations.smx - плагин предложения карты на следующий матч в общем голосовании;

randomcycle.smx - случайный порядок списка карт;

rockthevote.smx - возможность игроков вынудить сервер сменить карту.

 

        Всё очень просто (читайте инструкцию, с начала, там о всех файлах и переменных подробно):

1. Устанавливаем значение стандартного голосования (выключаем его):

mp_endmatch_votenextmap 0

 

2. Идём в плагины. По умолчанию некоторые плагины выключены, нам нужно из папки disabled в директории плагинов Вашего сервера перетащить нужные и перезапустить сервер. Например для сервера с rtv и nominate нужно что бы включены были: mapchooser.smx, nominations.smx и rockthevote.smx;

 

3. Важно что бы Ваши maplist.txt, mapcycle.txt были настроены, в них нужно прописать карты:

  • в случае карт мастерской нужно писать так:
workshop/4545309/de_dust2
workshop/23244453/de_dust
workshop/7834253/de_dust_winter
  • в случае карт загруженных обычным способом:
de_dust2
de_dust
de_dust_winter

 

6. Стандартные голосования через меню [ESC]:

sv_allow_votes
Включает или отключает возможность голосования на сервере. Значение по умолчанию — 1 (включено).

sv_vote_allow_spectators
Разрешает или запрещает участие в голосовании наблюдателей. Значение по умолчанию — 0 (запрещено).

sv_vote_failure_timer
Время (в секундах), по прошествии которого голосование может быть снова начато, если оно провалилось в предыдущий раз. Значение по умолчанию — 300 (5 минут).

sv_vote_issue_kick_allowed
Включает или отключает возможность голосования за отключение (в простой речи: кик) игрока. Значение по умолчанию — 0 (отключено).

sv_vote_kick_ban_duration
Время (в минутах), по прошествии которого игрок сможет вернутся на сервер, если его выгнали. Значение по умолчанию — 1. Значение 0 отключает эту функцию. В таком случае изгнанный игрок сможет почти сразу вернутся.

sv_vote_issue_nextlevel_allowed
Включает или отключает возможность начать голосование за выбор следующей карты. Значение по умолчанию — 1 (разрешено).

sv_vote_issue_nextlevel_allowextend
Разрешает или запрещает голосовать за продление текущей карты. Значение по умолчанию — 1 (разрешено).

sv_vote_issue_nextlevel_choicesmode
Разрешает или запрещает игрокам выбирать следующую карту из списка карт с наименьшим игровым временем. Значение по умолчанию 1 (разрешено).

sv_vote_issue_changelevel_allowed
Разрешает или запрещает сменить текущую карту сразу после окончания голосования. Значение по умолчанию 0 (запрещено).

sv_vote_issue_restart_game_allowed
Включает или отключает возможность голосования за переигрывание раунда. Значение по умолчанию 1 (включено).

sv_vote_issue_scramble_teams_allowed
Включает или отключает возможность голосования за смешивание команд. Значение по умолчанию 1 (включено).

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

 

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

-usercon

 

Впервые данная тема опубликована на форуме хостинга MyArena.ru мной же.

 

Данная тема переписана на широкую аудиторию, подразумевая, что я не знаю на каком хостинге Вы расположили сервер и каким методом установили сервер, более-менее понятно объясняя для всех.

 

Прошу при копировании материала с форума хостинга MyArena.ru или данного сайта указывать рабочие ссылки на данные статьи.

0

Поделиться сообщением


Ссылка на сообщение

Этот долбанутый редактор нихрена не сохраняет)

0

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас