|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
Бан коннект-флудерам :)
|
|
Argus | Дата: Вторник, 09.09.2008, 17:05:14 | Сообщение # 1 |
 AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Статус: Не в сети
| ban people who keep retrying when server full Ситуация: На сервере нету свободных слотов - он забит полностью, остались только резервные, но некоторые пользователи постоянно делают попытки коннекта к серверу с целью попасть на него (пробиться во время реконнекта другого игрока, или просто успеть первым на новое освободившееся место). Каждый способен делать до 2х попыток в секунду. В результате, если на сервер пытается одновременно пробиться человека 4, то имеем почти 8 записей в секунду в консоли сервера следующего содержания: Quote 16:29:28 "argus<143><>" connected, address "10.253.154.100:666" 16:29:28 "argus<143><>" triggered "address" (address "10.253.154.100:666") 16:29:28 Kick: "argus<143><>" was kicked by "Console" (message ""Dropped due to slot reservation!"") по факту имеем дополнительную нагрузку на сервер и дикий флуд в online логах сервера (logaddress_add) Решение: Отучить пользователей от данной методики и приучить их пользоваться стандартными средства коннекта к серверу без коннект-флуда, путем наказания(ban) за подобные действия, методом внесения изменений в плагин adminslots входящий в стандартный набор AMXX. Почему модификация adminslots, а не создание отдельного плагина? Потому что все события client_authorized (коннект игрока) перехватываются плагином adminslots и уже он решает, пускать на сервер или нет(кикнуть коннект). Другой плагин при обработке этого события пролетает (опаздывает), ибо клиент уже вошел или выгнан. Реализация: При первой неудачной попытке пользователя приконнектиться к серверу с резервным слотом (на который у него нету прав) его IP заносится в "серый" список, и при каждой последующей неудачной попытке увеличивается счётчик его попыток до тех пор, пока он не достигнет максимально разрешенного значения, далее - оповещение пользователя, непродолжительный бан и удаление записи из "серого" списка. Переменные: amx_cf <0|1> - выкл|вкл функциональность плагина. (по-умолчанию=0) amx_cfattempts <число> - число допустимых неудачных попыток до получения бана. (по-умолчанию=3) amx_cfbanlength <число> - продолжительность бана в минутах (дробные значения допускаются). (по-умолчанию=3) Код: Code #include <amxmodx> #include <amxmisc>
//+argus #define MAX_PLAYERS 5
new pIP[MAX_PLAYERS][16] new pChnc[MAX_PLAYERS] new p_cvar_connectflood, p_cvar_attempts, p_cvar_connectfloodban new const BAN_MESSAGE[] = "STOP FLOODING THE SERVER!! SERVER IS FULL!! NO FREE SLOT! %d sec BAN" //-argus
new g_cmdLoopback[16] new g_ResPtr new g_HidePtr
public plugin_init() { register_plugin("Slots Reservation", AMXX_VERSION_STR, "AMXX Dev Team") register_dictionary("adminslots.txt") register_dictionary("common.txt") g_ResPtr = register_cvar("amx_reservation", "0") g_HidePtr = register_cvar("amx_hideslots", "0") format(g_cmdLoopback, 15, "amxres%c%c%c%c", random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z'), random_num('A', 'Z')) register_clcmd(g_cmdLoopback, "ackSignal")
//+argus p_cvar_connectflood = register_cvar("amx_cf","1") p_cvar_connectfloodban = register_cvar("amx_cfbanlength","3") p_cvar_attempts = register_cvar("amx_cfattempts", "3") //-argus }
public plugin_cfg() { set_task(3.0, "MapLoaded") }
public MapLoaded() { if (!get_pcvar_num(g_HidePtr)) return
new maxplayers = get_maxplayers() new players = get_playersnum(1) new limit = maxplayers - get_pcvar_num(g_ResPtr) setVisibleSlots(players, maxplayers, limit) }
public ackSignal(id) { new lReason[64] format(lReason, 63, "%L", id, "DROPPED_RES") server_cmd("kick #%d ^"%s^"", get_user_userid(id), lReason) return PLUGIN_HANDLED }
public client_authorized(id) { new maxplayers = get_maxplayers() new players = get_playersnum(1) new limit = maxplayers - get_pcvar_num(g_ResPtr)
if (access(id, ADMIN_RESERVATION) || (players <= limit)) { if (get_pcvar_num(g_HidePtr) == 1) setVisibleSlots(players, maxplayers, limit) return PLUGIN_CONTINUE }
//+argus if (!(is_user_bot(id)) && (get_pcvar_num(p_cvar_connectflood))) { new ip[16] get_user_ip(id,ip,15,1) new bool:banflag = false new attempts = get_pcvar_num(p_cvar_attempts)
new n for(n = 0; n < MAX_PLAYERS; n++) { if (equal(ip, pIP[n], 16)) { if (pChnc[n] >= attempts) { new uID[1], aID[1] uID[0] = id aID[0] = n set_task( 3.0,"slban",77,uID[0],1) set_task( 4.0, "slcleanID", (id + MAX_PLAYERS),aID[0],1) banflag = true } else { pChnc[n]++ } break } }
if (n == MAX_PLAYERS) { //this user not in list new m for(m = 0; m < MAX_PLAYERS; m++) { if (pIP[m][0] == 0) { // found empty slot get_user_ip(id,pIP[m],15,1) pChnc[m]++ break } } if (m == MAX_PLAYERS) //no empty slots! clear all! for(new m = 0; m < MAX_PLAYERS; m++) { pIP[m][0] = 0 pChnc[m] = 0 } }
if (!banflag) client_cmd(id, "%s", g_cmdLoopback) else banflag = false return PLUGIN_HANDLED } //-argus
client_cmd(id, "%s", g_cmdLoopback)
return PLUGIN_HANDLED }
//+argus public slban(id[]) { new ip[16] new strr[128] new length get_user_ip(id[0],ip,15,1) length = floatround(60 * get_pcvar_float(p_cvar_connectfloodban), floatround_round);
format(strr ,127 ,BAN_MESSAGE , length) server_cmd("kick #%d ^"%s^"", get_user_userid(id[0]), strr) server_cmd("addip %f %s", get_pcvar_float(p_cvar_connectfloodban), ip)
return PLUGIN_CONTINUE }
public slcleanID(i[]) { pIP[i[0]][0] = 0 pChnc[i[0]] = 0 } //-argus
public client_disconnect(id) { if (!get_pcvar_num(g_HidePtr)) return PLUGIN_CONTINUE
new maxplayers = get_maxplayers() setVisibleSlots(get_playersnum(1) - 1, maxplayers, maxplayers - get_pcvar_num(g_ResPtr)) return PLUGIN_CONTINUE }
setVisibleSlots(players, maxplayers, limit) { new num = players + 1
if (players == maxplayers) num = maxplayers else if (players < limit) num = limit set_cvar_num("sv_visiblemaxplayers", num) } originally thread http://forums.alliedmods.net/showthread.php?t=69441
Правила форума Поиск плагинов Последние сообщения форума
|
|
| |
Joker | Дата: Вторник, 09.09.2008, 17:22:10 | Сообщение # 2 |
 Генерал-майор
Группа: Пользователи
Сообщений: 375
Статус: Не в сети
| Что с кодировкой форума? =\ Ну это никакой нагрузки на сервер не дает. Насчет флуда в консоли тоже можно поспорить, возможно это кому-небудь нужно (врядли).. За скрипт всеравно спасибо..
One death is a Tragedy One million is a Statistic...
|
|
| |
Argus | Дата: Вторник, 09.09.2008, 17:24:39 | Сообщение # 3 |
 AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Статус: Не в сети
| Quote (Joker) Насчет флуда в консоли тоже можно поспорить вот вырезка из логов (до модификации плагина), получаемых моим HLSW буквально в течении 30 секунд с одного лишь сервера (для получения HLSW логов с сервера жмем кнопочку Get Log в Rcon Section): Quote L 04/08/2008 - 18:48:20: "Mirage<8229><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:20: "Mirage<8229><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:20: Kick: "Mirage<8229><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:20: "S[m][o]L<7976>" say "/me" (dead) L 04/08/2008 - 18:48:21: "Mirage<8230><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:21: "[DON] R.E.M.<8231><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:21: "Mirage<8230><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:21: "[DON] R.E.M.<8231><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:21: "Delete<<[PogHeu* MyJIJIeH]<8219><>" joined team "CT" L 04/08/2008 - 18:48:21: Kick: "Mirage<8230><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:21: Kick: "[DON] R.E.M.<8231><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:21: "AHDP[E]u':)<7881>" say_team "a" L 04/08/2008 - 18:48:21: "Frodo <3 KuH)I(aJIb4er<7606>" say "mega mouse" (dead) L 04/08/2008 - 18:48:22: "Mirage<8232><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:22: "beyond godlike<7613>" killed "3aP9l)l(eHblu rPu6 xD<7504>" with "usp" L 04/08/2008 - 18:48:22: "Mirage<8232><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:22: Kick: "Mirage<8232><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:22: "beyond godlike<7613>" killed "-=Sh@de=-<7553>" with "grenade" L 04/08/2008 - 18:48:22: "[DON] R.E.M.<8233><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:22: "[DON] R.E.M.<8233><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:22: Kick: "[DON] R.E.M.<8233><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:24: "Mirage<8234><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:24: "Mirage<8234><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:24: Kick: "Mirage<8234><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:24: "[DON] R.E.M.<8235><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:25: "[DON] R.E.M.<8235><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:25: "Mirage<8236><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:25: "Mirage<8236><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:25: Kick: "[DON] R.E.M.<8235><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:25: Kick: "Mirage<8236><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:25: "[55]/FENOZIPAM/<7075>" killed "BoRoMiR <3 koJIbLjooooooo<7738>" with "deagle" L 04/08/2008 - 18:48:25: "Mirage<8237><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:25: "Mirage<8237><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:25: Kick: "Mirage<8237><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:26: "Mirage<8238><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:26: "Mirage<8238><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:26: Kick: "Mirage<8238><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:26: "Mirage<8239><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:26: "[DON] R.E.M.<8240><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:26: "Mirage<8239><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:26: "[DON] R.E.M.<8240><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:26: Kick: "Mirage<8239><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:26: Kick: "[DON] R.E.M.<8240><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:27: "Mirage<8241><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:27: "Mirage<8241><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:27: "^*^<8122>" killed "Kollektop<8087>" with "usp" L 04/08/2008 - 18:48:27: Kick: "Mirage<8241><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:27: "Mirage<8242><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:27: "Mirage<8242><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:27: Kick: "Mirage<8242><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:28: "[DON] R.E.M.<8243><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:28: "[DON] R.E.M.<8243><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:28: Kick: "[DON] R.E.M.<8243><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:28: "Mirage<8244><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:28: "Mirage<8244><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:28: Kick: "Mirage<8244><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:29: "Mirage<8245><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:29: "Mirage<8245><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:29: "[DON] R.E.M.<8246><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:29: Kick: "Mirage<8245><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:29: "[DON] R.E.M.<8246><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:29: Kick: "[DON] R.E.M.<8246><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:29: "Mirage<8247><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:29: "Mirage<8247><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:29: Kick: "Mirage<8247><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:30: "Mirage<8248><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:30: "Mirage<8248><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:30: Kick: "Mirage<8248><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:30: "beyond godlike<7613>" triggered "Begin_Bomb_Defuse_With_Kit" L 04/08/2008 - 18:48:30: "Mirage<8249><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:30: "[DON] R.E.M.<8250><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:30: "Mirage<8249><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:30: "[DON] R.E.M.<8250><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:30: Kick: "Mirage<8249><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:31: Kick: "[DON] R.E.M.<8250><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:31: "Mirage<8251><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:31: "Mirage<8251><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:31: Kick: "Mirage<8251><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:31: "Mirage<8252><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:31: "Mirage<8252><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:31: Kick: "Mirage<8252><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:32: "Mirage<8253><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:32: "Mirage<8253><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:32: Kick: "Mirage<8253><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:32: "Mirage<8254><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:32: "Mirage<8254><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:32: Kick: "Mirage<8254><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:32: Rcon: "rcon 1553689785 ":P" status" from "10.253.0.35:2908" L 04/08/2008 - 18:48:32: "[DON] R.E.M.<8255><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:33: "[DON] R.E.M.<8255><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:33: Kick: "[DON] R.E.M.<8255><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:33: "Mirage<8256><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:33: "Mirage<8256><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:33: Kick: "Mirage<8256><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:33: "Mirage<8257><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:33: "Mirage<8257><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:33: Kick: "Mirage<8257><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:34: "[DON] R.E.M.<8258><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:34: "[DON] R.E.M.<8258><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:34: Kick: "[DON] R.E.M.<8258><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:35: "Mirage<8259><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:35: "Mirage<8259><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:35: Kick: "Mirage<8259><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:35: "Mirage<8260><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:35: "beyond godlike<7613>" triggered "Defused_The_Bomb" L 04/08/2008 - 18:48:35: Team "CT" triggered "Bomb_Defused" (CT "1") (T "0") L 04/08/2008 - 18:48:35: World triggered "Round_End" L 04/08/2008 - 18:48:35: "Mirage<8260><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:35: Kick: "Mirage<8260><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:35: "[DON] R.E.M.<8261><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:36: "[DON] R.E.M.<8261><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:36: Kick: "[DON] R.E.M.<8261><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:36: "Mirage<8262><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:36: "Mirage<8262><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:36: Kick: "Mirage<8262><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:36: "Mirage<8263><>" connected, address "10.253.173.252:27005" L 04/08/2008 - 18:48:36: "Mirage<8263><>" triggered "address" (address "10.253.173.252:27005") L 04/08/2008 - 18:48:36: Kick: "Mirage<8263><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:37: "[DON] R.E.M.<8264><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:37: "[DON] R.E.M.<8264><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:37: Kick: "[DON] R.E.M.<8264><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:38: Rcon: "rcon 2395453235 ":P" meta force_unload hlguard " from "10.253.154.163:27082" L 04/08/2008 - 18:48:38: [META] dll: Unloaded plugin 'HLGuard' for reason 'forced by server command' L 04/08/2008 - 18:48:39: "[DON] R.E.M.<8265><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:39: "[DON] R.E.M.<8265><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:39: Kick: "[DON] R.E.M.<8265><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:40: "[DON] R.E.M.<8266><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:40: "[DON] R.E.M.<8266><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:40: Kick: "[DON] R.E.M.<8266><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:40: "Delete<<[PogHeu* MyJIJIeH]<8219>" joined team "TERRORIST" (auto) L 04/08/2008 - 18:48:40: "gAndaLf <3 Kn1Fe<8069>" triggered "Spawned_With_The_Bomb" L 04/08/2008 - 18:48:41: "[DON] R.E.M.<8267><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:41: "[DON] R.E.M.<8267><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:42: Kick: "[DON] R.E.M.<8267><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:42: "gAndaLf <3 Kn1Fe<8069>" say_team "B" L 04/08/2008 - 18:48:43: "[DON] R.E.M.<8268><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:43: "[DON] R.E.M.<8268><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:43: Kick: "[DON] R.E.M.<8268><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:44: "gAndaLf <3 Kn1Fe<8069>" say_team "RUSH" L 04/08/2008 - 18:48:44: "BoRoMiR <3 koJIbLjooooooo<7738>" changed name to "OPKU > BoRoMiR <3 koJIbL|o" L 04/08/2008 - 18:48:44: "[DON] R.E.M.<8269><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:44: "[DON] R.E.M.<8269><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:45: Kick: "[DON] R.E.M.<8269><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:46: "[DON] R.E.M.<8270><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:46: "[DON] R.E.M.<8270><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:46: Kick: "[DON] R.E.M.<8270><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:46: World triggered "Round_Start" L 04/08/2008 - 18:48:47: Rcon: "rcon 1553689785 ":P" status" from "10.253.0.35:2912" L 04/08/2008 - 18:48:47: "[DON] R.E.M.<8271><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:48: "[DON] R.E.M.<8271><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:48: Kick: "[DON] R.E.M.<8271><>" was kicked by "Console" (message ""Dropped due to slot reservation"") L 04/08/2008 - 18:48:49: "[DON] R.E.M.<8272><>" connected, address "10.253.131.119:27005" L 04/08/2008 - 18:48:49: "[DON] R.E.M.<8272><>" triggered "address" (address "10.253.131.119:27005") L 04/08/2008 - 18:48:49: Kick: "[DON] R.E.M.<8272><>" was kicked by "Console" (message ""Dropped due to slot reservation"") 44 неудачной попытки и минимум полезной информации в тексте.
Правила форума Поиск плагинов Последние сообщения форума
|
|
| |
max_rip | Дата: Среда, 10.09.2008, 16:36:01 | Сообщение # 4 |
Подполковник
Группа: Пользователи
Сообщений: 147
Статус: Не в сети
| Argus, проще просто noreconnect поставить. Да и вообще вынести в отдельный плагин.
|
|
| |
Argus | Дата: Среда, 10.09.2008, 23:26:10 | Сообщение # 5 |
 AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Статус: Не в сети
| Quote (max_rip) проще просто noreconnect поставить причем тут noreconnect? пользователи пишут connect ip в консоли и пытаются зайти на сервер, на котором 20/20 - сервер их не пускает - они retry,и так n раз.я не знаю такого механизма noreconnect,который эту проблему решал б. вынести в отдельный плагин - нереализуемо, по крайней мере, для меня. я не вижу это возможным чтоб при этом не была нарушена работа adminslots.
Правила форума Поиск плагинов Последние сообщения форума
|
|
| |
max_rip | Дата: Четверг, 11.09.2008, 14:04:49 | Сообщение # 6 |
Подполковник
Группа: Пользователи
Сообщений: 147
Статус: Не в сети
| Argus, ну почемуже. Нореконект как раз таки и должен работать ибо, совершается ретри или что либо ему пофик, он фиксирует попытку подключения к северу в определенный промежуток времени, если это произошло банан на 5 минут. При этом в нем приспокойо реализована система защиты по флагу a, так что заменить его на резерв слот не составит труда. плагин можно найти чуть ниже). Code /*************************************************************************************************** * * * ORIGINAL by SYZo * * * ***************************************************************************************************/ /* * * No Reconnect Types: * 0 - Message Only * 1 - Kick * 2 - Ban * */
#include <amxmodx> #include <amxmisc>
#define MAX_PLAYERS 32
new pID[MAX_PLAYERS+1][22], ReconnectTime, Reason[255], gmsgSayText new Float:leave_time[MAX_PLAYERS] new Float:bantime new PlugTag[] = "[AMXX]" new MinRecTimeMin[] = "^x03%s MinReconnect Time is %.1f min! Status: %s!" new MinRecTimeSec[] = "^x03%s MinReconnect Time is %.0f sec! Status: %s!" new Info[] = "You can't join after reconnect/retry command."
public plugin_init() { register_plugin("No Reconnect","3.0","Z@C") register_cvar("n_r_type","2",FCVAR_SERVER) register_cvar("n_r_time","120") register_cvar("n_r_bantime","5") ReconnectTime = get_cvar_num("n_r_time") gmsgSayText = get_user_msgid("SayText") bantime = float(get_cvar_num("n_r_bantime")) }
public client_authorized(id) { if ((is_user_bot(id)) || (get_user_flags(id)&ADMIN_IMMUNITY)) { return PLUGIN_HANDLED } else { new ip[21+1], uID[1] for(new i = 1; i <= MAX_PLAYERS; i++) { set_task(15.0,"rule",id) get_user_ip(id,ip,21) uID[0] = get_user_userid(id) if (equal(ip, pID[i], 21)) { if (get_cvar_num("n_r_type") == 2) { reas() server_cmd("kick #%d ^"%s^"", uID[0], Reason) server_cmd("addip ^"%f^" ^"%s^"",bantime, ip) server_cmd("writeip") } if (get_cvar_num("n_r_type") == 1) { reas() server_cmd("kick #%d %s",uID[0],Reason) } msg(id) } return PLUGIN_HANDLED } if (get_cvar_num("n_r_type") == 0) { set_task(10.0,"msg",id) } } return PLUGIN_HANDLED }
reas() { new Float:gametime = get_gametime() for (new i = 1; i < MAX_PLAYERS; i++) { if (gametime >= leave_time[i] + ReconnectTime) { leave_time[i] = gametime } new Float:rectime = leave_time[i] + ReconnectTime - gametime if (get_cvar_num("n_r_type") == 2) { format(Reason, 254, "%s You have been banned on %.2f min.", Info, bantime) } if (get_cvar_num("n_r_type") == 1) { if (rectime >= 60) { format(Reason, 254, "%s Connect after %0.1f min.", Info, rectime / 60.0) } else { format(Reason, 254, "%s Connect after %.0f sec.", Info, rectime) } } } }
public clean(i[]) { pID[i[0]][0] = 0 }
public msg(id) { new name[32] get_user_name(id, name, 31) set_hudmessage(255, 0, 255, 0.05, 0.70, 3, 5.0, 10.0, 0.5, 0.15, 1) if (get_cvar_num("n_r_type") == 2) { show_hudmessage(0,"Player %s try reconnect,but has been banned on %.2f min.",name,bantime) } if (get_cvar_num("n_r_type") == 1) { show_hudmessage(0,"Player %s try reconnect,but has been kicked",name) } if (get_cvar_num("n_r_type") == 0){ show_hudmessage(0,"Player %s is reconnected",name) } }
public rule(id) { new message[255], Status[5] if (get_cvar_num("n_r_type") == 2) { format(Status, 4, "BAN") } if (get_cvar_num("n_r_type") == 1) { format(Status, 4, "KICK") } if (ReconnectTime >= 60) { format(message, 254, MinRecTimeMin, PlugTag, ReconnectTime / 60.0, Status) } else { format(message, 254, MinRecTimeSec, PlugTag, ReconnectTime, Status) } message_begin(MSG_ONE, gmsgSayText, _, id) write_byte(id) write_string(message) message_end() }
public client_disconnect(id) { if ((is_user_bot(id)) || (get_user_flags(id)&ADMIN_IMMUNITY)) { return PLUGIN_HANDLED } else { new ip[21+1], param[1] new found = 0 get_user_ip(id, ip, 21) for(new i = 1; i <= MAX_PLAYERS; i++) { if (equal(ip, pID[i], 21)) { found = 1 break } } if (found == 0) { for(new i = 1; i <= MAX_PLAYERS; i++) { if(pID[i][0] == 0) { //copy(pID[i], 21, ip) get_user_ip(id, pID[i], 21) param[0] = i set_task(float(ReconnectTime), "clean", (id + MAX_PLAYERS), param, 1) break } } } } return PLUGIN_HANDLED }
|
|
| |
Argus | Дата: Суббота, 01.11.2008, 23:29:25 | Сообщение # 7 |
 AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Статус: Не в сети
| Quote (max_rip) Argus, ну почемуже. Нореконект как раз таки и должен работать ибо, совершается ретри или что либо ему пофик, он фиксирует попытку подключения к северу в определенный промежуток времени, если это произошло банан на 5 минут. При этом в нем приспокойо реализована система защиты по флагу a, так что заменить его на резерв слот не составит труда. плагин можно найти чуть ниже). то что ты предлагаешь не работает в связке с adminslots.amxx , а его я отключать не собираюсь, поэтому, толку в том что ты предлагаешь я не вижу.
Правила форума Поиск плагинов Последние сообщения форума
|
|
| |
max_rip | Дата: Воскресенье, 02.11.2008, 19:35:26 | Сообщение # 8 |
Подполковник
Группа: Пользователи
Сообщений: 147
Статус: Не в сети
| а что именно в этой связке не работает?
|
|
| |
Argus | Дата: Воскресенье, 02.11.2008, 21:36:21 | Сообщение # 9 |
 AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Статус: Не в сети
| "твой" плагин не работает. по крайней мере, он не делает того, о чем идет речь в первом посте.
Правила форума Поиск плагинов Последние сообщения форума
|
|
| |
max_rip | Дата: Понедельник, 03.11.2008, 11:22:26 | Сообщение # 10 |
Подполковник
Группа: Пользователи
Сообщений: 147
Статус: Не в сети
| ну разве что количества попыток нет ). А так вполне рабочий плагин, работает у меня более 2 лет))
|
|
| |
Agronom[SLK] | Дата: Понедельник, 26.01.2009, 22:03:50 | Сообщение # 11 |
![Agronom[SLK]](/avatar/00/00/433397.gif) Полковник
Группа: Пользователи
Сообщений: 222
Статус: Не в сети
| Argus Отлично!! спасибо! Достают флудеры Терь не придеться игры отвлекаться, бан им успокоительный прописывать.. Но имхо 3 минуты много, уменьшил до 30сек. Еще раз спасибо!!
МНЛТиП - Метод Нубского Логического Тыка и Подстановки
|
|
| |
 | AMX Mod X Russian Community © 2006-2025  |  |
|
| |