Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 19 мар 2024, 12:42

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: 15 фев 2018, 21:20 
Не в сети
Зарегистрирован:
15 фев 2018, 20:53
Последнее посещение:
19 окт 2021, 22:07
Сообщения: 3
Доброго времени суток, методами тестов выяснил, что при некоторых обстоятельствах dproto может положить сервер.
Если одновременно кикать игрока (например плагин банов) и проверять стим игрок или нон-стим (lite tranlite, при установки префикса), то сервер крашится.
При этом, плагин, который кикает в plugins.ini должен находится выше, чем плагин, который проверяет стим.
Вот результаты тестов при входе игрока
1) test_kick.amxx и test_check_steam.amxx включены, dproto включен, test_kick.amxx в plugins.ini выше, чем test_check_steam.amxx - краш
2) test_kick.amxx и test_check_steam.amxx включены, dproto включен, test_check_steam.amxx в plugins.ini выше, чем test_check_steam.amxx - нет краша
3) один из плагинов test_kick.amxx или test_check_steam.amxx выключен, dproto включен - нет краша
4) пункты 1, 2 и 3, но при выключенном dproto - нет краша
 Логи и информация о сервере при краше

Исходники плагинов, с которыми проводился тест, прилагаю, так же при краше был создан файл core.22943, его тоже прикрепил.
Возникает данное событие редко и его сложно было отловить.

Я предполагаю, что это просходит при выполнении команды dp_clientinfo от плагина, в то время, когда игрок вышел


Вложения:
Скачать плагин или Скачать исходник [test_kick.sma - 299 байт]
Скачиваний: 570
Скачать плагин или Скачать исходник [test_check_steam.sma - 537 байт]
Скачиваний: 573
core.22943.zip [85.17 КБ]
Скачиваний: 310


Последний раз редактировалось BaHeK 15 фев 2018, 21:26, всего редактировалось 1 раз.
Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 15 фев 2018, 21:26 
Не в сети
Зарегистрирован:
28 янв 2015, 15:43
Последнее посещение:
06 янв 2020, 19:14
Сообщения: 4
Видимо проблема в dp_clientinfo
:pardon:


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 18 фев 2018, 17:28 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
18 мар 2024, 17:42
Сообщения: 6864
Привет!
В dp_clientinfo нечему падать.
Поставь gdb, настрой лимиты: http://aghl.ru/forum/viewtopic.php?f=10&t=1441
Будет сразу видно где падает.


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 19 фев 2018, 14:23 
Не в сети
Зарегистрирован:
15 фев 2018, 20:53
Последнее посещение:
19 окт 2021, 22:07
Сообщения: 3
Lev писал(а):
Привет!
В dp_clientinfo нечему падать.
Поставь gdb, настрой лимиты: http://aghl.ru/forum/viewtopic.php?f=10&t=1441
Будет сразу видно где падает.
 debug.log


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 19 фев 2018, 22:05 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
18 мар 2024, 17:42
Сообщения: 6864
Код:
        server_cmd("kick #%d ^"You are banned^"", get_user_userid(id));
        //server_exec();
Почему server_exec закомментил?


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 20 фев 2018, 21:10 
Не в сети
Зарегистрирован:
15 фев 2018, 20:53
Последнее посещение:
19 окт 2021, 22:07
Сообщения: 3
Lev проверял разные варианты и с set_task, с set_task пару раз возникала проблема.
Раскомментил, вот результат
 debug.log


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 20 фев 2018, 21:53 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
18 мар 2024, 17:42
Сообщения: 6864
При краше выполняется
Код:
        server_cmd("kick #%d ^"You are banned^"", get_user_userid(id));
        server_cmd("dp_clientinfo %d", id);
        server_exec();
Скорее всего и без dp_clientinfo будет падать.
В ReHLDS есть немного фиксов на эту тему, например: https://github.com/dreamstalker/rehlds/blob/7a415ed47ce8f0f8341ac2f7af11a82ecbedd265/rehlds/engine/sv_main.cpp#L1381
Точно не знаю что там, но, возможно, это известная проблема. Дпрото сам по себе точно ни при чем.


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB