Боты в Garry's Mod: NPC, Nextbot, серверные RP-боты
Гид по ботам Garry's Mod: NPC от Valve, Nextbot, DrGBase, sb_advanced_nextbots. Установка, спавн через консоль, лимиты и производительность сервера.
Боты в Garry’s Mod бывают разными - от ленивых NPC из Half-Life 2, которые тупо стоят на месте, до мем-ботов из Workshop, которые гоняются за игроком через всю карту с криками. В этом гайде разбираем все типы ботов, как их ставить, спавнить и не положить сервер на 10 NPC. Будут команды, конфиги и примеры расчёта нагрузки.
Типы ботов в Garry’s Mod
В GMod нет одной системы “ботов” - есть несколько разных технологий, унаследованных от Source-движка и наслоённых поверх Garry’s Mod.
| Тип | Технология | Pathfinding | Нагрузка | Примеры |
|---|---|---|---|---|
| NPC (Valve) | Source AI | Только nodegraph | Низкая | npc_combine_s, npc_zombie, npc_metropolice |
| Nextbot | GMod 13 framework | Nav mesh | Средняя | nextbot_chase, SCP-173 |
| Player Bots | bot_add (CS:S) | Простой waypoint | Низкая | bot_add, fake-игроки |
| DrGBase | Lua-фреймворк | Nav + Lua AI | Высокая | DrGBase Zombies, custom |
| sb_advanced_nextbots | NextBot 2.0 база | Nav + поведенческие деревья | Средняя | Custom RP-NPC |
Каждый тип задумывался для своих целей: Valve-NPC для линейных сценок типа Half-Life, Nextbot для свободного передвижения по большим картам, DrGBase для зомби-нашествий с продвинутым AI.
Pterohost - игровой хостинг с DDoS-защитой, NVMe SSD и круглосуточной поддержкой. Промокод 4START даёт -20% на первый заказ. Заказать сервер Garry’s Mod
NPC от Valve: классика Source
Это сущности из Half-Life 2 и Counter-Strike Source, перенесённые в GMod как есть. Они используют старый Source AI: видят через линию взгляда, ходят по nodegraph (если он есть на карте), стреляют по врагам.
Список основных классов
| Класс | Откуда | Особенности |
|---|---|---|
npc_combine_s | HL2 | Солдат Альянса, агрессивный, неплохо стреляет |
npc_zombie | HL2 | Зомби, медленный, дамаг по контакту |
npc_fastzombie | HL2 | Быстрый зомби, прыгает |
npc_zombine | HL2:Ep1 | Зомби-солдат, может бежать |
npc_antlion | HL2 | Антлион, прыгает, агрессивный |
npc_metropolice | HL2 | Городская полиция, реже стреляет |
npc_headcrab | HL2 | Хедкраб, прыгает на лицо |
npc_manhack | HL2 | Летающий дрон с пилой |
npc_strider | HL2 | Огромный шагающий робот |
npc_helicopter | HL2 | Боевой вертолёт Альянса |
Спавн через консоль
Базовая команда:
npc_create npc_combine_s
Спавнит NPC в той точке, куда смотрит игрок. Если негде встать (NPC застрял в стене) - команда тихо проваливается, в консоли только Failed to create entity.
Альтернативы:
npc_create_aimed npc_zombie // спавн с поворотом в сторону прицела
ent_create npc_strider // универсальная команда для любых сущностей
npc_create_equipment weapon_ar2 npc_combine_s // солдат с AR2
Для RP-сервера через ULX-команду можно добавлять NPC игрокам по правам:
!npcaddpermission user moderator npc_combine_s
(Команда не из коробки ULX, обычно из плагина NPC Spawn Restrict.)
Лимит и управление
sk_max_npc_count - максимум NPC на карте, по умолчанию 32. Можно поднять, но каждое тело отъедает CPU.
ai_disabled 1 - заморозить весь AI, удобно для скриншотов и записи. ai_disabled 0 - вернуть.
npc_thinknow - принудительно вызвать AI-тик у выделенного NPC (отладка).
npc_kill - убить NPC под прицелом.
ent_remove_all npc_zombie - удалить всех зомби с карты.
Nextbot - современный AI для GMod
Nextbot - фреймворк, который Valve добавил в Left 4 Dead 2 для умных зомби, и Garry Newman портировал в GMod. Главное отличие от классических NPC - pathfinding через nav mesh (а не nodegraph): Nextbot может найти путь по любой карте, где есть валидный navmesh.
Чтобы Nextbot нормально работал, карта должна быть проанализирована командой nav_generate (генерируется один раз и сохраняется в maps/<name>.nav). На картах из Workshop nav-меш часто отсутствует - тогда Nextbot тупо стоят на месте.
Базовый класс nextbot
В GMod есть встроенная сущность next_bot (или nextbot_chase в зависимости от версии). Полезна для разработки кастомных ботов через Lua.
Спавн стандартного Nextbot:
nb_create
или через ent_create:
ent_create next_bot
sb_advanced_nextbots (Star Bot / advanced_npcs)
Workshop ID: 1316765751. Один из самых популярных аддонов Nextbot - добавляет систему “умных NPC” с продвинутым AI: они стреляют, прячутся, аптечки подбирают, общаются голосом.
Установка через Workshop-коллекцию (см. гайд по аддонам). После добавления появляются:
- Категория NPCs -> Advanced Bots в спавн-меню.
- Команда
sb_advanced_nextbots_spawn <name>для консольного спавна. - ConVar
sb_advanced_nextbots_loadoutдля настройки экипировки.
Конфиг через ConVars (в server.cfg):
sb_advanced_nextbots_max 10 // макс ботов на карте
sb_advanced_nextbots_aimspeed 5 // скорость прицеливания
sb_advanced_nextbots_voice 1 // голосовые реплики
sb_advanced_nextbots_difficulty 2 // 1=easy, 2=normal, 3=hard
Эти боты неплохо подходят для замены живых игроков на пустых серверах - заходишь, добавляешь 5 ботов, и сервер выглядит живым.
SCP / Backrooms / Horror Nextbot
В Workshop сотни мем-ботов: SCP-173 (стоит, пока на него смотришь, иначе телепортируется к игроку), SCP-096 (бежит к игроку, увидевшему его лицо), Backrooms Smiler, Jeff The Killer и так далее.
Установка: подписаться или добавить в Workshop-коллекцию. Спавн через категорию NPCs -> SCP Nextbot. Каждый бот - отдельная сущность с уникальным классом (npc_scp173, npc_backrooms_smiler и т.д.).
Полезные команды:
ent_remove_all npc_scp173 // убрать всех SCP-173 с карты
ent_setname scp1 // переименовать выделенного для скриптов
ent_keyvalue npc_scp173 speed 200 // изменить скорость
DrGBase - зомби-апокалипсис и кастомные NPC
DrGBase - база для создания продвинутых Nextbot-ов с поведением. На ней сделаны популярные паки зомби (DrGBase Zombies), Resident Evil-NPC, Skyrim-NPC.
Установка - аддон DrGBase из Workshop (ID 2026047339) + контент-паки.
После установки в категории NPC появляются группы DrGBase. Спавн через стандартный NPC-меню. Боты этого фреймворка значительно тяжелее обычных Nextbot - 8-10 одновременно уже грузят сервер.
Конфигурация (через ConVars):
drgbase_max_combatants 30 // глобальный лимит DrGBase NPC
drgbase_pathfinding_lod 1 // 1 = упрощённый pathfinding (экономия CPU)
drgbase_ragdoll_lifetime 30 // секунды жизни ragdoll-ов
drgbase_npc_can_open_doors 1 // могут ли NPC открывать двери
bot_add - serverside-боты для PvP
Команда bot_add создаёт fake-игрока, который занимает слот, ходит, стреляет (на TTT и в DarkRP с примитивной логикой). По сути - переименованный CS:S-бот, портированный в GMod.
bot_add // добавить бота
bot_add_t // добавить за террористов (TTT)
bot_add_ct // добавить за CT (Counter-Strike Source mount нужен)
bot_kick // убрать всех ботов
ConVars:
bot_quota 5 // автоматически держать 5 ботов на сервере
bot_quota_mode normal // normal или fill (заполнить пустые слоты)
bot_difficulty 1 // 0-3
bot_chatter normal // off/minimal/normal/verbose
bot_join_team any // any/ct/t (для TTT не работает)
На DarkRP bot_add создаёт игрока с именем “Bot01” и без поведения - просто болванчик в спавне. Полезно для тестирования спавн-меню, защиты от подключений и работы плагинов на пустом сервере.
RP-боты: NPC для тестирования DarkRP
На DarkRP-серверах часто нужны NPC-фишки: NPC-продавец оружия, NPC-банк, NPC-полиция. Это не “боты” в смысле AI - это DarkRP entities с прикручёнными моделями NPC.
Стандартные NPC DarkRP:
darkrp_money_printer- принтер денег.darkrp_gunlab- стол оружейника.- Кастомные NPC через
addCustomNPCвlua/darkrp_customthings/:
TEAM_GUN_DEALER_NPC = {
name = "Gun Dealer NPC",
model = "models/Humans/Group01/Male_07.mdl",
pos = Vector(-500, 1200, -120),
angle = Angle(0, 90, 0),
shipments = {"M9K AK-47", "M9K Desert Eagle"},
}
addCustomNPC(TEAM_GUN_DEALER_NPC)
Это не AI-боты, а статичные NPC-торговцы. Полная настройка - в гайде по DarkRP.
Для динамических RP-NPC (бродящие по городу, реагирующие на игроков) ставят аддоны типа RP NPC Citizens или Real CSS Bots NPC.
Производительность: сколько ботов потянет сервер?
GMod-сервер однопоточный, и каждый AI-тик NPC съедает часть CPU. Точные цифры зависят от сложности AI и карты.
Эмпирические данные с серверов на VPS с CPU 3.5 ГГц single-thread:
| Тип бота | Безопасный лимит | Когда начинаются лаги |
|---|---|---|
npc_combine_s (с оружием) | 30-40 | После 50 |
npc_zombie | 50-70 | После 80 |
| Стандартный Nextbot | 15-20 | После 25 |
| sb_advanced_nextbots | 10-12 | После 15 |
| DrGBase Zombie | 8-10 | После 12 |
| SCP-Nextbot тяжёлый | 5-7 | После 8 |
Когда лагает - в консоли видны строки Server is choking и Net packet drops. Тик сервера падает с 33 до 5-10, игроки начинают видеть микрорывки.
Профилирование
Включите профайлинг AI:
ai_show_think_tolerance 1
Команда покажет на экране тайминги AI-тиков NPC. Если конкретный тип ботов даёт >10 мс - сократите их количество.
net_graph 3 - сетевая статистика, отражает общую перегрузку сервера.
stats - команда для админа, покажет CPU/Memory usage сервера.
Оптимизация AI
sk_npc_dmg_buckshot 8 // снизить дамаг = меньше расчётов в крови/частицах
ai_force_serverside_ragdoll 0 // ragdoll-ы только на клиенте, сервер не считает физику
phys_timescale 1.0
g_ragdoll_maxcount 8 // лимит ragdoll'ов
ai_LOS_mode 1 // упрощённая проверка линии взгляда
g_ragdoll_maxcount критично - 100 трупов на карте после стрельбы съедают CPU из-за физики.
ULX и боты: ограничения по правам
Чтобы только админы могли спавнить ботов на публичном сервере, используйте ULX-restrict (часть настройки ULX). Файл garrysmod/data/ulx/cl_restrictions.txt:
"NPCs"
{
"npc_combine_s"
{
"groups"
{
"1" "superadmin"
}
}
"npc_strider"
{
"groups"
{
"1" "superadmin"
}
}
}
Без этого любой пользователь сможет заспавнить npc_strider (огромный шагающий робот) и положить сервер.
Альтернатива - запретить категорию NPCs целиком для не-админов через ULX-меню (Restrictions -> NPCs -> deny for “user”).
Кастомные боты: разработка собственных
Создание Nextbot - тема для отдельного гайда, но базовый каркас в Lua выглядит так:
-- garrysmod/addons/my_nextbot/lua/entities/my_bot/init.lua
AddCSLuaFile("shared.lua")
include("shared.lua")
function ENT:Initialize()
self:SetModel("models/player/kleiner.mdl")
self:SetHealth(100)
end
function ENT:RunBehaviour()
while true do
local target = self:GetClosestPlayer()
if target then
self.loco:SetDesiredSpeed(200)
self:MoveToPos(target:GetPos())
if self:GetPos():Distance(target:GetPos()) < 50 then
target:TakeDamage(10, self, self)
end
end
coroutine.yield()
end
end
function ENT:GetClosestPlayer()
local closest, dist = nil, math.huge
for _, ply in ipairs(player.GetAll()) do
if ply:Alive() then
local d = self:GetPos():Distance(ply:GetPos())
if d < dist then closest, dist = ply, d end
end
end
return closest
end
Это минимальный Nextbot, который преследует ближайшего игрока и наносит 10 урона при контакте. Для продакшена нужно добавить состояния (idle, chase, attack), валидацию nav mesh, обработку прыжков и стрельбу.
Pterohost - игровой хостинг с DDoS-защитой, NVMe SSD и круглосуточной поддержкой. Промокод 4START даёт -20% на первый заказ. Заказать сервер Garry’s Mod
FAQ
Как добавить ботов на сервер Garry’s Mod?
В Sandbox через консольную команду npc_create npc_combine_s или через спавн-меню вкладки NPCs. Для Nextbot - sb_advanced_nextbots аддон с командой sb_advanced_nextbots_spawn. Для RP-серверов используйте DrGBase или специальные ULX-плагины с командами !bot или !npcadd.
В чём разница между NPC и Nextbot?
NPC - стандартные сущности Source-движка с заложенным Valve AI (npc_combine_s, npc_zombie). Nextbot - современный фреймворк Garry’s Mod для умных ИИ с pathfinding на nav-меше: они умеют преследовать игроков через карту, открывать двери, прыгать. Большинство мем-ботов (SCP, Backrooms) - Nextbot.
Сколько ботов потянет сервер GMod?
Стандартные npc_combine_s - до 30-50 на современном CPU без лагов. Nextbot тяжелее: 10-15 одновременно. Тяжёлые AI типа DrGBase с прокладкой путей и сложной логикой - 5-8. Лимит общий регулируется sk_max_npc_count, по умолчанию 32.
Какие команды для спавна ботов в Garry’s Mod?
npc_create <classname> - создать NPC на месте прицела. npc_create_aimed - аналог с прицеливанием. nb_create <classname> - спавн Nextbot. bot_add - добавить serverside-бота (играет как живой). sb_advanced_nextbots_spawn <name> - спавн умного NPC из этого аддона.
Как отключить ботов на сервере?
Команда ai_disabled 1 заморозит весь AI. ent_remove_all npc_* удалит всех NPC. Для Nextbot - ent_remove_all nextbot. В DarkRP полезно ограничить спавн через ULX-restrict категорию NPC для определённых рангов.
Какие самые популярные боты в GMod 2026?
Топ - SCP-Nextbot (SCP-173, SCP-096), Backrooms Nextbot, Player Model Bots для роли мирных жителей в DarkRP, DrGBase зомби-нашествие, Halloween-Nextbot (Jeff The Killer и подобные мемы). Для тренировки PvP-навыков - bots from Counter-Strike Source через bot_add.