Пустой сервер в браузере выглядит мёртвым, и первый заходящий игрок обычно уходит через двадцать секунд. Боты на CS2 сервере решают эту задачу — держат видимость жизни, дают размяться в одиночку и заполняют неполные команды, когда кто-то отвалился посреди матча. Обратная сторона: если их не настроить, они будут занимать слоты, мешать матчу и стрелять точнее половины паблика. Разберём переменные, которыми это управляется.
Сколько ботов держать на CS2 сервере: bot_quota
bot_quota задаёт количество ботов, но смысл числа зависит от режима:
bot_quota 10
bot_quota_mode fillРежимы bot_quota_mode:
| Режим | Как работает | Когда брать |
|---|---|---|
normal | Всегда столько ботов, сколько указано в bot_quota, независимо от числа людей | Редко: быстро упирается в лимит слотов |
fill | Боты дополняют команды до общего числа bot_quota; зашёл человек — бот вышел | В 90% случаев |
match | Число ботов привязано к числу игроков в соотношении, заданном bot_quota | Редко |
Практический набор для паблика, который должен выглядеть живым:
bot_quota 8
bot_quota_mode fill
bot_join_after_player 0bot_join_after_player 0 разрешает ботам находиться на сервере до прихода первого человека — иначе в браузере он всё равно будет показан пустым.
Учтите, что боты считаются в общем лимите слотов. Если стоит sv_visiblemaxplayers, значение подгоняйте отдельно, иначе сервер будет выглядеть забитым и новые игроки не станут заходить.
Сложность
bot_difficulty 2Шкала от 0 до 3: 0 — easy, 1 — normal, 2 — hard, 3 — expert. На паблике для новичков bot_difficulty 1 уже достаточно жёстко: боты стреляют без задержки на реакцию и не мажут по движущейся цели так, как это делает человек.
Есть автоподстройка под уровень игроков:
bot_autodifficulty_threshold_low -2.0
bot_autodifficulty_threshold_high 1.0Значения — отклонения от среднего скилла на сервере. Механика работает, но грубо, и на смешанном пабликe даёт странные качели. Чаще проще зафиксировать сложность вручную.
Отдельно можно подрезать ботам дальность обнаружения, чтобы они не снимали через всю карту:
bot_max_vision_distance_override 1200Имена и внешний вид
По умолчанию боты подписаны стандартными именами и легко опознаются в скорборде. Своя пачка имён кладётся в файл:
game/csgo/botprofile.dbФормат — профили ботов с параметрами навыка и списком имён. Файл большой, но править нужно только секцию имён, если задача — просто убрать очевидные «Cerberus» и «Zach».
Префикс перед именем задаётся так:
bot_prefix ""Пустая строка убирает приписку. Некоторые админы ставят туда что-то вроде [BOT], чтобы не вводить людей в заблуждение — вопрос честности перед аудиторией, технически работает и так и так.
Управление составом вручную
Для точечных задач есть прямые команды:
bot_add_ct
bot_add_t
bot_kick
bot_killbot_kick без аргументов выкидывает всех ботов, с именем — конкретного. Полезно перед стартом матча, когда bot_quota 0 ещё не применился.
Через RCON эти же команды работают удалённо, не заходя на сервер.
Боты на CS2 сервере для тренировки
Отдельный сценарий — сервер для отработки раскидок и стрельбы. Тут боты нужны как мишени, а не как противники:
sv_cheats 1
bot_stop 1
bot_dont_shoot 1
bot_freeze 1
mp_autoteambalance 0
mp_limitteams 0bot_stop 1— боты стоят на месте.bot_dont_shoot 1— не стреляют вообще.bot_freeze 1— заморожены полностью.
Дальше бота можно поставить в нужную точку: встаёте, куда надо, и выполняете bot_place. Это база любого практис-конфига; готовые сценарии тренировок разобраны в блоге в статье про сервер для практики.
Не забудьте: sv_cheats 1 на публичном сервере оставлять нельзя. Держите тренировочные настройки в отдельном конфиге и подключайте его через exec, как описано в статье про server.cfg.
Отключение ботов перед матчем
На матчевом сервере боты не нужны совсем — они ломают логику готовности и счёт раундов:
bot_quota 0
bot_kickОбе строки, а не только первая: bot_quota 0 запрещает новых, bot_kick убирает уже присутствующих. Обычно это уже прописано в конфигах MatchZy, но если вы собираете турнирный сервер вручную, проверьте — подробности в статье про установку MatchZy.
Что чаще всего идёт не так
- Боты не появляются. Проверьте, что
bot_quota_modeнеfillпри пустом сервере вместе сbot_join_after_player 1— в такой связке они ждут человека. - Боты занимают все слоты. Режим
normalвместоfill. - Боты стоят в спавне. Карта без навигационной сетки. Кастомные карты часто идут без
.nav-файла; сгенерировать можно командойnav_generateна локальном сервере, но на больших картах это занимает минуты. - Боты слишком меткие. Снижайте
bot_difficultyи режьтеbot_max_vision_distance_override. - После обновления игры настройки слетели. Часть переменных Valve переименовывает между патчами — сверяйтесь после обновления сервера.
Частые вопросы
Помогают ли боты набрать реальных игроков?
Частично. Заполненный сервер в браузере кликают чаще, чем пустой. Но если человек зашёл и понял, что играет один против ботов, он уйдёт. Работает связка: боты плюс реальная активность в Discord и первые несколько живых игроков в прайм-тайм.
Можно ли выдать ботам конкретное оружие?
Да, через bot_all_weapons, ограничения по типам оружия и профили в botprofile.db. Для тренировочного сервера проще выдавать оружие себе, а ботов держать замороженными.
Нужны ли боты на сервере с плагинами?
Многие режимы вроде retake и deathmatch управляют ботами самостоятельно через плагин. В таком случае ручной bot_quota из server.cfg будет перезаписан — смотрите настройки конкретного плагина в разделе плагинов и модов.
Коротко
Для паблика: bot_quota_mode fill, bot_quota в районе 8–10, сложность 1–2. Для тренировки: bot_stop, bot_dont_shoot, bot_place. Для матча: bot_quota 0 плюс bot_kick. Всё остальное — тонкая настройка под конкретную аудиторию.
Если нужен сервер, на котором эти конфиги можно править прямо из панели и мгновенно перезапускать, — тарифы CS2 тут.