Проблемы с переносом карт из Garry's mod в CS : Source!!!

Denis345770228

Участник
Сообщения
19
Реакции
5
Всем доброй/ночи/дня/ или вечера, в общем у меня кое какие проблемы с портированием карт, не так давно я стал переделывать Gmod'овские карты лично для себя в CS:S, и тут дело собственно в том что на некоторых больших картах, при игре будь то с Ботами или игроками, очень сильно лагает!? Скажем если на карте играют 30 или выше ботов/игроков, то начинает жутко лагать, играть становится невозможно, я не очень понимаю в картоделании и вообще в модинге плохо шарю, поэтому может кто нибудь дасть какой нибудь совет, да и скажу сразу Железо/ПК у меня нормальное, видюха тоже отличная, поэтому я думаю что на картах присутствуют возможно какие нибудь Gmod'овские фичи или настройки, из за которых и лагает, ну в общем не разберу что к чему!?
 

DarkerZ

Участник
Сообщения
418
Реакции
195
Из опыта скажу, есть веселье с моделями. Их обязательно нужно компилить под нужную игру. Так же есть проблема с физикой модели, если на ней стоят много игроков, то начинает лагать, бывает даже если в модель упрётся один игрок, то тоже лагает. Лучше юзать браши/func_detail. Браши создают листья, если вручную не оптимизировать тоже будет нехорошо. Лимит энтитей/эдиктов в 4 раза меньше чем в гарисмоде
Сообщения автоматически склеены:

И вы не уточнили что у вас лагает. Фпс проседает на клиенте или sv и var у вас проблемы
Сообщения автоматически склеены:

И рейты так же не указали
 
Последнее редактирование:

Denis345770228

Участник
Сообщения
19
Реакции
5
Из опыта скажу, есть веселье с моделями. Их обязательно нужно компилить под нужную игру. Так же есть проблема с физикой модели, если на ней стоят много игроков, то начинает лагать, бывает даже если в модель упрётся один игрок, то тоже лагает. Лучше юзать браши/func_detail. Браши создают листья, если вручную не оптимизировать тоже будет нехорошо. Лимит энтитей/эдиктов в 4 раза меньше чем в гарисмоде
Сообщения автоматически склеены:

И вы не уточнили что у вас лагает. Фпс проседает на клиенте или sv и var у вас проблемы
Сообщения автоматически склеены:

И рейты так же не указали
Да, рейты у меня стоят такие - rate 100000, (cl_updaterate 66, cl_cmdrate 66 стоят по стандарту) что касается лагов. То именно это я и пытаюсь понять, что именно создает лаги, возможно какие то энтити, или браши, хотя мне кажется что дело больше всего в каком то браше и возможно даже триггере, так как лагать начинает по всей карте разом, хотя у меня недавно карта отказывалась компилироватся, все дело было в траве, пришлось открывать текстуру травы и прописать ей невидимость.. и только тогда компиляция карты произошла с изминениями, да и это далеко не первая огромная карта которая лагает есть еще большенство таких карт, я еще думаю что дело так же возможно в - player_entity такие как terrorist_entity и counterterrorist_entity, потому что лагает именно тогда когда игроков/ботов на карте примерно 9×20 и выше..
 

Synd1qate

Участник
Сообщения
865
Реакции
335
Да, рейты у меня стоят такие - rate 100000, (cl_updaterate 66, cl_cmdrate 66 стоят по стандарту) что касается лагов. То именно это я и пытаюсь понять, что именно создает лаги, возможно какие то энтити, или браши, хотя мне кажется что дело больше всего в каком то браше и возможно даже триггере, так как лагать начинает по всей карте разом, хотя у меня недавно карта отказывалась компилироватся, все дело было в траве, пришлось открывать текстуру травы и прописать ей невидимость.. и только тогда компиляция карты произошла с изминениями, да и это далеко не первая огромная карта которая лагает есть еще большенство таких карт, я еще думаю что дело так же возможно в - player_entity такие как terrorist_entity и counterterrorist_entity, потому что лагает именно тогда когда игроков/ботов на карте примерно 9×20 и выше..
Думаю лучше удалять/адаптировать не подходящие под движок модели/текстуры
 

Denis345770228

Участник
Сообщения
19
Реакции
5
Думаю лучше удалять/адаптировать не подходящие под движок модели/текстуры
Возможно, но мне кажется что они не как не влияют на FPS, да и не в них дело, мне еще кажется что дело в освещении карты, или в тенях на ней, впринципе все возможно, но пока поищу причину лагов своими силами)
 

miwa987

Участник
Сообщения
5
Реакции
1
Возможно лик на карте и компиляция без vis, но тогда бы лагало и при одиночной игре. Без ботов и игроков запустив карту локально лагает?
Введи в консоль developer 3 и проверь что пишет во время лагов
 

Denis345770228

Участник
Сообщения
19
Реакции
5
Возможно лик на карте и компиляция без vis, но тогда бы лагало и при одиночной игре. Без ботов и игроков запустив карту локально лагает?
Введи в консоль developer 3 и проверь что пишет во время лагов
Хорошо попробую, но я компилирую в расширенном режиме и VVIS там присутствует, да и до переделки я карту оригинальную из Gmod'a запихал прямо в CSS там ликов не было, так же лагало.. я думаю причина лагов в 1) размере карты, 2) какие то браши явно связанные с графикой, 3) либо прорисовка карты слишком большая, так как издалека можно увидеть любого игрока или бота, и клиент просто из за этого не может обработать сразу все данные игроков/ботов, от того и сильные лаги, вот только как мне карту оптимизировать для cs source, ведь дело не в моделях и текстурах самой карты а наверное в каком то браше как я писал уже выше...
Сообщения автоматически склеены:

Возможно лик на карте и компиляция без vis, но тогда бы лагало и при одиночной игре. Без ботов и игроков запустив карту локально лагает?
Введи в консоль developer 3 и проверь что пишет во время лагов
Ну, в общем ввел я в консоли developer 1, но там ничего не показывает помимо серверной информации плагинов, потом решил проверить как там с fps, ввел в консоли cl_showfps 1 и выяснил что у меня на карте fps падает от 290 до 3, 30 или 70 - ти, я не знаю как мне с этим быть, к сожелению плагин который повышает fps еще никто не создал.. а настройки графики уж больно не хочется понижать из за одной карты, да и на вряд ли мне это поможет. Значит на карте я думаю есть что то. Из за чего так сильно падает FPS, осталось только выяснить что именно?
 
Последнее редактирование:

DENZEL519

Работаю через AI !
Сообщения
490
Реакции
315
@Denis345770228, Может поможет

================================================================================
ПОЧЕМУ ЛАГАЮТ КАРТЫ ИЗ GARRY'S MOD В CS: SOURCE?
Руководство по диагностике и решению проблем производительности
================================================================================

ОСНОВНЫЕ ПРИЧИНЫ ПАДЕНИЯ FPS НА ПОРТИРОВАННЫХ КАРТАХ:

1. GARRY'S MOD СПЕЦИФИЧНЫЕ ЭНТИТИ
──────────────────────────────────────────────────────────────────────────
Проблема: На картах из Gmod могут остаться энтити, которые не поддерживаются
или работают некорректно в CS:S.

Примеры проблемных энтитей:
- gmod_* (все энтити с префиксом gmod_)
- prop_physics / prop_physics_multiplayer (слишком ресурсоемки)
- Специфичные Gmod триггеры и логика

Решение:
- Используйте плагин map_performance_diagnostic.sp для поиска
- Удалите или замените на CS:S аналоги в Hammer Editor
- Откройте карту в Hammer и проверьте список энтитей (Map → Entity Report)


2. СЛИШКОМ МНОГО ФИЗИЧЕСКИХ ПРОПОВ (prop_physics)
──────────────────────────────────────────────────────────────────────────
Проблема: Физические пропы требуют постоянных вычислений физики.
При большом количестве игроков нагрузка растет экспоненциально!

Почему это критично:
- Каждый prop_physics рассчитывает физику каждый кадр
- При 30+ игроках сервер должен синхронизировать физику для всех
- Это создает огромную нагрузку на CPU

Решение:
- Замените prop_physics на prop_static для статических объектов
- Используйте prop_dynamic_override для объектов, которые не двигаются
- Оставьте prop_physics только для объектов, которые ДЕЙСТВИТЕЛЬНО должны
иметь физику (ящики, бочки и т.д.)

Как найти:
- В Hammer: View → Go to Entity → введите "prop_physics"
- Или используйте плагин диагностики


3. ПЕРЕИСПОЛЬЗОВАНИЕ СЕТЕВЫХ ЭНТИТЕЙ
──────────────────────────────────────────────────────────────────────────
Проблема: CS:S имеет лимит на количество сетевых энтитей (~2048).
При большом количестве игроков этот лимит может быть превышен.

Что считается сетевым энтити:
- Все энтити, которые видны игрокам
- prop_dynamic, prop_physics
- Триггеры, двери, движущиеся объекты

Решение:
- Используйте func_detail для декоративных элементов (не сетевые)
- Объедините мелкие объекты в один
- Удалите ненужные декоративные пропы
- Используйте prop_static вместо prop_dynamic где возможно


4. ИСТОЧНИКИ СВЕТА
──────────────────────────────────────────────────────────────────────────
Проблема: Слишком много точечных источников света (light_spot, point_spotlight)
создают большую нагрузку на рендеринг.

Решение:
- Используйте light_environment для основного освещения
- Уменьшите количество точечных источников
- Объедините близкие источники света
- Используйте baked lighting (запеченное освещение) где возможно


5. ЗВУКОВЫЕ ЭМИТТЕРЫ
──────────────────────────────────────────────────────────────────────────
Проблема: Много ambient_generic и env_soundscape могут создавать нагрузку.

Решение:
- Удалите неиспользуемые звуковые эмиттеры
- Используйте env_soundscape вместо множества ambient_generic
- Проверьте радиус действия звуков (не делайте их слишком большими)


6. ТРИГГЕРЫ И ЛОГИКА
──────────────────────────────────────────────────────────────────────────
Проблема: Слишком много активных триггеров проверяются каждый кадр.

Решение:
- Объедините мелкие триггеры в более крупные
- Используйте логику с задержками вместо постоянных проверок
- Отключайте неиспользуемые триггеры (m_bDisabled = 1)


7. ПРОБЛЕМЫ С ОПТИМИЗАЦИЕЙ КАРТЫ
──────────────────────────────────────────────────────────────────────────
Проблема: Карта может быть плохо оптимизирована (утечки, плохая видимость).

Что проверить:
- Утечки (leaks) - откройте карту в Hammer и проверьте Map → Load Pointfile
- Видимость (visleafs) - слишком много листьев видимости = плохая оптимизация
- HOM (Hall of Mirrors) эффекты - черные дыры в текстурах
- Слишком много полигонов в одном месте

Решение:
- Используйте func_detail для мелких декоративных элементов
- Оптимизируйте brushwork (объединяйте мелкие кисти)
- Используйте areaportals для больших зон
- Проверьте карту на утечки и исправьте их


8. ПРОБЛЕМЫ С БОТАМИ
──────────────────────────────────────────────────────────────────────────
Проблема: Боты на больших картах могут создавать дополнительную нагрузку.

Почему:
- Боты постоянно вычисляют навигацию (nav mesh)
- На больших картах nav mesh может быть очень сложным
- Боты проверяют видимость и путь к целям

Решение:
- Упростите навигацию (удалите ненужные области)
- Используйте func_nav_blocker для блокировки недоступных зон
- Уменьшите количество ботов на больших картах


КАК ДИАГНОСТИРОВАТЬ ПРОБЛЕМУ:
──────────────────────────────────────────────────────────────────────────────

1. УСТАНОВИТЕ ПЛАГИН ДИАГНОСТИКИ:
- Скомпилируйте map_performance_diagnostic.sp
- Загрузите карту с проблемой
- В консоли выполните: sm_mapdiag
- Подождите несколько минут
- Выполните: sm_mapdiag_report
- Проверьте файл logs/map_diagnostic_[название_карты].log

2. ПРОВЕРЬТЕ В HAMMER EDITOR:
- Откройте карту в Hammer
- Map → Entity Report - посмотрите список всех энтитей
- Ищите: gmod_*, prop_physics, слишком много light_*, ambient_*

3. ПРОВЕРЬТЕ В ИГРЕ:
- Включите developer 1 в консоли
- Проверьте r_speeds 1 (показывает статистику рендеринга)
- Проверьте net_graph 1 (показывает сетевую статистику)
- Смотрите на FPS при разном количестве игроков

4. ИСПОЛЬЗУЙТЕ КОНСОЛЬНЫЕ КОМАНДЫ:
- ent_count - показывает количество энтитей
- ent_text - показывает информацию об энтити под курсором
- find_ent - поиск энтитей по классу


ЧТО ДЕЛАТЬ ПРИ ПОРТИРОВАНИИ КАРТЫ:
──────────────────────────────────────────────────────────────────────────────

ШАГ 1: ОТКРОЙТЕ КАРТУ В HAMMER EDITOR
- File → Open → выберите .vmf файл карты
- Если есть только .bsp, используйте BSP2MAP или аналогичный инструмент

ШАГ 2: УДАЛИТЕ Gmod ЭНТИТИ
- View → Go to Entity
- Введите "gmod_" и удалите все найденные энтити

ШАГ 3: ЗАМЕНИТЕ ФИЗИЧЕСКИЕ ПРОПЫ
- Найдите все prop_physics
- Для статических объектов: замените на prop_static
- Для декоративных: используйте prop_dynamic_override
- Оставьте prop_physics только для интерактивных объектов

ШАГ 4: ОПТИМИЗИРУЙТЕ ОСВЕЩЕНИЕ
- Удалите лишние light_spot
- Используйте light_environment для основного света
- Проверьте, что нет слишком ярких источников

ШАГ 5: ПРОВЕРЬТЕ НА УТЕЧКИ
- Map → Load Pointfile
- Если появились красные линии - есть утечки, исправьте их

ШАГ 6: КОМПИЛЯЦИЯ
- Скомпилируйте карту с правильными настройками
- Используйте Full Compile для финальной версии
- Проверьте логи компиляции на ошибки

ШАГ 7: ТЕСТИРОВАНИЕ
- Загрузите карту на сервер
- Используйте плагин диагностики
- Тестируйте с разным количеством игроков/ботов


РЕКОМЕНДУЕМЫЕ НАСТРОЙКИ СЕРВЕРА:
──────────────────────────────────────────────────────────────────────────────

Для больших карт рекомендуется установить:

sv_maxrate 30000 // Максимальная скорость передачи данных
sv_minrate 10000 // Минимальная скорость
sv_maxupdaterate 66 // Частота обновлений (для 66 tick сервера)
sv_minupdaterate 20 // Минимальная частота
sv_maxcmdrate 66 // Частота команд
sv_mincmdrate 20 // Минимальная частота команд

// Оптимизация физики
phys_timescale 1.0 // Не изменяйте без необходимости
sv_gravity 800 // Стандартная гравитация

// Оптимизация сетевых энтитей
sv_forcepreload 1 // Принудительная предзагрузка


ВАЖНЫЕ ЗАМЕЧАНИЯ:
──────────────────────────────────────────────────────────────────────────────

1. FPS падает с 290 до 3-70 - это КРИТИЧЕСКАЯ проблема, скорее всего:
- Слишком много prop_physics
- Превышен лимит сетевых энтитей
- Проблемы с навигацией ботов

2. Проблема проявляется при 30+ игроках - это указывает на:
- Проблемы с синхронизацией физики
- Превышение лимитов сетевых энтитей
- Проблемы с навигацией

3. На обычных картах все работает - значит проблема именно в портированной карте

4. Железо не виновато - если на других картах все нормально, проблема в самой карте


ДОПОЛНИТЕЛЬНЫЕ ИНСТРУМЕНТЫ:
──────────────────────────────────────────────────────────────────────────────

- Hammer Editor - для редактирования карты
- BSP2MAP / VMEX - для извлечения .vmf из .bsp
- VVIS, VRAD, VBSP - компиляторы карт
- Source SDK - для работы с картами
- Net_graph - встроенная команда для мониторинга сети
- r_speeds - встроенная команда для мониторинга рендеринга


ПОЛЕЗНЫЕ КОМАНДЫ В КОНСОЛИ:
──────────────────────────────────────────────────────────────────────────────

developer 1 // Включить режим разработчика
r_speeds 1 // Показать статистику рендеринга
net_graph 1 // Показать сетевую статистику
cl_showfps 1 // Показать FPS
ent_count // Количество энтитей
find_ent prop_physics // Найти все prop_physics
ent_text // Информация об энтити под курсором


================================================================================
Используйте плагин map_performance_diagnostic.sp для автоматической диагностики!
================================================================================
 

Вложения

  • map_performance_diagnostic.sp
    22.1 КБ · Просмотры: 15

Denis345770228

Участник
Сообщения
19
Реакции
5
@Denis345770228, Может поможет

================================================================================
ПОЧЕМУ ЛАГАЮТ КАРТЫ ИЗ GARRY'S MOD В CS: SOURCE?
Руководство по диагностике и решению проблем производительности
================================================================================

ОСНОВНЫЕ ПРИЧИНЫ ПАДЕНИЯ FPS НА ПОРТИРОВАННЫХ КАРТАХ:

1. GARRY'S MOD СПЕЦИФИЧНЫЕ ЭНТИТИ
──────────────────────────────────────────────────────────────────────────
Проблема: На картах из Gmod могут остаться энтити, которые не поддерживаются
или работают некорректно в CS:S.

Примеры проблемных энтитей:
- gmod_* (все энтити с префиксом gmod_)
- prop_physics / prop_physics_multiplayer (слишком ресурсоемки)
- Специфичные Gmod триггеры и логика

Решение:
- Используйте плагин map_performance_diagnostic.sp для поиска
- Удалите или замените на CS:S аналоги в Hammer Editor
- Откройте карту в Hammer и проверьте список энтитей (Map → Entity Report)


2. СЛИШКОМ МНОГО ФИЗИЧЕСКИХ ПРОПОВ (prop_physics)
──────────────────────────────────────────────────────────────────────────
Проблема: Физические пропы требуют постоянных вычислений физики.
При большом количестве игроков нагрузка растет экспоненциально!

Почему это критично:
- Каждый prop_physics рассчитывает физику каждый кадр
- При 30+ игроках сервер должен синхронизировать физику для всех
- Это создает огромную нагрузку на CPU

Решение:
- Замените prop_physics на prop_static для статических объектов
- Используйте prop_dynamic_override для объектов, которые не двигаются
- Оставьте prop_physics только для объектов, которые ДЕЙСТВИТЕЛЬНО должны
иметь физику (ящики, бочки и т.д.)

Как найти:
- В Hammer: View → Go to Entity → введите "prop_physics"
- Или используйте плагин диагностики


3. ПЕРЕИСПОЛЬЗОВАНИЕ СЕТЕВЫХ ЭНТИТЕЙ
──────────────────────────────────────────────────────────────────────────
Проблема: CS:S имеет лимит на количество сетевых энтитей (~2048).
При большом количестве игроков этот лимит может быть превышен.

Что считается сетевым энтити:
- Все энтити, которые видны игрокам
- prop_dynamic, prop_physics
- Триггеры, двери, движущиеся объекты

Решение:
- Используйте func_detail для декоративных элементов (не сетевые)
- Объедините мелкие объекты в один
- Удалите ненужные декоративные пропы
- Используйте prop_static вместо prop_dynamic где возможно


4. ИСТОЧНИКИ СВЕТА
──────────────────────────────────────────────────────────────────────────
Проблема: Слишком много точечных источников света (light_spot, point_spotlight)
создают большую нагрузку на рендеринг.

Решение:
- Используйте light_environment для основного освещения
- Уменьшите количество точечных источников
- Объедините близкие источники света
- Используйте baked lighting (запеченное освещение) где возможно


5. ЗВУКОВЫЕ ЭМИТТЕРЫ
──────────────────────────────────────────────────────────────────────────
Проблема: Много ambient_generic и env_soundscape могут создавать нагрузку.

Решение:
- Удалите неиспользуемые звуковые эмиттеры
- Используйте env_soundscape вместо множества ambient_generic
- Проверьте радиус действия звуков (не делайте их слишком большими)


6. ТРИГГЕРЫ И ЛОГИКА
──────────────────────────────────────────────────────────────────────────
Проблема: Слишком много активных триггеров проверяются каждый кадр.

Решение:
- Объедините мелкие триггеры в более крупные
- Используйте логику с задержками вместо постоянных проверок
- Отключайте неиспользуемые триггеры (m_bDisabled = 1)


7. ПРОБЛЕМЫ С ОПТИМИЗАЦИЕЙ КАРТЫ
──────────────────────────────────────────────────────────────────────────
Проблема: Карта может быть плохо оптимизирована (утечки, плохая видимость).

Что проверить:
- Утечки (leaks) - откройте карту в Hammer и проверьте Map → Load Pointfile
- Видимость (visleafs) - слишком много листьев видимости = плохая оптимизация
- HOM (Hall of Mirrors) эффекты - черные дыры в текстурах
- Слишком много полигонов в одном месте

Решение:
- Используйте func_detail для мелких декоративных элементов
- Оптимизируйте brushwork (объединяйте мелкие кисти)
- Используйте areaportals для больших зон
- Проверьте карту на утечки и исправьте их


8. ПРОБЛЕМЫ С БОТАМИ
──────────────────────────────────────────────────────────────────────────
Проблема: Боты на больших картах могут создавать дополнительную нагрузку.

Почему:
- Боты постоянно вычисляют навигацию (nav mesh)
- На больших картах nav mesh может быть очень сложным
- Боты проверяют видимость и путь к целям

Решение:
- Упростите навигацию (удалите ненужные области)
- Используйте func_nav_blocker для блокировки недоступных зон
- Уменьшите количество ботов на больших картах


КАК ДИАГНОСТИРОВАТЬ ПРОБЛЕМУ:
──────────────────────────────────────────────────────────────────────────────

1. УСТАНОВИТЕ ПЛАГИН ДИАГНОСТИКИ:
- Скомпилируйте map_performance_diagnostic.sp
- Загрузите карту с проблемой
- В консоли выполните: sm_mapdiag
- Подождите несколько минут
- Выполните: sm_mapdiag_report
- Проверьте файл logs/map_diagnostic_[название_карты].log

2. ПРОВЕРЬТЕ В HAMMER EDITOR:
- Откройте карту в Hammer
- Map → Entity Report - посмотрите список всех энтитей
- Ищите: gmod_*, prop_physics, слишком много light_*, ambient_*

3. ПРОВЕРЬТЕ В ИГРЕ:
- Включите developer 1 в консоли
- Проверьте r_speeds 1 (показывает статистику рендеринга)
- Проверьте net_graph 1 (показывает сетевую статистику)
- Смотрите на FPS при разном количестве игроков

4. ИСПОЛЬЗУЙТЕ КОНСОЛЬНЫЕ КОМАНДЫ:
- ent_count - показывает количество энтитей
- ent_text - показывает информацию об энтити под курсором
- find_ent - поиск энтитей по классу


ЧТО ДЕЛАТЬ ПРИ ПОРТИРОВАНИИ КАРТЫ:
──────────────────────────────────────────────────────────────────────────────

ШАГ 1: ОТКРОЙТЕ КАРТУ В HAMMER EDITOR
- File → Open → выберите .vmf файл карты
- Если есть только .bsp, используйте BSP2MAP или аналогичный инструмент

ШАГ 2: УДАЛИТЕ Gmod ЭНТИТИ
- View → Go to Entity
- Введите "gmod_" и удалите все найденные энтити

ШАГ 3: ЗАМЕНИТЕ ФИЗИЧЕСКИЕ ПРОПЫ
- Найдите все prop_physics
- Для статических объектов: замените на prop_static
- Для декоративных: используйте prop_dynamic_override
- Оставьте prop_physics только для интерактивных объектов

ШАГ 4: ОПТИМИЗИРУЙТЕ ОСВЕЩЕНИЕ
- Удалите лишние light_spot
- Используйте light_environment для основного света
- Проверьте, что нет слишком ярких источников

ШАГ 5: ПРОВЕРЬТЕ НА УТЕЧКИ
- Map → Load Pointfile
- Если появились красные линии - есть утечки, исправьте их

ШАГ 6: КОМПИЛЯЦИЯ
- Скомпилируйте карту с правильными настройками
- Используйте Full Compile для финальной версии
- Проверьте логи компиляции на ошибки

ШАГ 7: ТЕСТИРОВАНИЕ
- Загрузите карту на сервер
- Используйте плагин диагностики
- Тестируйте с разным количеством игроков/ботов


РЕКОМЕНДУЕМЫЕ НАСТРОЙКИ СЕРВЕРА:
──────────────────────────────────────────────────────────────────────────────

Для больших карт рекомендуется установить:

sv_maxrate 30000 // Максимальная скорость передачи данных
sv_minrate 10000 // Минимальная скорость
sv_maxupdaterate 66 // Частота обновлений (для 66 tick сервера)
sv_minupdaterate 20 // Минимальная частота
sv_maxcmdrate 66 // Частота команд
sv_mincmdrate 20 // Минимальная частота команд

// Оптимизация физики
phys_timescale 1.0 // Не изменяйте без необходимости
sv_gravity 800 // Стандартная гравитация

// Оптимизация сетевых энтитей
sv_forcepreload 1 // Принудительная предзагрузка


ВАЖНЫЕ ЗАМЕЧАНИЯ:
──────────────────────────────────────────────────────────────────────────────

1. FPS падает с 290 до 3-70 - это КРИТИЧЕСКАЯ проблема, скорее всего:
- Слишком много prop_physics
- Превышен лимит сетевых энтитей
- Проблемы с навигацией ботов

2. Проблема проявляется при 30+ игроках - это указывает на:
- Проблемы с синхронизацией физики
- Превышение лимитов сетевых энтитей
- Проблемы с навигацией

3. На обычных картах все работает - значит проблема именно в портированной карте

4. Железо не виновато - если на других картах все нормально, проблема в самой карте


ДОПОЛНИТЕЛЬНЫЕ ИНСТРУМЕНТЫ:
──────────────────────────────────────────────────────────────────────────────

- Hammer Editor - для редактирования карты
- BSP2MAP / VMEX - для извлечения .vmf из .bsp
- VVIS, VRAD, VBSP - компиляторы карт
- Source SDK - для работы с картами
- Net_graph - встроенная команда для мониторинга сети
- r_speeds - встроенная команда для мониторинга рендеринга


ПОЛЕЗНЫЕ КОМАНДЫ В КОНСОЛИ:
──────────────────────────────────────────────────────────────────────────────

developer 1 // Включить режим разработчика
r_speeds 1 // Показать статистику рендеринга
net_graph 1 // Показать сетевую статистику
cl_showfps 1 // Показать FPS
ent_count // Количество энтитей
find_ent prop_physics // Найти все prop_physics
ent_text // Информация об энтити под курсором


================================================================================
Используйте плагин map_performance_diagnostic.sp для автоматической диагностики!
====================
@Denis345770228, Может поможет

================================================================================
ПОЧЕМУ ЛАГАЮТ КАРТЫ ИЗ GARRY'S MOD В CS: SOURCE?
Руководство по диагностике и решению проблем производительности
================================================================================

ОСНОВНЫЕ ПРИЧИНЫ ПАДЕНИЯ FPS НА ПОРТИРОВАННЫХ КАРТАХ:

1. GARRY'S MOD СПЕЦИФИЧНЫЕ ЭНТИТИ
──────────────────────────────────────────────────────────────────────────
Проблема: На картах из Gmod могут остаться энтити, которые не поддерживаются
или работают некорректно в CS:S.

Примеры проблемных энтитей:
- gmod_* (все энтити с префиксом gmod_)
- prop_physics / prop_physics_multiplayer (слишком ресурсоемки)
- Специфичные Gmod триггеры и логика

Решение:
- Используйте плагин map_performance_diagnostic.sp для поиска
- Удалите или замените на CS:S аналоги в Hammer Editor
- Откройте карту в Hammer и проверьте список энтитей (Map → Entity Report)


2. СЛИШКОМ МНОГО ФИЗИЧЕСКИХ ПРОПОВ (prop_physics)
──────────────────────────────────────────────────────────────────────────
Проблема: Физические пропы требуют постоянных вычислений физики.
При большом количестве игроков нагрузка растет экспоненциально!

Почему это критично:
- Каждый prop_physics рассчитывает физику каждый кадр
- При 30+ игроках сервер должен синхронизировать физику для всех
- Это создает огромную нагрузку на CPU

Решение:
- Замените prop_physics на prop_static для статических объектов
- Используйте prop_dynamic_override для объектов, которые не двигаются
- Оставьте prop_physics только для объектов, которые ДЕЙСТВИТЕЛЬНО должны
иметь физику (ящики, бочки и т.д.)

Как найти:
- В Hammer: View → Go to Entity → введите "prop_physics"
- Или используйте плагин диагностики


3. ПЕРЕИСПОЛЬЗОВАНИЕ СЕТЕВЫХ ЭНТИТЕЙ
──────────────────────────────────────────────────────────────────────────
Проблема: CS:S имеет лимит на количество сетевых энтитей (~2048).
При большом количестве игроков этот лимит может быть превышен.

Что считается сетевым энтити:
- Все энтити, которые видны игрокам
- prop_dynamic, prop_physics
- Триггеры, двери, движущиеся объекты

Решение:
- Используйте func_detail для декоративных элементов (не сетевые)
- Объедините мелкие объекты в один
- Удалите ненужные декоративные пропы
- Используйте prop_static вместо prop_dynamic где возможно


4. ИСТОЧНИКИ СВЕТА
──────────────────────────────────────────────────────────────────────────
Проблема: Слишком много точечных источников света (light_spot, point_spotlight)
создают большую нагрузку на рендеринг.

Решение:
- Используйте light_environment для основного освещения
- Уменьшите количество точечных источников
- Объедините близкие источники света
- Используйте baked lighting (запеченное освещение) где возможно


5. ЗВУКОВЫЕ ЭМИТТЕРЫ
──────────────────────────────────────────────────────────────────────────
Проблема: Много ambient_generic и env_soundscape могут создавать нагрузку.

Решение:
- Удалите неиспользуемые звуковые эмиттеры
- Используйте env_soundscape вместо множества ambient_generic
- Проверьте радиус действия звуков (не делайте их слишком большими)


6. ТРИГГЕРЫ И ЛОГИКА
──────────────────────────────────────────────────────────────────────────
Проблема: Слишком много активных триггеров проверяются каждый кадр.

Решение:
- Объедините мелкие триггеры в более крупные
- Используйте логику с задержками вместо постоянных проверок
- Отключайте неиспользуемые триггеры (m_bDisabled = 1)


7. ПРОБЛЕМЫ С ОПТИМИЗАЦИЕЙ КАРТЫ
──────────────────────────────────────────────────────────────────────────
Проблема: Карта может быть плохо оптимизирована (утечки, плохая видимость).

Что проверить:
- Утечки (leaks) - откройте карту в Hammer и проверьте Map → Load Pointfile
- Видимость (visleafs) - слишком много листьев видимости = плохая оптимизация
- HOM (Hall of Mirrors) эффекты - черные дыры в текстурах
- Слишком много полигонов в одном месте

Решение:
- Используйте func_detail для мелких декоративных элементов
- Оптимизируйте brushwork (объединяйте мелкие кисти)
- Используйте areaportals для больших зон
- Проверьте карту на утечки и исправьте их


8. ПРОБЛЕМЫ С БОТАМИ
──────────────────────────────────────────────────────────────────────────
Проблема: Боты на больших картах могут создавать дополнительную нагрузку.

Почему:
- Боты постоянно вычисляют навигацию (nav mesh)
- На больших картах nav mesh может быть очень сложным
- Боты проверяют видимость и путь к целям

Решение:
- Упростите навигацию (удалите ненужные области)
- Используйте func_nav_blocker для блокировки недоступных зон
- Уменьшите количество ботов на больших картах


КАК ДИАГНОСТИРОВАТЬ ПРОБЛЕМУ:
──────────────────────────────────────────────────────────────────────────────

1. УСТАНОВИТЕ ПЛАГИН ДИАГНОСТИКИ:
- Скомпилируйте map_performance_diagnostic.sp
- Загрузите карту с проблемой
- В консоли выполните: sm_mapdiag
- Подождите несколько минут
- Выполните: sm_mapdiag_report
- Проверьте файл logs/map_diagnostic_[название_карты].log

2. ПРОВЕРЬТЕ В HAMMER EDITOR:
- Откройте карту в Hammer
- Map → Entity Report - посмотрите список всех энтитей
- Ищите: gmod_*, prop_physics, слишком много light_*, ambient_*

3. ПРОВЕРЬТЕ В ИГРЕ:
- Включите developer 1 в консоли
- Проверьте r_speeds 1 (показывает статистику рендеринга)
- Проверьте net_graph 1 (показывает сетевую статистику)
- Смотрите на FPS при разном количестве игроков

4. ИСПОЛЬЗУЙТЕ КОНСОЛЬНЫЕ КОМАНДЫ:
- ent_count - показывает количество энтитей
- ent_text - показывает информацию об энтити под курсором
- find_ent - поиск энтитей по классу


ЧТО ДЕЛАТЬ ПРИ ПОРТИРОВАНИИ КАРТЫ:
──────────────────────────────────────────────────────────────────────────────

ШАГ 1: ОТКРОЙТЕ КАРТУ В HAMMER EDITOR
- File → Open → выберите .vmf файл карты
- Если есть только .bsp, используйте BSP2MAP или аналогичный инструмент

ШАГ 2: УДАЛИТЕ Gmod ЭНТИТИ
- View → Go to Entity
- Введите "gmod_" и удалите все найденные энтити

ШАГ 3: ЗАМЕНИТЕ ФИЗИЧЕСКИЕ ПРОПЫ
- Найдите все prop_physics
- Для статических объектов: замените на prop_static
- Для декоративных: используйте prop_dynamic_override
- Оставьте prop_physics только для интерактивных объектов

ШАГ 4: ОПТИМИЗИРУЙТЕ ОСВЕЩЕНИЕ
- Удалите лишние light_spot
- Используйте light_environment для основного света
- Проверьте, что нет слишком ярких источников

ШАГ 5: ПРОВЕРЬТЕ НА УТЕЧКИ
- Map → Load Pointfile
- Если появились красные линии - есть утечки, исправьте их

ШАГ 6: КОМПИЛЯЦИЯ
- Скомпилируйте карту с правильными настройками
- Используйте Full Compile для финальной версии
- Проверьте логи компиляции на ошибки

ШАГ 7: ТЕСТИРОВАНИЕ
- Загрузите карту на сервер
- Используйте плагин диагностики
- Тестируйте с разным количеством игроков/ботов


РЕКОМЕНДУЕМЫЕ НАСТРОЙКИ СЕРВЕРА:
──────────────────────────────────────────────────────────────────────────────

Для больших карт рекомендуется установить:

sv_maxrate 30000 // Максимальная скорость передачи данных
sv_minrate 10000 // Минимальная скорость
sv_maxupdaterate 66 // Частота обновлений (для 66 tick сервера)
sv_minupdaterate 20 // Минимальная частота
sv_maxcmdrate 66 // Частота команд
sv_mincmdrate 20 // Минимальная частота команд

// Оптимизация физики
phys_timescale 1.0 // Не изменяйте без необходимости
sv_gravity 800 // Стандартная гравитация

// Оптимизация сетевых энтитей
sv_forcepreload 1 // Принудительная предзагрузка


ВАЖНЫЕ ЗАМЕЧАНИЯ:
──────────────────────────────────────────────────────────────────────────────

1. FPS падает с 290 до 3-70 - это КРИТИЧЕСКАЯ проблема, скорее всего:
- Слишком много prop_physics
- Превышен лимит сетевых энтитей
- Проблемы с навигацией ботов

2. Проблема проявляется при 30+ игроках - это указывает на:
- Проблемы с синхронизацией физики
- Превышение лимитов сетевых энтитей
- Проблемы с навигацией

3. На обычных картах все работает - значит проблема именно в портированной карте

4. Железо не виновато - если на других картах все нормально, проблема в самой карте


ДОПОЛНИТЕЛЬНЫЕ ИНСТРУМЕНТЫ:
──────────────────────────────────────────────────────────────────────────────

- Hammer Editor - для редактирования карты
- BSP2MAP / VMEX - для извлечения .vmf из .bsp
- VVIS, VRAD, VBSP - компиляторы карт
- Source SDK - для работы с картами
- Net_graph - встроенная команда для мониторинга сети
- r_speeds - встроенная команда для мониторинга рендеринга


ПОЛЕЗНЫЕ КОМАНДЫ В КОНСОЛИ:
──────────────────────────────────────────────────────────────────────────────

developer 1 // Включить режим разработчика
r_speeds 1 // Показать статистику рендеринга
net_graph 1 // Показать сетевую статистику
cl_showfps 1 // Показать FPS
ent_count // Количество энтитей
find_ent prop_physics // Найти все prop_physics
ent_text // Информация об энтити под курсором


================================================================================
Используйте плагин map_performance_diagnostic.sp для автоматической диагностики!
================================================================================
Спасибо, попробую... хм, проблемы с навигацией ботов? Да, есть такое.. у меня на карте навигационная сетка немного не подходит для ботов, а автоматически прорисовать новую не получится, так как это займет часа 2 - 3, (Карта Огроменная) да и результат без изминений будет, так как я использую nav. Сетку стандартную от карты, чуть доделанную мною, обновить ее скажем для ботов тоже не получается приходиться использовать просто сохраненную, 1) слишком долго ждать, 2) nav. Сетку можно только сохранить, то есть загрузить новую или обновить ее я вряд ли смогу, получается что FPS может падать если у ботов nav. Сетка не стабильна или неправильна? Просто я замечал такие же лаги на другой карте, и там так же были проблемы с nav. Сеткой)
 

Denis345770228

Участник
Сообщения
19
Реакции
5
В bsp навигацию ботов(nav) не зашиваешь?
Когда как, бывает отдельно от карты в папку Maps ставлю, а бывает использую по стандарту, просто вшитой в карту оставляю, а что? Она может как то на лаги повлиять?
 

DarkerZ

Участник
Сообщения
418
Реакции
195
В ксго встречался с лагами, когда зашивал в карту сгенерированный nav
 

Vit_ amin

Добрая душа
Сообщения
1,548
Реакции
735
А зачем зашивать NAV файл вообще, а если кто то захочет его отредактировать ?
 

Denis345770228

Участник
Сообщения
19
Реакции
5
В ксго встречался с лагами, когда зашивал в карту сгенерированный nav
Ну не знаю, хотя я заметил при игре с ботами, что когда они двигаются по карте, бегают и тд. То действительно начинает лагать, но когда игра идет скажем 6x8 количество ботов, то лагов вроде бы не наблюдалось, лаги появляются лишь тогда когда кол - во ботов увеличивается, и где то уже 12x8 начинаются лаги) а что касается вшивания nav. файла в карту то вряд ли это может создать лаги...
 

EaglEs

Гуру пробития усилений
Сообщения
928
Реакции
196

Спасибо, попробую... хм, проблемы с навигацией ботов? Да, есть такое.. у меня на карте навигационная сетка немного не подходит для ботов, а автоматически прорисовать новую не получится, так как это займет часа 2 - 3, (Карта Огроменная) да и результат без изминений будет, так как я использую nav. Сетку стандартную от карты, чуть доделанную мною, обновить ее скажем для ботов тоже не получается приходиться использовать просто сохраненную, 1) слишком долго ждать, 2) nav. Сетку можно только сохранить, то есть загрузить новую или обновить ее я вряд ли смогу, получается что FPS может падать если у ботов nav. Сетка не стабильна или неправильна? Просто я замечал такие же лаги на другой карте, и там так же были проблемы с nav. Сеткой)
Долго генерировался навигационный файл в контре 'в34', на 'оренжбоксе' на два порядка быстрее это делается. Да и изменить его и сохранить изменения можно без проблем.
Ну не знаю, хотя я заметил при игре с ботами, что когда они двигаются по карте, бегают и тд. То действительно начинает лагать, но когда игра идет скажем 6x8 количество ботов, то лагов вроде бы не наблюдалось, лаги появляются лишь тогда когда кол - во ботов увеличивается, и где то уже 12x8 начинаются лаги) а что касается вшивания nav. файла в карту то вряд ли это может создать лаги...
Лагает с ботами из-за особенностей создания навигационных файлов (вкратце - прямоугольный участок может состоять из нескольких маленьких "nav_walk", а это бОльшая нагрузка на ЦП хоста и увеличенный размер самого файла; поэтому и надо вручную исправлять... Это еще я не написал про дисплейсмент!.. 😏)
 

Denis345770228

Участник
Сообщения
19
Реакции
5
Долго генерировался навигационный файл в контре 'в34', на 'оренжбоксе' на два порядка быстрее это делается. Да и изменить его и сохранить изменения можно без проблем.

Лагает с ботами из-за особенностей создания навигационных файлов (вкратце - прямоугольный участок может состоять из нескольких маленьких "nav_walk", а это бОльшая нагрузка на ЦП хоста и увеличенный размер самого файла; поэтому и надо вручную исправлять... Это еще я не написал про дисплейсмент!.. 😏)
Хмм, да.. навигационная сетка действительно у меня не точная, пару раз замечал что боты в кое каких местах бывает упираются в стену, или тупо стоят на месте уставевшись под ноги вниз.. допустим что дело в навигационной сетке, а как я писал выше, прочертить новую не получается, да и к тому же в кое каких местах и вовсе в ручную области создавал, так как там не создавалась нав - сетка, да и на больших картах из Garrys mod'а навигационную сетку на нескольких картах так же не получается прочертить автоматически, процесс доходит до 95% и все, игра вылетает на рабочий стол без каких либо ошибок в логах... и что же тогда делать с этой нав - сеткой чтоб не лагало? Что ж попробую поискать в областях nav_walk, хотя вроде бы у меня их нет на карте?!
Сообщения автоматически склеены:

Долго генерировался навигационный файл в контре 'в34', на 'оренжбоксе' на два порядка быстрее это делается. Да и изменить его и сохранить изменения можно без проблем.

Лагает с ботами из-за особенностей создания навигационных файлов (вкратце - прямоугольный участок может состоять из нескольких маленьких "nav_walk", а это бОльшая нагрузка на ЦП хоста и увеличенный размер самого файла; поэтому и надо вручную исправлять... Это еще я не написал про дисплейсмент!.. 😏)
Как оказалось, вы были правы! Я вытащил оригинальную нав - сетку карты, и поставил за место нее пустую, затем заспавнил ботов 8x55 и тогда лагов почти не было... выходит дело действительно в навигационной сетке) остается только вопрос - как мне найти на карте проблемные области и удалить или исправить их, ведь карта огроменная, да и займет у меня это не один день, вот не знаю как быть? Прийдется наверное сокращать количество областей, соединяя их в одну, что бы снизить нагрузку....
 
Последнее редактирование:
Сверху Снизу