Возможно ли реализовать, hpk |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
Возможно ли реализовать, hpk |
Rokr__ |
4.8.2010, 21:15
Сообщение
|
|
Возможно ли реализовать плагин hpk,но чтобы в него было включено: кик за пинг,кик за плохое соединение (lame connection punsher) и задержка реконнекта после кика.
такой плагин реализован в cerebrus (cerb_hpk),но так как система платная и малоизученная,очень хотелось бы видеть такой плагин в паблике,думаю пригодится не только мне :) P.s никаких нарушений авторских прав,просто очень неплохая идея :) |
|
|
TiLos |
4.8.2010, 21:47
Сообщение
|
|
Код /* AMX Mod X script. * * This file is provided as is (no warranties). * * (c) 2002-2003, OLO * Modified by shadow * Modified again by Bo0m! * Modified again by Zefir! * For use alongside with the Cerberus Plugin. :) * ***************************************************************************** * Changelog: * * * 11 may 2009 - v1.1: * - add cvar * amx_hpk_loss -> lowest average loss to be kicked /// High/Low ping kicker amx_hpk_ping 60 amx_hpk_min_ping 0 amx_hpk_loss 10 amx_hpk_check 8 amx_hpk_tests 5 amx_hpk_delay 60 amx_hpk_redirect_ip "193.41.218.19" amx_hpk_low_redirect_ip "" amx_hpk_immunity 1 */ #pragma dynamic 1024 #include <amxmodx> #include <amxmisc> #include <cerberus> new const PLUGIN[] = "Cerberus High/Low Ping Kicker" new const VERSION[] = "1.1" new const AUTHOR[] = "Zefir" // Feel free to change this flag #define HPK_IMMUNE ADMIN_IMMUNITY // PCvars new hpk_ping, hpk_max_ping, hpk_min_ping, hpk_loss, hpk_check, hpk_tests new hpk_delay, hpk_redirect_ip, hpk_low_redirect_ip, hpk_immunity, hpk_ban_time new g_Ping[MAX_PLAYERS + 1] new g_Loss[MAX_PLAYERS + 1] new g_Samples[MAX_PLAYERS + 1] new g_PlayerCache[MAX_PLAYERS << 1] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_dictionary("cerb_hpk.txt") hpk_ping = register_cvar("amx_hpk_ping","100") hpk_max_ping = register_cvar("amx_hpk_critical_ping","1000") hpk_min_ping = register_cvar("amx_hpk_min_ping","0") hpk_loss = register_cvar("amx_hpk_loss","20") hpk_check = register_cvar("amx_hpk_check","12") hpk_tests = register_cvar("amx_hpk_tests","5") hpk_delay = register_cvar("amx_hpk_delay","60") hpk_redirect_ip = register_cvar("amx_hpk_redirect_ip","") hpk_low_redirect_ip = register_cvar("amx_hpk_low_redirect_ip","") hpk_immunity = register_cvar("amx_hpk_immunity","1") hpk_ban_time = register_cvar("amx_hpk_ban_time","300") } public plugin_cfg() { if (get_pcvar_num(hpk_check) < 5) set_pcvar_num(hpk_check,5) if (get_pcvar_num(hpk_tests) < 3) set_pcvar_num(hpk_tests,3) } public cerb_init() { cerb_set_kick_info(REASON_HIGH_PING, "CERB_REASON_HIGH_PING", hpk_redirect_ip) cerb_set_kick_info(REASON_LOW_PING, "CERB_REASON_LOW_PING", hpk_low_redirect_ip) cerb_set_kick_info(REASON_HIGH_LOSS, "CERB_REASON_HIGH_LOSS", hpk_redirect_ip) } public client_dropped(id) remove_task(id) public client_connect(id) checkReconnect(id) public client_putinserver(id) { g_Ping[id] = 0 g_Samples[id] = 0 if ( !cerb_is_user_bot(id) && !checkReconnect(id)) { g_PlayerCache[cerb_get_reconnect_cache_id(id)] = 0 new param[1] param[0] = id set_task( 15.0 , "showWarn" , id , param , 1 ) if (get_pcvar_num(hpk_delay) != 0) { set_task( float(get_pcvar_num(hpk_delay)), "taskSetting", id, param , 1) } else { set_task( float(get_pcvar_num(hpk_check)) , "checkPing" , id , param , 1 , "b" ) } } } public showWarn(param[]) { if (get_pcvar_num(hpk_ping)) client_print( param[0] ,print_chat,"[HPK] Players with ping higher than %d will be kicked!", get_pcvar_num(hpk_ping) ) if (get_pcvar_num(hpk_max_ping)) client_print( param[0] ,print_chat,"[HPK] Players with ping higher than %d will be kicked immediately!", get_pcvar_num(hpk_max_ping) ) if (get_pcvar_num(hpk_min_ping)) client_print( param[0] ,print_chat,"[HPK] Players with ping lowest than %d will be kicked!", get_pcvar_num(hpk_min_ping) ) if (get_pcvar_num(hpk_loss)) client_print( param[0] ,print_chat,"[HPK] Players with loss higher than %d will be kicked!", get_pcvar_num(hpk_loss) ) } public taskSetting(param[]) { // new name[32] // get_user_name(param[0],name,31) set_task( float(get_pcvar_num(hpk_check)) , "checkPing" , param[0] , param , 1 , "b" ) } public checkPing(param[]) { if (get_pcvar_num(hpk_tests) < 3) set_pcvar_num(hpk_tests, 3) new id = param[ 0 ] new i = cerb_get_reconnect_cache_id(id) static max_ping, critical_ping, min_ping, max_loss max_ping = get_pcvar_num(hpk_ping) critical_ping = get_pcvar_num(hpk_max_ping) min_ping = get_pcvar_num(hpk_min_ping) max_loss = get_pcvar_num(hpk_loss) if ( get_user_flags(id) & HPK_IMMUNE && get_pcvar_num(hpk_immunity) == 1 ) { remove_task(id) client_print(id, print_chat, "[HPK] Ping checking disabled due to immunity...") return PLUGIN_CONTINUE } new ping, loss get_user_ping(id, ping, loss) if (critical_ping && ping > critical_ping) { g_PlayerCache[i] = REASON_HIGH_PING cerb_kick(0, id, REASON_HIGH_PING) return PLUGIN_CONTINUE } g_Ping[ id ] += ping g_Loss[ id ] += loss ++g_Samples[ id ] if (g_Samples[ id ] > get_pcvar_num(hpk_tests)) { if (max_ping && g_Ping[id] / g_Samples[id] > max_ping) { g_PlayerCache[i] = REASON_HIGH_PING cerb_kick(0, id, REASON_HIGH_PING) } if (min_ping && g_Ping[id] / g_Samples[id] < min_ping) { g_PlayerCache[i] = REASON_LOW_PING cerb_kick(0, id, REASON_LOW_PING) } if (max_loss && g_Loss[id] / g_Samples[id] > max_loss) { g_PlayerCache[i] = REASON_HIGH_LOSS cerb_kick(0, id, REASON_HIGH_LOSS) } } return PLUGIN_CONTINUE } public checkReconnect(id) { if(!cerb_is_user_authorized(id) || !cerb_is_user_connected(id)) return PLUGIN_CONTINUE new ban_time = get_pcvar_num(hpk_ban_time) new r_time = cerb_get_reconnect_time(id) if(!ban_time || cerb_is_user_bot(id) || cerb_is_user_hltv(id) || r_time < 0 || r_time > ban_time) return PLUGIN_CONTINUE new i = cerb_get_reconnect_cache_id(id) if (g_PlayerCache[i] == REASON_HIGH_PING || g_PlayerCache[i] == REASON_LOW_PING || g_PlayerCache[i] == REASON_HIGH_LOSS) { cerb_kick(0, id, g_PlayerCache[i]) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } P.S: Google
Отредактировал: TiLos, - 4.8.2010, 21:47
|
Поблагодарили 1 раз
|
|
Rokr__ |
4.8.2010, 22:06
Сообщение
|
|
по прежнему требует cerebrus (For use alongside with the Cerberus Plugin),как лечить?
|
|
|
TiLos |
4.8.2010, 22:18
Сообщение
|
|
Завтра посмотрю тогда. Там короче инклуд нужен и ланг файл... Утром напишу тут
|
|
|
Rokr__ |
4.8.2010, 22:25
Сообщение
|
|
заранее благодарен :)
тк сам не юзаю церебра-хотелось бы и плагин от этого отучить )
Отредактировал: Rokr__, - 4.8.2010, 22:26
|
|
|
TiLos |
5.8.2010, 13:52
Сообщение
|
|
заранее благодарен :) тк сам не юзаю церебра-хотелось бы и плагин от этого отучить ) http://cerberus.cstrike.in.ua/download/files/cerberus/ Вытащи попробуй отсюда ланг файл и include связанный\связанные с цербером. И сам cerberus.amxx Тоже поставь
Отредактировал: TiLos, - 5.8.2010, 13:54
|
|
|
Zefir |
5.8.2010, 14:11
Сообщение
|
Возможно ли реализовать плагин hpk,но чтобы в него было включено: кик за пинг,кик за плохое соединение (lame connection punsher) и задержка реконнекта после кика. такой плагин реализован в cerebrus (cerb_hpk),но так как система платная и малоизученная,очень хотелось бы видеть такой плагин в паблике,думаю пригодится не только мне :) P.s никаких нарушений авторских прав,просто очень неплохая идея :) Собственно вот: http://cstrike.in.ua/blog/2010/06/open-acc...ndart-cerberus/ Я открыл версию уже более месяца назад, когда начали тестировать следующую версию... |
|
Поблагодарили 1 раз
|
|
Rokr__ |
5.8.2010, 18:04
Сообщение
|
|
TiLos,
+2 плагина,конфликта не будет? (admin.amxx cerebrus.amxx) Zefir, я знаю, как раз месяц назад решил изучить сие чудо-поставил форум,плагины,настроил по мануалу,но так и не нашел как добавить админов на сервер (мой видимо косяк),на этом мои познания церебра закончились) моя идея была в том чтобы плагин был не зависим от самой системы,просто плаг,сделал бы сам, но только начал изучать pawn :)
Отредактировал: Rokr__, - 5.8.2010, 18:04
|
|
|
Zefir |
5.8.2010, 18:18
Сообщение
|
TiLos, +2 плагина,конфликта не будет? (admin.amxx cerebrus.amxx) Zefir, я знаю, как раз месяц назад решил изучить сие чудо-поставил форум,плагины,настроил по мануалу,но так и не нашел как добавить админов на сервер (мой видимо косяк),на этом мои познания церебра закончились) моя идея была в том чтобы плагин был не зависим от самой системы,просто плаг,сделал бы сам, но только начал изучать pawn :) Конечно будут конфликты :) А что админов не создал, то там все просто, группу создаешь ей права назначаешь и указываешь серваки на которых группа имеет права. Все, добавление любого игрока в группу делает его админом. А вообще с такими вопросами лучше на форум поддержки. Отдельно такой плагин мне нет резона делать ;) |
|
|
|
Rokr__ |
5.8.2010, 18:31
Сообщение
|
|
Zefir,
я думал ты не заглянешь в эту тему :) Цитата Отдельно такой плагин мне нет резона делать ;) вот вот pr проект :D в принципе его делать то не надо,он есть,но зависимый от церебра ;) |
|
|
Zefir |
5.8.2010, 20:29
Сообщение
|
Zefir, я думал ты не заглянешь в эту тему :) вот вот pr проект :D в принципе его делать то не надо,он есть,но зависимый от церебра ;) Так в том то и прикол что без цербера не будет норм контроля за игроком, у меня то и динамические сети контролятся и много чего другого, так что задержку реконнекта, как ты ее назвал, и не сделаешь по другому :) Прийдется как то свою схему придумывать ... А так у меня все готовое. Кстати у меня даже мой гангейм статистику по церберу ведет, то есть под каким бы ником и с какого бы IP игрок ни играл, статс сохраняется для игроков. Очень норм работает... |
|
|
|
PORKI |
6.8.2010, 1:43
Сообщение
|
|
У тебя есть ГГ ,а что ты тогда на моём забыл?))На выходных хочу поиграться с интеграцией на ipb
Отредактировал: PORKI, - 6.8.2010, 1:43
|
|
|
xSav |
6.8.2010, 7:39
Сообщение
|
Zefir
Меня заинтересовал сей продукт но я так понимаю нужен дополнительно античит типа маяка дабы устанавливать hard_id и без этого никак ? |
|
|
|
Rokr__ |
6.8.2010, 8:43
Сообщение
|
|
Zefir,
и да кстати,почему бы тебе не поведать форумчанам о своем творении? мануал по установке,настройке,плюсы и минусы,отличия,преимущества и недостатки,думаю найдется немало заинтересовавшихся :) |
|
|
Zefir |
6.8.2010, 14:06
Сообщение
|
У тебя есть ГГ ,а что ты тогда на моём забыл?))На выходных хочу поиграться с интеграцией на ipb Ты же знаешь, пока у тебя и у других админов читакам раздолье у меня народу не тусуется много заставляю регатся с динамики и не даю почитерить :) А так на ГГ у меня актиность не намного хуже чем на ДМ где постоянно минимум 8 рыл ботских есть :) Zefir Меня заинтересовал сей продукт но я так понимаю нужен дополнительно античит типа маяка дабы устанавливать hard_id и без этого никак ? Никаких античитов не нужно, хотя они не помешают... А с их идентификаторами тамошняя версия работать еще не умеет. Это все в новой реализовано. Zefir, и да кстати,почему бы тебе не поведать форумчанам о своем творении? мануал по установке,настройке,плюсы и минусы,отличия,преимущества и недостатки,думаю найдется немало заинтересовавшихся :) А это для кого писалось? https://c-s.net.ua/forum/topic16973.html А вот самый первый топик... https://c-s.net.ua/forum/topic11627.html можете посмотреть по датам... :) Но та версия была как бы сказать... слишком сырой еще :) |
|
|
|
xSav |
6.8.2010, 15:06
Сообщение
|
Никаких античитов не нужно.. соответственно твоя система сама определяет каким то образов чтото типа хард айди или тому подобное ?
|
|
|
|
Zefir |
6.8.2010, 17:23
Сообщение
|
Никаких античитов не нужно.. соответственно твоя система сама определяет каким то образов чтото типа хард айди или тому подобное ? Нет, внимательно ознакомся с возможностями... Я действую на основе сетей, если сеть с динамическими адресами, то игрок должен зарегистрироваться на форуме, и вход на сервера без пароля и регистрации ему будет невозможен. И банится именно акаунт на форуме. Но вот если у игрока статический адрес выданный провайдером, то тогда банится по адресу. Это я описал самый стандартный вариант поведения, он настраивается очень гибко, смотри подробности здесь: http://cerberus.cstrike.in.ua/wiki/ru:overview |
|
Поблагодарили 1 раз
|
|
xSav |
6.8.2010, 17:40
Сообщение
|
я так понимаю получить версию новую которая в разработке можно будет только путем перечисления 10 евро на кошель ?
То есть я попадаю на форум и там уже и тех поддержка и все остальное ? |
|
|
|
Zefir |
6.8.2010, 17:49
Сообщение
|
Нет, никаких денег не надо :)
Хотя только если, для поддержки проекта :) Новая версия также будет абсолютно бесплатна... Но ее пока в паблике нету. Она еще пре-альфа. Когда доберемся до беты, тогда выложу в паблик... Но могу сказать что к примеру вчера оттестили уровни иммунитета. То есть у админов будут уровни и забанить другого админа будет можно, только если твой уровень на 2 уровня выше. А для кика хватит и 1 уровня разницы. Всего будет 8 уровней. Ну это интересно в основном для больших порталов... |
|
|
|
xSav |
7.8.2010, 7:23
Сообщение
|
Да но как тогда быть если тут сказано немного по другому
http://cerberus.cstrike.in.ua/forum/topic/45/ Цитата Полная версия Цербера становиться доступна только после получения доступа к разделу Стандартной версии. Доступ может быть выдан или активистам и бета-тестерам, или спонсорам проекта. Активистом на всех форумах быть не возможно посему тока деньги остается |
|
|
|