Ping Control 0.1.5. Обновлённая версия от 01.04.2014 от trollface (Оптимизированный Ping Control ожил), Закачик: intercs. Автор: Freedo.m. Обновление от trollface. |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
Ping Control 0.1.5. Обновлённая версия от 01.04.2014 от trollface (Оптимизированный Ping Control ожил), Закачик: intercs. Автор: Freedo.m. Обновление от trollface. |
Safety1st |
15.12.2013, 22:49
Сообщение
|
|
|
intercs |
15.12.2013, 22:53
Сообщение
|
|
|
|
|
kreat1ff |
8.2.2014, 2:45
Сообщение
|
с редиректом я бы взял) у меня на серверах локация фиговая...пусть кидало бы где получше)
|
|
|
|
csnet |
8.2.2014, 8:44
Сообщение
|
посмотрел я исходник, честно говоря я бы не стал так писать, во первых начало проверок начинаются в plugin init
это глупо потому что пинг проверяется на игроках а не на обьектах карты, соответственно если игроков нет, то проверки тоже будут происходить, а тебе ведь нужна максимальная оптимизация. стоило бы как и у всех делать проверку именно по ID игрока, а не делать по ВСЕМ игрокам цикл. и начинать проверку нужно только после 10 секунд игрока входа на сервер. так как сами знаете - мотд окна и повышение пинга в начале входа на серв. во вторых зачем делать цикл по всем игрокам а потом проверять валид или нет, когда лучше взять get players и получить сразу живых игроков и сделать цикл по ним зачем юзать уникальный идентификатор задачи, ...не выключая ее Скрытый текст #define BIT_VALID(%1,%2) ((%1) & (1 << ((%2) - 1))) #define BIT_ADD(%1,%2) ((%1) |= (1 << ((%2) - 1))) #define BIT_SUB(%1,%2) ((%1) &= ~(1 << ((%2) - 1))) #define BIT_NOT_VALID(%1,%2) (~(%1) & (1 << ((%2) - 1))) #define _BIT_VALID(%1,%2) ((%1) & (1 << (%2))) #define _BIT_ADD(%1,%2) ((%1) |= (1 << (%2))) #define _BIT_SUB(%1,%2) ((%1) &= ~(1 << (%2))) #define _BIT_NOT_VALID(%1,%2) (~(%1) & (1 << (%2))) человек тупо скопировал макросы из которых используется 1-2 остальные вообще мертвым грузом лежат.
Отредактировал: csnet, - 8.2.2014, 9:01
go v cs:go
|
|
Поблагодарили 1 раз
|
|
intercs |
22.3.2014, 22:57
Сообщение
|
|
Скачать версию можно в 1 сообщении данной темы (там ссылка на новую версию, не нагружающую сервер проверками на пинг ежесекундно), спасибо csnet за его идеи и помощь:
Ping Check 1.0. Обновлённая версия от 23.03.2014 от csnet (Бывший Ping_Control), Закачик: intercs. Бывший автор: Freedo.m. Новая версия от сsnet. Ping Check Версия: 1.0 О заказчике, авторе и тд. Сcылка на заказы от intercs, где можно отследить ход заказов и ссылку на готовые заказы: https://c-s.net.ua/forum/topic52524s0.html ОПИСАНИЕ Ping Check: 1) Проверяет глобально пинг+пакеты loss за счет get_user_ping. 2) Автоматически в зависимости от настроек за количество предупреждений кикает или перенаправляет на свой другой сервер игрока с высоким пингом. 3) Присутствует наличие иммунитета по флагу (флаг по умолчанию: b) от проверки пинга. 4) Данный плагин уникален тем, что выбрана простейшая проверка на пинг, тем самым мы разгружаем сервер от ежесекундных проверок всех игроков на высокие пинги. 5) Уникальность заключается в простоте, за счет настроек в исходнике, а именно есть 2 режима (одновременно использовать не советуем): - Для PUBLIC проверка и наказание за высокий пинг производится в конце раунда, что максимально снижает нагрузку на сервер. - Для DM проверка и наказание за высокий пинг производится в момент убийства/захода в спектр/слея админом игрока у которого высокий пинг, что максимально снижает нагрузку на сервер. Примечание: но оба режима использовать одновременно не советуем... Или раскоментировать для паблика с концами раундов или же раскоментировать только для ДМ с убийствами, т.к. на ДМ бесконечный раунд... Настройка (внутри исходника): #define ACCESS_LEVEL_IMMUNITY ADMIN_RESERVATION // Уровень доступа позволяющий пропускать проверку на пинг (флаг по умолчанию: b) . #define MAX_ALLOWED_PING 150 // Максимально допустимый пинг и за превышение этого значения игрока в зависимости от настроек выкинет или перенаправит. #define MAX_WARNING_CHECK 1 // Количество концов раунда или убийства/захода в спектр/слея админом игрока у которого высокий пинг, за которое последует кик или перенаправление. Советуем выставить 1, чтоб особо не мучать игрока временем игры с его нестабильным соединением. #define use_public // Для PUBLIC проверка и наказание за высокий пинг производится в конце раунда, что максимально снимает нагрузку на сервер. Режим по умолчанию раскомнтирован = активирован. //#define use_dm // Для DM проверка и наказание за высокий пинг производится в момент убийства/захода в спектр/слея админом игрока у которого высокий пинг, что максимально снимает нагрузку на сервер. По умолчанию закоментирован = не активен. //#define IP_REDIRECT "127.0.0.1:27015" // Ип-адрес и порт сервера на который будет происходить перенаправление. По умолчанию выключенно, за счет закоментированности //, т.к. напоминаем, что многие мониторинги не любят сервера с перенаправлением и могут забанить ваш серв за такие хитрости, поэтому данная функция по умолчанию выключенна и производится просто кик с оповещением о кике за высокий пинг. Дополнительно: плагин, по возможности, будет ещё максимальнее оптимизироваться, хотя куда уж дальше, но будем стараться ещё максимальнее. Просьба по оплате (пожертвования): Я не из бедных, но т.к. обещал, что если никто не хочет скидываться и я без проблем сам оплачу полную сумму за заказ, то данные приватные плагины будут только тогда для себя. Но совесть поборола жадность и ради форумчан я готов делиться, но и от вас жду вместо 1 спасибо, копеечку и за счет этих копеечек будет стимул и дальше развивать нужные и максимально снижающие нагрузку на сервер заказы для всех. А именно: Номер кошелька Яндекс-деньги: 410011718322439 WebMoney Кошелек в Российских Рублях: R301235329004 WebMoney Кошелек в Украинских Гривнах: U278467755263 WebMoney Кошелек в Белорусских руб.: B189503728199 WebMoney Кошелек в Долларах США: Z499502426847 WebMoney Кошелек в Евро: E691436607738 Данное пожертвование будет идти на ещё более супероптимизационные идеи (плагины) с выдачей процента авторам (исполнителям) заказа с целью их стимулирования к выполнению увлекательных заказов! Не жадничайте... В планах уйма заказов.
Отредактировал: intercs, - 8.7.2014, 17:56
|
Поблагодарили 4 раз
|
|
csnet |
22.3.2014, 23:02
Сообщение
|
проверка в дм производится только в момент смерти, что на дм серверах примерно равняется частоте проверки в старом плагине от freedom ( 1 раз в 5 сек )
на дм серверах ты умираешь с частотой от 5 до 15 секунд в среднем спектры проверяются только в public режиме
Отредактировал: csnet, - 22.3.2014, 23:06
go v cs:go
|
|
Поблагодарили 2 раз
|
|
intercs |
22.3.2014, 23:03
Сообщение
|
|
проверка в дм производится только в момент смерти, что на дм серверах примерно равняется частоте проверки в старом плагине от freedom ( 1 раз в 5 сек ) на дм серверах ты умираешь с частотой от 5 до 15 секунд в среднем спектры проверяются только в public режиме Угу подправил описание. Пусть люди наслаждаются теперь уникальным разгрузочным кик/редирект пингером и я тоже, т.к. нет смысла мучать сервер каждыми 5-ти секундными проверками пробежкой по всем игрокам-) Спасибо тебе csnet. Кстати, чет упустили воплощение о блокировке от реконнекта игрока, ну там сек. 10 войти не может и ему пишет, мол нельзя вот так просто взять и перезайти на сервер...
Отредактировал: intercs, - 22.3.2014, 23:17
|
Поблагодарили 1 раз
|
|
csnet |
22.3.2014, 23:18
Сообщение
|
Цитата Кстати, чет упустили воплощение о блокировки от реконнекта игрока... пусть ставят antireconnect другим плагином .... их навалом в инете go v cs:go
|
|
Поблагодарили 1 раз
|
|
intercs |
22.3.2014, 23:20
Сообщение
|
|
|
Поблагодарили 1 раз
|
|
stop4ik |
23.3.2014, 11:25
Сообщение
|
server_cmd("kick #%d Р’С‹ были кикнуты РёР·-Р В·Р В° плохого соединения", get_user_userid(i)) можно эту строчку на русском ?
|
|
|
|
intercs |
23.3.2014, 13:23
Сообщение
|
|
server_cmd("kick #%d Р’С‹ были кикнѺты РёР·-Р В·Р В° плохого соединения", get_user_userid(i)) можно эту строчку на русском ? Нужно... Прошлую версию сохранили без УТФ-8 без Бом. Скрытый текст Список изменений, исправленийСписок изменений, исправлений = v1.1 от 23.03.2014: 1) Добавлена блокировка реконнекта игроков и по дефолту выставлено значение в 10 сек. #define MAX_SECONDS 10.0 // Анти-реконнект секунд для захода на сервер. Скачать новую версию можно с 1 поста данной темы. Пока не качайте, мы дофиксим, т.к. обнаружены недочеты, связанные с ложным обнаружением реконнета...
Отредактировал: intercs, - 23.3.2014, 13:55
|
Поблагодарили 1 раз
|
|
stop4ik |
23.3.2014, 16:28
Сообщение
|
Нужно... Прошлую версию сохранили без УТФ-8 без Бом. Скрытый текст Список изменений, исправленийСписок изменений, исправлений = v1.1 от 23.03.2014: 1) Добавлена блокировка реконнекта игроков и по дефолту выставлено значение в 10 сек. #define MAX_SECONDS 10.0 // Анти-реконнект секунд для захода на сервер. Скачать новую версию можно с 1 поста данной темы. Пока не качайте, мы дофиксим, т.к. обнаружены недочеты, связанные с ложным обнаружением реконнета... нет как раз без bom, у меня в браузере такая фигня, я код скопировал и вставил, все равно такая ерунда |
|
|
|
urpok |
23.3.2014, 17:39
Сообщение
|
|
|
BURZUM001 |
26.3.2014, 22:23
Сообщение
|
intercs,
Можно добавить строку в чат всем, что игрока "НИКНЕЙМ" кикнуло за высокий пинг? ато непонятно - толи сам вышел, толи кикнуло за пинг, инфы то нет... |
|
|
|
csnet |
26.3.2014, 22:59
Сообщение
|
Код:
кодировки и перевод сами исправите
Отредактировал: csnet, - 26.3.2014, 23:03
go v cs:go
|
|
Поблагодарили 1 раз
|
|
Mikasa |
29.3.2014, 20:41
Сообщение
|
Цитата #define MAX_WARNING_CHECK 1 // Количество концов раунда или убийства/захода в спектр/слея админом игрока у которого высокий пинг, за которое последует кик или перенаправление. Советуем выставить 1, чтоб особо не мучать игрока временем игры с его нестабильным соединением. Объясните по другому значение макроса. Цитата #define MAX_SECONDS 10.0 // Анти-реконнект секунд для захода на сервер. Вообще в исходнике не нашёл. Цитата #define CHECK(%0) (get_user_flags(%0) & ACCESS_LEVEL_IMMUNITY || is_user_bot(%0)) Зачем? Вот только не говорите, что это быстрее работает.
Отредактировал: TouchDev1l, - 29.3.2014, 20:41
|
|
|
|
trollface |
29.3.2014, 22:11
Сообщение
|
TouchDev1l,
#define MAX_WARNING_CHECK 1 как я понял игрока кикнет как только закончится кол-во раундов, указанное в дефайне либо кол-во переходов в спектр... если не так, то поправьте, пожалуйста intercs, ай не ври... Цитата Проверяет глобально пинг+пакеты loss за счет get_user_ping. LOSS данный плагин не проверяет.... беспонтовая переделка. проверка в конце раунда. ыыы вы серьезно думаете что task сильно нагружает сервер? таск не несет нагрузки... то что он тратит десяток тактов у проца это не нагрузка. ваши циклы в разы больше тратят... не занимайтесь фигней. Цитата поэтому данная функция по умолчанию выключенна и производится просто кик с оповещением о кике за высокий пинг. а если включить редирект то появятся ошибки, что вы пытаетесь кикнуть того, кого нет на сервере или юзать Код: #elseв условия дефайна не судьба?:)
Отредактировал: trollface, - 29.3.2014, 22:18
|
|
|
|
9iky6 |
30.3.2014, 0:20
Сообщение
|
|
Максимально снизить нагрузку... LOL....
Код: #define MAX_ALLOWED_PING 5 Да и хуже не будет, если сделать 1 таск который быстро прочекает всех игроков, чем для каждого запускать функцию. 32 функции либо 1 таск. P.S. В этой гонке победой будет усиление нагрузки на сервер. Смотрите, когда всё будет крашиться - будет поздно ворочать потраченные на всё это деньги. Если интерисует => могу дать хорошый вариант, который я делал на основе прошлой версии. В общем счете делает 15 проверок (MAX_WARNING_CHECK*3), полторы минуты. Больше плагин игрока не трогает (если он нормальный, тут же чекается всю игру!!! LOL). Редирект работать будет на стим и нон-стим (не хакинг. Просто руки прямые). Никогда не будет проблем никаких.
Отредактировал: 9iky6, - 30.3.2014, 0:41
|
Поблагодарили 2 раз
|
|
csnet |
30.3.2014, 1:11
Сообщение
|
часть была взята просто с предыдущего исходника. я лишь предложил другой вариант проверки
go v cs:go
|
|
|
|
csnet |
30.3.2014, 2:17
Сообщение
|
тогда все верно
делаем какой нибудь putinserver и чекаем игрока первые 2 минуты дальше не трогаем ты прав одна голова хорошо а две лучше
Отредактировал: csnet, - 30.3.2014, 2:18
go v cs:go
|
|
|
|