Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

noflood.amxx

, error
Статус пользователя Wind
сообщение 25.9.2013, 11:13
Сообщение #1
Стаж: 12 лет

Сообщений: 116
Благодарностей: 2
Полезность: < 0

Хай Всем Подскажите в чем проблема? в плагине noflood.amxx

L 09/25/2013 - 12:06:52: Start of error session.
L 09/25/2013 - 12:06:52: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20130925.log")
L 09/25/2013 - 12:06:52: [ORPHEU] Function "SV_ConnectClient" not found
L 09/25/2013 - 12:06:52: [AMXX] Displaying debug trace (plugin "noflood.amxx")
L 09/25/2013 - 12:06:52: [AMXX] Run time error 10: native error (native "OrpheuGetFunction")
L 09/25/2013 - 12:06:52: [AMXX] [0] php78UgiZ.sma::regfunctions (line 35)

CODE
#include <amxmodx>
#include <orpheu>
#define PLUGIN "Anti flood"
#define VERSION "1.1"
#define AUTHOR "kanagava"
//native halflife_time ( )
// небольшие настройки для плагина
new MAX_WARN=1 //Число предупреждений после которого IP будет забанен рекомендуется [1-2]
new CONN_TIME=2 //Минимальное время между соединениями с сервером для включения првоерок
// (если между подключениями меньше CONN_TIME секунд включаются проверки) рекомендуется [1-3]
new CONN_TIME_IP=3 //Минимальное время между соединениями с одного IP для выдачи предупреждения рекомендуется [1-5]
new RST_WARN_TIME_IP=10 //Максимальное время между соединениями с одного IP для сброса предупреждений
// НЕОБХОДИМО [RST_WARN_TIME_IP>CONN_TIME_IP]

new time_last_conn
new ip_old[256]
new ip_warn[256]
new Msg[256]
new OrpheuHook:handlePrintf
new ip_list[5][16]
new time_list[5]
new warn_list[5]
new old_time
new registered
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(5.0, "regfunctions")
register_srvcmd("floodlist","floodlist")
}

public regfunctions()
{
//log_amx("try to reg_func")
OrpheuRegisterHook(OrpheuGetFunction("SV_ConnectClient"),"OnSV_ConnectClientPre", OrpheuHookPre)
OrpheuRegisterHook(OrpheuGetFunction("SV_ConnectClient"),"OnSV_ConnectClientPost", OrpheuHookPost)
server_cmd("mp_logecho 1")
server_cmd("log on")
}

public OrpheuHookReturn:OnSV_ConnectClientPre()
{
registered=0
if(get_systime()-old_time <= CONN_TIME)
{
//log_amx("Reg %d %d ",halflife_time ( ), get_systime())
handlePrintf = OrpheuRegisterHook( OrpheuGetFunction( "Con_Printf" ), "Con_Printf" , OrpheuHookPre);
registered=1
//log_amx("Reg %d %d ",halflife_time ( ), get_systime())
}
old_time=get_systime()
return OrpheuIgnored;
}


public OrpheuHookReturn:OnSV_ConnectClientPost()
{
if(registered)
{
OrpheuUnregisterHook(handlePrintf)
//log_amx("Unreg %d %d ",halflife_time ( ), get_systime())
}
return OrpheuIgnored;
}

public OrpheuHookReturn:Con_Printf(const a[], const message[] )
{
registered=1
if (containi(message,"^" connected, address ^"")!=-1)
{
new msg[256]
copy(msg,255,message)
checkip(msg)
}
return OrpheuIgnored;
}

public floodlist()
{
new h_time[32]
console_print(0,"Floodding IP list by Dan'ka :D")
for (new i=0;i<5;i++)
{ if(time_list[i]!=0)
{
format_time ( h_time,31, "%d.%m %H:%M:%S",time_list[i])
console_print(0,"[%d] [IP %s] [TIME %s] [WARN's %d]",i,ip_list[i],h_time,warn_list[i])
}
}
}

public checkip(message[])
{
new len=255
new temp_right[256],temp_left[256],conn_ip[256]
formatex( Msg,charsmax( Msg ),"%s", message );
split(Msg, temp_left, len, temp_right, len, "^" connected, address ^"")
strtok(temp_right, conn_ip, len, temp_right, len, ':')
new mintime
new replace_index
mintime=get_systime()
for (new i=0;i<5;i++)
{
if (time_list[i]<mintime )
{
mintime=time_list[i]
replace_index=i
}

}
new ipwarn
ipwarn=false
for (new i=0;i<5;i++)
{
if (equal(conn_ip,ip_list[i]) && !equal(conn_ip,""))
{
if ((get_systime()-time_list[i])<CONN_TIME_IP)
{
warn_list[i]=warn_list[i]+1
if(warn_list[i]>MAX_WARN)
{
//log_amx("Ban %d %d ",halflife_time ( ), get_systime())
log_amx("[NOFLOOD] Connection flood detected from ip %s",conn_ip)
server_cmd("addip 120.0 %s",conn_ip)
}
}
else
{
if ((get_systime()-time_list[i])>RST_WARN_TIME_IP)
warn_list[i]=0
}
time_list[i]=get_systime()
ipwarn=true
break
}
}
if (!ipwarn)
{
warn_list[replace_index]=0
time_list[replace_index]=get_systime()
copy(ip_list[replace_index],15,conn_ip)
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя winzh1
сообщение 25.9.2013, 11:27
Сообщение #2


Стаж: 14 лет

Сообщений: 1414
Благодарностей: 600
Полезность: 838

Функции орфея у Вас в папке лежат?


Установлю и настрою FreshBans, DopBan.
Писать в ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Wind
сообщение 25.9.2013, 11:34
Сообщение #3
Стаж: 12 лет

Сообщений: 116
Благодарностей: 2
Полезность: < 0

Цитата(winzh1 @ 25.9.2013, 13:27) *
Функции орфея у Вас в папке лежат?

да там надо настраивать?

CODE
{
"name" : "Con_Printf",
"library" : "engine",
"arguments" :
[
{

"type" : "char *"
},
{

"type" : "char *"
}
],
"identifiers" :
[
{

"os" : "windows",

"mod" : "cstrike",

"value" : [0x55,0x8B,"*",0xB8,"*","*","*","*",0xE8,"*","*","*","*",0x8B,0x4D,"*",0x8D,0x45,"*",0x50,0x51,0x8D,0x95,"*","*","*","*",0x68,"*","*","*","*",0x52,0xE8,"*","*","*","*",0x8D,0x85,"*","*","*","*",0x50]
},
{

"os" : "linux",

"mod" : "cstrike",

"value" : "Con_Printf"
}
] }


CODE
{
"name" : "SV_ConnectClient",
"library" : "engine",
"identifiers" :
[
{
"os" : "windows",
"value" : [0x55,0x8B,0xEC,0x81,"*","*","*","*","*",0x53,0x56,0x57,0xB9,0x05,0x00,0x00,0x00,0xBE,"*","*","*","*",0x8D,"*","*",0x33,0xDB,0x68,"*","*","*","*"]
},
{
"os" : "linux",
"value" : "SV_ConnectClient"
}
]
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя winzh1
сообщение 25.9.2013, 11:40
Сообщение #4


Стаж: 14 лет

Сообщений: 1414
Благодарностей: 600
Полезность: 838

Нужен сам орфей установленный и функции к нему.
SV_ConnectClient и Con_Printf положить в addons/amxmodx/configs/orpheu/functions
Сам орфей скачать отсюда
Скрытый текст
http://forums.alliedmods.net/showthread.php?t=116393

Скорее всего версию 2.3


Установлю и настрою FreshBans, DopBan.
Писать в ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Wind
сообщение 25.9.2013, 11:48
Сообщение #5
Стаж: 12 лет

Сообщений: 116
Благодарностей: 2
Полезность: < 0

Цитата(winzh1 @ 25.9.2013, 13:40) *
Нужен сам орфей установленный и функции к нему.
SV_ConnectClient и Con_Printf положить в addons/amxmodx/configs/orpheu/functions
Сам орфей скачать отсюда
Скрытый текст
http://forums.alliedmods.net/showthread.php?t=116393

Скорее всего версию 2.3

не помогло!(
Прикрепленные файлы:
Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 25.9.2013, 12:05
Сообщение #6


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Цитата
3. Если плагин детектирует проблемы с функциями Orpheu и не может самостоятельно их исправить проверьте наличие функций по пути configs/orpheu/functions проверьте их содержание и названия, названия должны быть такие же как в архиве. Важно соблюдать регстр букв. Если там всё в порядке, но проблема с функциями остается то следует проверить как происходит чтение сигнатур, для этого нужно воспользоваться консолью сервера, командой condebug или HLSW чтобы прочитать информацию из консоли при начале работы сервера (смены карты). Вам нужно найти следующие строки:
Parsing file "SV_ParseConsistencyResponse" started Searching for signature "[0x55][0x8b][0xec][0x81][0xec](...)" ... FOUND Parsing file "SV_ParseConsistencyResponse" ended
По этим строкам в случае ошибки можно понять что не так.

ну только функции другие


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
exec1337
сообщение 25.9.2013, 13:19
Сообщение #7
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Если сервер на WIN,то пишите по контактам,помогу.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: