[Любая игра] Passive Checking Ping

Тема в разделе "Утверждённые плагины", создана пользователем AlmazON, 12 июн 2015.

  1. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.586
    Симпатии:
    1.994
    Passive Checking Ping
    Текущая версия: 0.2.5

    Описание:
    • Эффективно быстро выкидывает всех игроков с сервера, передвигающихся в "режиме телепортера", т.е. идущих с заметными рывками-лагами (большой пинг).
    P.S. Не имеет попыток-"провалов" при измерении, поэтому не ставьте слишком малые величины максимального пинга во избежании учащенного кика игроков!

    Требования:

    Поддерживаются игры:
    • Любая игра

    Установка:
    • Переместите или скопируйте файл "PassiveCheckingPing.sp" в директорию addons\sourcemod\scripting сервера.
    • Скомпилируйте плагин. Переместите или скопируйте полученный файл "PassiveCheckingPing.smx" в директорию addons\sourcemod\plugins сервера.
    • Автоматическое создание конфигурационного файла от плагина по пути ...\cfg\sourcemod сервера.
      Поддержка ручной загрузки плагина при работе сервера (смена карты или перезапуск сервера не обязателен).

    Настройки (CVAR's):
    • pcp_admin_flag - Пусто ("") - любой флаг, либо флаги администраторов (латинские буквы).
    • pcp_player_max - Максимально допустимый пинг для игрока (минимум: 5).

    Описание:
    • Мгновенно выкидывает всех игроков с сервера, передвигающихся в "режиме телепортера", т.е. идущих с заметными рывками-лагами (большой пинг).
    P.S. Не имеет попыток-"провалов" при измерении, поэтому не ставьте слишком малые величины максимального пинга во избежании учащенного кика игроков!

    Требования:

    Поддерживаются игры:
    • CS:GO и CS:S

    Установка:
    • Переместите или скопируйте файл "PassiveCheckingPing.sp" в директорию addons\sourcemod\scripting сервера.
    • Скомпилируйте плагин. Переместите или скопируйте полученный файл "PassiveCheckingPing.smx" в директорию addons\sourcemod\plugins сервера.

    Настройки (CVAR's):
    • player_ping_max - Максимально допустимый пинг для игрока (минимум: 5).

    Настройка:
    • Для внесения изменений, прописать вышеуказанный квар в server.cfg (директория ...\cfg) или любой другой исполняемый конфигурационный файл.

    PHP:
    v0.1.0 (12.06.2015) - первый релиз плагина;
    v0.2.0 (05.04.2016) - всестороннее улучшение плагина;
    v0.2.5 (25.04.2016) - полная поддержка новых версий SM.
     

    Вложения:

    Последнее редактирование: 27 апр 2016
    Kaptain, Leckter Hannibal, T1MOXA и 3 другим нравится это.
  2. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.586
    Симпатии:
    1.994
    На CS:S заметил неприятность в работе: при заходе на сервер сразу после его первого запуска (при перезапуске проходит нормально) с новоустановленным плагином и вступлении в игру (с ботами), если резко сорваться с места - происходит кик.
    Думаю, это связано с временным большим скачком пинга на время первой загрузки плагина... Но потом он "приживается", что странно. :-D
    P.S. Возможно, эта проблема касается лишь при локальном подключении (сервер-клиент на одной машине).
     
  3. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.729
    Симпатии:
    461
    проверять пинг при player_footstep - ИМХО лишняя нагрузка.
    либо таймер, либо ивенты которые выполняются не так часто
     
    R1KO нравится это.
  4. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.586
    Симпатии:
    1.994
    Есть вариант получше для мгновенного кика?)
    Таймеры будут работать постоянно (переподключать их - тоже часть нагрузки) + собственно цикл (чем меньше людей на сервере, тем ниже КПД такого плагина). Другие события - слишком редки, либо имеют слишком частый промежуток между сработками (например, между событиями стрельбы - доли секунды).
    А тут - раз в секунду проверяет игрока и то, при условии, что он бежит/идёт, а не где-то АФК торчит, либо вообще в наблюдателях/мёртв. Оффтоп
     
  5. T1MOXA

    T1MOXA

    Сообщения:
    469
    Симпатии:
    32
    Классный плагин, хорошая замена High Ping Kicker
     
    AlmazON нравится это.
  6. BatyaMedic

    BatyaMedic

    Сообщения:
    769
    Симпатии:
    123
    Сделай вайт лист для игроков.
     
  7. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.586
    Симпатии:
    1.994
    Т.е.? По нику, Стиму, флагу или какой такой телепатии?
    Также сразу скажу, что это ощутимо повысит нагрузку на сервер, если таких "вайт" будет мало (проверок больше без "стопора").
     
  8. DarklSide

    DarklSide

    Сообщения:
    685
    Симпатии:
    173
    Проверять булевую в player_footstep, присваивать её при коннекте?!
     
  9. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.586
    Симпатии:
    1.994
    Считаешь, этого мало? Тут и без этого нагрузка большинству не нравится. И ты забываешь, что кроме самой проверки, придётся тогда вводить переменную индекса: создавать её или даже просто хранить (и приравнивать, что тоже скажется).
    Можно, сказать, раза в полтора добавится по сравнению с оригиналом.
     
  10. BatyaMedic

    BatyaMedic

    Сообщения:
    769
    Симпатии:
    123
    Ну попробуй как-нибудь,будет полезно.
     
  11. BatyaMedic

    BatyaMedic

    Сообщения:
    769
    Симпатии:
    123
    На TF2 с ошибками работает.
    L 07/02/2015 - 13:37:02: [SM] Native "HookEvent" reported: Game event "player_footstep" does not exist
    L 07/02/2015 - 13:37:02: [SM] Displaying call stack trace for plugin "PassiveCheckingPing_v0.1.0.smx":
    L 07/02/2015 - 13:37:02: [SM] [0] Line 15, PassiveCheckingPing_v0.1.0.sp::OnPluginStart()
    [
     
  12. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.005
    Симпатии:
    2.994
    BatyaMedic, в tf2 нет эвента player_footstep
     
  13. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.586
    Симпатии:
    1.994
    Это означает, что эта игра не поддерживается для события. Нужно какое-то другое, достаточно частое.
     
  14. vaxa

    vaxa Rock Rulet!

    Сообщения:
    859
    Симпатии:
    102
    80 <Error> "Passive Checking Ping" (0.1.0) by AlmazON
    Load Errors:
    Passive Checking Ping: Error: entity "cs_player_manager" is not found!
     
  15. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.586
    Симпатии:
    1.994
    Всем желающим предлагаю протестировать новую версию.
    По ощущениям работает уже не так мгновенно, зато и нагрузка на сервер снизится (особенно для серверов с ботами - полностью игнорируются). Также попытка решить проблему:
    Кстати говоря, поскольку проверки осуществляются реже, то тем самым это может лучше сказаться на игроках, вместо "провалов попыток проверки пинга". Возможно, выше стабильность для установки более низкого значения максимально допустимого пинга.
    Количество поддерживаемых игр также должно быть расширено (где раньше не работало).
    Если результаты будут вполне успешны, версия в полном виде будет добавлена в тему (в "Ресурсы").

    Улучшенная версия после v0.1.0 имеется в шапке темы и скомпилирована в этом посте.
     
    Последнее редактирование: 8 апр 2016
    Monomizer нравится это.
  16. robocop

    robocop

    Сообщения:
    144
    Симпатии:
    8
    Несколько вопросов:
    1) Игрок получает какое нибудь уведомление за что он кикнут, (имеется ввиду большой пинг).
    2)Настройка только одна cvar player_ping_max ?
    3)Время выставить по которому чекает пинг нельзя?
     
  17. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.586
    Симпатии:
    1.994
    Ясное дело, в том же окошке, как всегда (при бане, например).
    Минимум настроек, минимум кода и минимум лагеров-"телепортеров". :derisive:
    Новая схема более гибкая, планирую добавить иммунитет админам (по флагам) и время бездействия после захода (на серверах, где пинг у всех сначала слишком высок, а затем спадает до адекватного значения).
    Для него вообще нет понятия времени. Потому он и "пассивный")
     
  18. robocop

    robocop

    Сообщения:
    144
    Симпатии:
    8
    Ок, пойду тестить.:ab:

    Да, как Вы и писали Оффтоп кикает сразу же.
    Когда планируете добавить иммунитет админам , и хотя бы 5-10 сек времени , чтоб нормализовался пинг у игроков.
     
    Последнее редактирование: 3 апр 2016
  19. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.729
    Симпатии:
    461
    SDKHook_ThinkPost?
     
  20. AS TRO

    AS TRO

    Сообщения:
    1.056
    Симпатии:
    509
    В скором времени поставлю на сервер ксс и ксго, и отпишусь :)