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

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

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

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

> Важная информация

Перед тем как создать тему или задать вопрос, ознакомьтесь с данной темой, там собраны наиболее распространенные уязвимости и способы устранения.
Так же не поленитесь воспользоваться поиском, вполне возможно, что ваш вопрос уже поднимался на форуме.
При создании новой темы уделите внимание ее названию, оно должно кратко описывать суть вашего вопроса/проблемы. Все вновь созданные темы с названиями "Помогите", "Объясните", "Подскажите" и т.д. будут удалены, а их авторы наказаны.
413 страниц V  « 256 257 258 ... 411 412 »

Защита Counter Strike Сервера

, Методы защиты от различных уязвимостей игровых серверов
Статус пользователя Andrey_iokhin
сообщение 28.3.2015, 18:36
Сообщение #5121
Стаж: 14 лет

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

На скринах же видно что по 2 модуля на каждый сплойт)

Скрытый текст
Или имеется ввиду какой из двух выбрать в обоих случаях?


Отредактировал: Andrey_iokhin, - 28.3.2015, 18:37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 28.3.2015, 18:37
Сообщение #5122


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Andrey_iokhin, разницы по сути нет, оба успешно фиксят сплойты. Дело вкуса.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrey_iokhin
сообщение 28.3.2015, 18:56
Сообщение #5123
Стаж: 14 лет

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

Я просто подумал,что вес файла тоже имеет значение на нагрузку) Вот и решил уточнить)
Поставил себе файлы меньшего объема)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя soob
сообщение 29.3.2015, 16:58
Сообщение #5124
Стаж: 11 лет

Сообщений: 1106
Благодарностей: 383
Полезность: 520

Цитата(s1lent @ 15.8.2014, 20:18) *
1.5

добавил удалениие # из меню.

src
Код
#include "extdll.h"
#include "meta_api.h"

#undef C_DLLEXPORT

#ifdef __linux__
    #include <sys/mman.h>
    #define C_DLLEXPORT extern "C" __attribute__((visibility("default")))
#else
    #define C_DLLEXPORT extern "C" __declspec(dllexport)
#endif

#define HUD_PRINTRADIO 5

enum {
    PF_messageBegin,
    PF_messageByte,
    PF_messageString,
    PF_messageEnd,
    PF_Last
};

typedef struct message_s {

    BOOL doneSay;
    BOOL doneText;
    BOOL doneMenu;

    char *str[5];

    int argNum;
    int sayTextId;
    int textMsgId;
    int showMenuId;
} message_t;

typedef struct hooks_s {
    void *address;
    void *handler;
    unsigned char patchBytes[5];
    unsigned char originalBytes[5];

} hooks_t;

hooks_t hookMessage[PF_Last];
message_t eventMessage;

plugin_info_t Plugin_info = {

    META_INTERFACE_VERSION,
    "ChatMenuFix",
    "1.5",
    "10/08/14",
    "s1lent",
    "http://www.aghl.ru/",
    "ChatMenuFix",
    PT_STARTUP,
    PT_NEVER,
};

DLL_FUNCTIONS gpFunctionTable;

enginefuncs_t g_engfuncs;
enginefuncs_t g_engfuncs_post;

meta_globals_t *gpMetaGlobals;
gamedll_funcs_t *gpGamedllFuncs;
mutil_funcs_t *gpMetaUtilFuncs;

globalvars_t *gpGlobals;
META_FUNCTIONS gMetaFunctionTable;

C_DLLEXPORT int Meta_Query(char *,plugin_info_t **pPlugInfo,mutil_funcs_t *pMetaUtilFuncs) {
    *pPlugInfo = &Plugin_info;
    gpMetaUtilFuncs = pMetaUtilFuncs;
    return TRUE;
}
BOOL allowMemoryPatch(void *ptr) {
#ifdef __linux__
    void *addr = (void *)((long)ptr & ~(4096 - 1));
    return !mprotect(addr,sysconf(_SC_PAGESIZE),(PROT_READ|PROT_WRITE|PROT_EXEC));
#else
    static DWORD oldProtection;
    return VirtualProtect(ptr,5,PAGE_EXECUTE_READWRITE,&oldProtection);
#endif
}
BOOL doPatch(hooks_t *a) {
    if(allowMemoryPatch(a->address)) {
        memcpy(a->address,a->patchBytes,5);
    }
    return TRUE;
}
BOOL undoPatch(hooks_t *a) {
    if(allowMemoryPatch(a->address)) {
        memcpy(a->address,a->originalBytes,5);
    }
    return TRUE;
}
inline void T_MESSAGE_BEGIN(int msg_dest,int msg_type,const float *pOrigin = NULL,edict_t *ed = NULL) {
    hooks_t *a = &hookMessage[PF_messageBegin];
    if(undoPatch(a)) {
        reinterpret_cast<void (*)(int,int,const float *,edict_t *)>(a->address)(msg_dest,msg_type,pOrigin,ed);
        doPatch(a);
    }
}
inline void T_WRITE_BYTE(int iValue) {
    hooks_t *a = &hookMessage[PF_messageByte];
    if(undoPatch(a)) {
        reinterpret_cast<void (*)(int)>(a->address)(iValue);
        doPatch(a);
    }
}
inline void T_WRITE_STRING(const char *szString) {
    hooks_t *a = &hookMessage[PF_messageString];
    if(undoPatch(a)) {
        reinterpret_cast<void (*)(const char *)>(a->address)(szString);
        doPatch(a);
    }
}
inline void T_MESSAGE_END() {
    hooks_t *a = &hookMessage[PF_messageEnd];
    if(undoPatch(a)) {
        reinterpret_cast<void (*)()>(a->address)();
        doPatch(a);
    }
}
void MessageBegin(int msg_dest,int msg_type,const float *pOrigin,edict_t *ed) {

    message_t *p = &eventMessage;
    if(p->sayTextId == msg_type) {

        for(unsigned int i = 0; i < (sizeof(p->str) / sizeof(p->str[0]) - 1); i++) {
            *(p->str[i]) = '\0';
        }

        p->argNum = 0;
        p->doneSay = TRUE;
    }
    else if(p->textMsgId == msg_type) {
        
        for(unsigned int i = 0; i < (sizeof(p->str) / sizeof(p->str[0]) - 1); i++) {
            *(p->str[i]) = '\0';
        }

        p->argNum = 0;
        p->doneText = TRUE;
    }
    else if(p->showMenuId == msg_type) {
        p->doneMenu = TRUE;
    }
    T_MESSAGE_BEGIN(msg_dest,msg_type,pOrigin,ed);
};
void WriteByte(int iValue) {

    message_t *p = &eventMessage;
    if(p->doneText) {
        if(iValue != HUD_PRINTTALK && iValue != HUD_PRINTRADIO) {
            p->doneText = FALSE;
        }
    }
    T_WRITE_BYTE(iValue);
};
void WriteString(const char *szString) {

    message_t *p = &eventMessage;
    if(p->doneSay || p->doneText) {
        if(!p->argNum && *(szString) == '#') {
            if(p->doneSay) {
                p->doneSay = FALSE;
            }
            if(p->doneText) {
                p->doneText = FALSE;
            }
            T_WRITE_STRING(szString);
            return;
        }
        strcpy(p->str[p->argNum],szString);
        *(p->str[p->argNum++] + 186) = '\0';
        return;
    }
    else if(p->doneMenu) {

        if(*(szString) == '\0' || *(szString) == '#') {
            T_WRITE_STRING(szString);
            return;
        }

        int i = 0;
        char *str = const_cast<char *>(szString);
        char *phaystack = new char[512];

        for(;*str; *(str++), i++) {
            if(*(str) == '#') {
                *(str) = 0x20;
            }
            *(phaystack + i) = *str;
        }

        *(phaystack + i) = '\0';
        T_WRITE_STRING((const char *)phaystack);
        delete[] phaystack;
        return;
    }
    T_WRITE_STRING(szString);
};
void MessageEnd() {
    message_t *p = &eventMessage;    
    if(p->argNum) {
        if(p->doneSay) {
            switch(p->argNum) {
                case 1: {
                    T_WRITE_STRING("%s");
                    T_WRITE_STRING((const char *)p->str[0]);
                    break;
                }
                case 2: {
                    T_WRITE_STRING((const char *)p->str[0]);
                    T_WRITE_STRING((const char *)p->str[1]);
                    break;
                }
                case 3: {
                    T_WRITE_STRING((const char *)p->str[0]);
                    T_WRITE_STRING((const char *)p->str[1]);
                    T_WRITE_STRING((const char *)p->str[2]);
                    break;
                }
                default: {
                    break;
                }
            }
            p->doneSay = FALSE;
        }
        else if(p->doneText) {
            switch(p->argNum) {
                case 1: {

                    char *str = const_cast<char *>(p->str[0]);

                    if(!str) {
                        break;
                    }

                    int i = 0;

                    BOOL bHashLocaliz = FALSE;
                    BOOL bBottomLine = FALSE;

                    char *phaystack = new char[187];
                    for(;*str; *(str++), i++) {

                        if(!bHashLocaliz && (*str == '#')) {
                            bHashLocaliz = TRUE;
                        }
                        else if(bHashLocaliz) {

                            if(bBottomLine && (*str == 0x20)) {
                                bHashLocaliz = FALSE;
                                bBottomLine = FALSE;

                                *(phaystack + (i++)) = 0xA0;
                            }
                            else if(!bBottomLine && (*str == 0x5F)) {
                                bBottomLine = TRUE;
                            }
                        }
                        *(phaystack + i) = *str;
                    }

                    *(phaystack + i) = *(phaystack + 186) = '\0';
                    T_WRITE_STRING((const char *)phaystack);

                    delete[] phaystack;
                    break;
                }
                case 2: {
                    T_WRITE_STRING((const char *)p->str[0]);
                    T_WRITE_STRING((const char *)p->str[1]);
                    break;
                }
                case 3: {
                    T_WRITE_STRING((const char *)p->str[0]);
                    T_WRITE_STRING((const char *)p->str[1]);
                    T_WRITE_STRING((const char *)p->str[2]);
                    break;
                }
                case 4: {
                    T_WRITE_STRING((const char *)p->str[0]);
                    T_WRITE_STRING((const char *)p->str[1]);
                    T_WRITE_STRING((const char *)p->str[2]);
                    T_WRITE_STRING((const char *)p->str[3]);
                    break;
                }
                case 5: {
                    T_WRITE_STRING((const char *)p->str[0]);
                    T_WRITE_STRING((const char *)p->str[1]);
                    T_WRITE_STRING((const char *)p->str[2]);
                    T_WRITE_STRING((const char *)p->str[3]);
                    T_WRITE_STRING((const char *)p->str[4]);
                    break;
                }
                default: {
                    break;
                }
            }
            p->doneText = FALSE;
        }
    }
    T_MESSAGE_END();
    if(p->doneMenu) {
        p->doneMenu = FALSE;
    }
}
int RegUserMsg_Post(const char *szName,int)
{
    message_t *p = &eventMessage;
    if(!strcmp(szName,"SayText")) {
        p->sayTextId = META_RESULT_ORIG_RET(int);
    }
    else if(!strcmp(szName,"TextMsg")) {
        p->textMsgId = META_RESULT_ORIG_RET(int);
    }
    else if(!strcmp(szName,"ShowMenu")) {
        p->showMenuId = META_RESULT_ORIG_RET(int);
    }
    RETURN_META_VALUE(MRES_IGNORED,0);
}
C_DLLEXPORT int GetEngineFunctions_Post(enginefuncs_t *pengfuncsFromEngine,int *interfaceVersion) {
    memset(&g_engfuncs_post,0,sizeof(enginefuncs_t));
    g_engfuncs_post.pfnRegUserMsg = RegUserMsg_Post;
    memcpy(pengfuncsFromEngine,&g_engfuncs_post,sizeof(enginefuncs_t));
    return TRUE;
}
C_DLLEXPORT int Meta_Attach(PLUG_LOADTIME now,META_FUNCTIONS *pFunctionTable,meta_globals_t *pMGlobals,gamedll_funcs_t *pGamedllFuncs) {
    if(!pMGlobals) {
        return FALSE;
    }
    gpMetaGlobals = pMGlobals;
    if(!pFunctionTable) {
        return FALSE;
    }
    gpGamedllFuncs = pGamedllFuncs;

    void *r[] = {

        (void *)(*g_engfuncs.pfnMessageBegin), (void *)MessageBegin,
        (void *)(*g_engfuncs.pfnWriteByte), (void *)WriteByte,
        (void *)(*g_engfuncs.pfnWriteString), (void *)WriteString,
        (void *)(*g_engfuncs.pfnMessageEnd), (void *)MessageEnd
    };

    message_t *p = &eventMessage;
    for(unsigned int i = 0; i < (sizeof(p->str) / sizeof(p->str[0]) - 1); i++) {
        p->str[i] = new char[187];
    }

    hooks_t *a = NULL;
    for(int j = 0; j < PF_Last * 2; j += 2) {
        a = &hookMessage[j / 2];

        a->address = r[j];
        a->handler = r[j + 1];
        a->patchBytes[0] = 0xE9;

        // hooks of jump
        *((unsigned long *)(&a->patchBytes[1])) = (unsigned long)a->handler - (unsigned long)a->address - 5;

        memcpy(a->originalBytes,(void *)a->address,5);

        if(allowMemoryPatch(a->address)) {
            memcpy(a->address,a->patchBytes,5);
        }
    }
    gMetaFunctionTable.pfnGetEngineFunctions_Post = GetEngineFunctions_Post;
    memcpy(pFunctionTable,&gMetaFunctionTable,sizeof(META_FUNCTIONS));
    return TRUE;
}
C_DLLEXPORT int Meta_Detach(PLUG_LOADTIME now,PL_UNLOAD_REASON reason) {
    return FALSE;
}
#ifdef __linux__
    C_DLLEXPORT void GiveFnptrsToDll(enginefuncs_t *pengfuncsFromEngine,globalvars_t *pGlobals) {
#else
    #ifdef _MSC_VER
    C_DLLEXPORT __declspec(naked) void GiveFnptrsToDll(enginefuncs_t *pengfuncsFromEngine,globalvars_t *pGlobals) {
        __asm {
            push ebp
            mov ebp,esp
            sub esp,__LOCAL_SIZE
            push ebx
            push esi
            push edi
        }
    #else    // _MSC_VER
        #ifdef __GNUC__
            C_DLLEXPORT void __stdcall GiveFnptrsToDll(enginefuncs_t *pengfuncsFromEngine,globalvars_t *pGlobals) {
        #else
            #error There is no support (yet) for your compiler. Please use MSVC or GCC compilers.
        #endif
    #endif // _MSC_VER
#endif // __linux__
        memcpy(&g_engfuncs,pengfuncsFromEngine,sizeof(enginefuncs_t));
        gpGlobals = pGlobals;
        #ifdef _MSC_VER
        if(sizeof(int *) == 8) {
            __asm {
                pop edi
                pop esi
                pop ebx
                mov esp,ebp
                pop ebp
                ret 16
            }
        }
        else {
            __asm {
                pop edi
                pop esi
                pop ebx
                mov esp,ebp
                pop ebp
                ret 8
            }
        }
    #endif // #ifdef _MSC_VER
}


ps.gif толком не тестил.


Почему-то не кемпелируется :c
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя shaid
сообщение 29.3.2015, 17:05
Сообщение #5125


Стаж: 14 лет

Сообщений: 1012
Благодарностей: 432
Полезность: 835

Цитата(soob @ 29.3.2015, 16:58) *
Почему-то не кемпелируется :c

компилятором для павн?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя steelzzz
сообщение 29.3.2015, 17:08
Сообщение #5126


Стаж: 13 лет

Сообщений: 609
Благодарностей: 187
Полезность: 167

Цитата(shaid @ 29.3.2015, 18:05) *
компилятором для павн?


rofl.gif


Нужна помощь в настройке сервера или плагина? (Платно) -> Тык
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя eeeee1977
сообщение 31.3.2015, 15:15
Сообщение #5127


Стаж: 13 лет

Сообщений: 154
Благодарностей: 9
Полезность: 57

Сплоит UnUTF8Chars
Признаки: Подключения старнных игроков

поправте smile.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя max1988
сообщение 5.4.2015, 20:55
Сообщение #5128
Стаж: 13 лет

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

Простите за идиотский вопрос, но возможно, что бы сервер падал из-за русских ников? (как бы вся защита стоит)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Aikido
сообщение 5.4.2015, 22:44
Сообщение #5129


Стаж: 12 лет

Сообщений: 287
Благодарностей: 326
Полезность: 1102

Меценат Меценат

max1988, опишите проблему подробнее.. Не думаю что от русских ников упадет...

Отредактировал: sllrdp, - 5.4.2015, 22:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Akinach
сообщение 5.4.2015, 22:58
Сообщение #5130
Стаж: 11 лет

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

max1988, вот тут что-то похожее
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя medusa
сообщение 8.4.2015, 21:03
Сообщение #5131


Стаж: 11 лет

Сообщений: 50
Благодарностей: 40
Полезность: 536

Против Buffer Overload и xFake подойдет?
Скрытый текст
Код
#include <amxmodx>

new const INFO[3][] = { "Against All cheat of zeal & kohtep & ratwayer",
                  "1.0",
                  "Spawner" }


public plugin_init()
{
        register_plugin(INFO[0x00] , INFO[0x01] , INFO[0x02] )
}

public client_connect(id)
{
        query_client_cvar(id,"gl_d3dflip","Client_Cvar_Result")
}

public Client_Cvar_Result(iFakeplayer, const szCvar[], const szValue[])
{
        if( szValue[ 0x00 ] == 'B' ) // szValue[x] = "Bad cvar request" | szValue[0] = 'B' | 'B' = From B to end of string
                MSG_PRINT( iFakeplayer , "Fake Client Detect" )
}
stock MSG_PRINT(index, Message[] ){
        new userid = get_user_userid(index)
        server_cmd("kick #%d %s",userid,Message)
}


Также против xFake players можно поставить чтобы - максимум играло 2 игрока с 1 ip. (*вроде как ХЛ прокси сейчас нету?!)
Скрытый текст
Код
#include <amxmodx>
#include <amxmisc>

#define PLUGIN   "One IP"
#define AUTHOR   "LetiLetiLepestok"
#define VERSION   "0.1"

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
}


public client_connect(id)
{
   static _players[32], _num, new_player_ip[16], player_ip[16]
   new count
  
   get_user_ip(id, new_player_ip, 15, 1)
  
   get_players(_players, _num)
  
   for (new _i=0; _i<_num; _i++)
   {
      get_user_ip(_players[_i], player_ip, 15, 1)
      
      if(equal(new_player_ip, player_ip))
      {
         if(count > 1)
         {
            server_cmd("kick #%d Another player with your IP is playing here...", get_user_userid(id))
            break
         }
         count++
      }
   }
}


Отредактировал: medusa, - 8.4.2015, 21:04
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Skywrath
сообщение 8.4.2015, 21:07
Сообщение #5132
Стаж: 11 лет

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

medusa,
Зачем велосипед снова изобретать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя medusa
сообщение 8.4.2015, 21:11
Сообщение #5133


Стаж: 11 лет

Сообщений: 50
Благодарностей: 40
Полезность: 536

Цитата(Skywrath @ 8.4.2015, 22:07) *
medusa,
Зачем велосипед снова изобретать?

Епт, незаметил плагин от Safety1st. но меня больше интересует насчет первого, блочит он ботов или нет? По сути он же проверяет режим видео, я непомню обходится это или нет. А выложил потому ,что тут где-то писали, а найти не смог.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя YrkinSon
сообщение 8.4.2015, 21:15
Сообщение #5134
Стаж: 12 лет
Город: Новосибирск

Сообщений: 302
Благодарностей: 54
Полезность: 36

Сегодня столкнулся с такой проблемой, заходит на сервер ник по русски Дракон=ЗКД, я сразу удивился как он зашел с русским ником, я пробовал зайти со стима с русским ником но на сервер попал уже с ником unnamed
билд конешно 6153 amxmodx 1.8.2, в общем проблема такова после захода этого чудика падал сервер, покопался я в данной теме нашел решения что нужно обновить дпрото, но оно у меня обновлено 0.9.534, так как проблема не решилась я решил поставить все модули, только потом проблема решилась, так вот вопрос это дпрото не дает защиту или это новый експлойт?

Отредактировал: YrkinSon, - 8.4.2015, 21:23
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 8.4.2015, 21:45
Сообщение #5135
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(medusa @ 8.4.2015, 22:11) *
По сути он же проверяет режим видео, я непомню обходится это или нет.

Проверка кваров легко обходится. Особенно, когда автору заразы любезно прикладывают исходники плагинов smile.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 8.4.2015, 21:50
Сообщение #5136
Стаж: 14 лет

Сообщений: 1514
Благодарностей: 1025
Полезность: 725

Цитата(medusa @ 8.4.2015, 22:03) *
Против Buffer Overload и xFake подойдет?

Причём тут детект ботов и исправление бага?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
receptor
сообщение 9.4.2015, 21:21
Сообщение #5137
Стаж: 11 лет

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

Цитата(YrkinSon @ 8.4.2015, 21:15) *
Сегодня столкнулся с такой проблемой, заходит на сервер ник по русски Дракон=ЗКД, я сразу удивился как он зашел с русским ником, я пробовал зайти со стима с русским ником но на сервер попал уже с ником unnamed
билд конешно 6153 amxmodx 1.8.2, в общем проблема такова после захода этого чудика падал сервер, покопался я в данной теме нашел решения что нужно обновить дпрото, но оно у меня обновлено 0.9.534, так как проблема не решилась я решил поставить все модули, только потом проблема решилась, так вот вопрос это дпрото не дает защиту или это новый експлойт?



дпрото и не защищает от этого.
localizebugfix нужно ставить.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя WarDeN4ik
сообщение 10.4.2015, 9:39
Сообщение #5138


Стаж: 12 лет

Сообщений: 451
Благодарностей: 142
Полезность: 490

Вопрос по banip_fakes
Там можно как-то сделать чтобы подсеть банилась и как указать нужную маску (/8/16/24/32) ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 10.4.2015, 10:59
Сообщение #5139
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

WarDeN4ik, если нужно банить по маске фиксированной длины - то добавить функционал вообще не проблема.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nakazatel
сообщение 11.4.2015, 20:15
Сообщение #5140
Стаж: 12 лет

Сообщений: 1701
Благодарностей: 571
Полезность: 358

Fake Players v 1.00 - 1.11
Признаки: подключаются боты, имеют в арсенале speed-hack, свой ping и SteamID. Так же могут зафлудить сервер и обходят Dproto 0.9.534
Решение: Установить ProcessCmds 1.0.3 (by MyArena.ru)

Кто-то может поделится?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
413 страниц V  « 256 257 258 ... 411 412 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 13 гостей читают эту тему: