Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Отловить причину падения.
Отловить причину падения.
Regedit Дата: Среда, 07.10.2015, 01:50:14 | Сообщение # 1
Сообщений: 135
Репутация: 1 [ +/- ]
Сервер падает произвольно и вычислить закономерность падения почти не реально (плагин просто огромен), в логах sourcemod - чисто.
Подскажите как и с помощью каких инструментов еще можно найти причины падения... Спасибо.
 
«SeReGa»☆ Дата: Четверг, 08.10.2015, 21:22:05 | Сообщение # 2
Сообщений: 395
Репутация: 37 [ +/- ]
просмотри handle может какие то утечки в памяти плагинов?
 
Regedit Дата: Воскресенье, 11.10.2015, 16:54:18 | Сообщение # 3
Сообщений: 135
Репутация: 1 [ +/- ]
Цитата «SeReGa»☆ ()
просмотри handle может какие то утечки в памяти плагинов?


Нет, утечек нет(
 
хвостег Дата: Понедельник, 12.10.2015, 15:01:27 | Сообщение # 4
Сообщений: 161
Репутация: 53 [ +/- ]
Если нет фатал лога и лога с ошибками скрипта.
Нужно замерять лимиты по энтитям.
2048 энтити - лимит как на клиенте так и на сервере, если превысить лимит серв упадет.
Первым делом узнай на каких картах падает сервер.
Узнай кол-во ентитей созданных картой и твоими плагинами, на сервере без игроков. (Помни что оружие, прожектайлы, триггеры и прочие ентити входят в этот лимит 2048).
Если окажется что карта использует 1800+ ентити - ищи мапера который это пофиксит, т.к плагины которые, якобы, чистят карту - полное уг...(знаю по своему опыту).
 
sdasdww24rf Дата: Понедельник, 12.10.2015, 21:41:21 | Сообщение # 5
Сообщений: 6
Репутация: 0 [ +/- ]
Цитата хвостег ()
Если нет фатал лога и лога с ошибками скрипта.
Нужно замерять лимиты по энтитям.
2048 энтити - лимит как на клиенте так и на сервере, если превысить лимит серв упадет.
Первым делом узнай на каких картах падает сервер.
Узнай кол-во ентитей созданных картой и твоими плагинами, на сервере без игроков. (Помни что оружие, прожектайлы, триггеры и прочие ентити входят в этот лимит 2048).
Если окажется что карта использует 1800+ ентити - ищи мапера который это пофиксит, т.к плагины которые, якобы, чистят карту - полное уг...(знаю по своему опыту).


2048 энтити для CSS и для CSGO ? или у их разные лимиты? И можно ли посчитать сколько использовано в данный момент энтити на карте?
 
хвостег Дата: Понедельник, 12.10.2015, 22:50:11 | Сообщение # 6
Сообщений: 161
Репутация: 53 [ +/- ]
Не знаю как в кс го... а вот в ксс именно так.

Чтобы контролировать происходящее я использую одновременно 3 функции.
GetMaxEntities() - покажет максимальное кол-во энтити.
GetEntityCount() - покажет кол-во созданных энтити.(функция одностороняя, показывает сколько чего было заспавнено и обратно не уменьшает значение если удалить объект)
GetEntityCount_EX() - показывает кол-во энтити в данный момент времени.

Код
stock GetEntityCount_EX()
{
    new iEnts = GetMaxEntities();
    new Count = 0;
    for(new i=0;i < iEnts;i++)
  if(IsValidEntity(i))
   Count++;
    return Count;
}


Картинка: http://i.imgur.com/vG3CI1n.png

П.C. Пожалуйста добавьте адекватный вьюер кода, который понимает табуляцию. На худой конец выдерните с алиедмодера...


Сообщение отредактировал хвостег - Понедельник, 12.10.2015, 23:12:21
 
sdasdww24rf Дата: Четверг, 15.10.2015, 01:58:03 | Сообщение # 7
Сообщений: 6
Репутация: 0 [ +/- ]
А чрезмерное использование PrecacheModel - может как-либо вредить серверу?

Например я разбирал плагин магазина - трейлы.
Там для CSGO трейлы через каждые 0.1 сек обновляются и делается PrecacheModel каждые 0.1 сек. и при чем для каждого игрока с трейлом... получается PrecacheModel в разы чаще чем раз в 0.1 сек..

ниче страшного? это не влияет на лимит энтити?


Сообщение отредактировал sdasdww24rf - Четверг, 15.10.2015, 01:59:13
 
dases2003 Дата: Четверг, 15.10.2015, 11:05:42 | Сообщение # 8
Сообщений: 107
Репутация: 1 [ +/- ]
Лучше загрузить список моделей в текстовый документ и 1 раз прехэшнуть в OnMapStart, и все(=
 
sdasdww24rf Дата: Четверг, 15.10.2015, 11:22:20 | Сообщение # 9
Сообщений: 6
Репутация: 0 [ +/- ]
Цитата dases2003 ()
Лучше загрузить список моделей в текстовый документ и 1 раз прехэшнуть в OnMapStart, и все(=


Да это и ежу понятно, тогда бы и вопросов не было... но мне нужно знать точно, вредит ли это как-либо при многократном использовании или нет!
 
dases2003 Дата: Четверг, 15.10.2015, 14:33:12 | Сообщение # 10
Сообщений: 107
Репутация: 1 [ +/- ]
Это такая же ф-я как и другие, конечно вредит, сделай как я тебе посоветовал
 
sdasdww24rf Дата: Четверг, 15.10.2015, 18:22:37 | Сообщение # 11
Сообщений: 6
Репутация: 0 [ +/- ]
Цитата dases2003 ()
Это такая же ф-я как и другие, конечно вредит, сделай как я тебе посоветовал


У меня так и сделано!!! Я хочу расширить свой кругозор в этой теме и понять как именно влияет частое использование PrecacheModel, а именно забивает ли оно лимит 2048 энтити!!!! Пожалуйста, читайте вопрос внимательно!
 
dases2003 Дата: Четверг, 15.10.2015, 19:30:13 | Сообщение # 12
Сообщений: 107
Репутация: 1 [ +/- ]
"забивает ли оно лимит 2048 энтити!!!!" - нет
Забивает только CreateEntityByName.
Ну и ентити на картах.

Добавлено (15.10.2015, 19:30:13)
---------------------------------------------
Precache - предварительное кэширование.
Кэширование — это простой и эффективный способ повысить производительность веб-приложения. Сохраняя относительно статичные данные в кэше и извлекая их из кэша, когда потребуется, мы экономим время, затрачиваемое на генерацию данных. (WIKI)

 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Отловить причину падения.
  • Страница 1 из 1
  • 1
Поиск: