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

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

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

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

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

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

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

, Методы защиты от различных уязвимостей игровых серверов
yukish
сообщение 27.8.2014, 10:45
Сообщение #2881
Стаж: 12 лет

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

Цитата(umprex @ 25.3.2012, 13:14) *
Защита от # в нике и чате
Признаки: одновременные зависания клиента у многих игроков с вылетом. Часто сопровождается Reliable Channel Overflowed.
Решение: тык


Почему убрали второй метод, через метомод плагин??
Он гораздо эффективнее и не глюкает сервер из-за переполнения канала, как амхх-плагин.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 9art
сообщение 27.8.2014, 10:47
Сообщение #2882


Стаж: 12 лет

Сообщений: 991
Благодарностей: 534
Полезность: 843

yukish, https://c-s.net.ua/forum/ipb.html?s=&sh...st&p=648590
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя likeme
сообщение 27.8.2014, 19:05
Сообщение #2883
Стаж: 12 лет

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

Цитата(Safety1st @ 27.8.2014, 10:19) *
Every # or + is dangerous you know.

I think you dont understand, problem come from the first symbol in the name
if my name is klasdjklajsd ## PRO ## , i dont have any problem
but if my name is "# PRO ##" i have problem...
you need to replace only first symbol in the name, not all!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 27.8.2014, 19:17
Сообщение #2884


Стаж: 13 лет
Город: Москва

Сообщений: 2037
Благодарностей: 1135
Полезность: 968

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

Парни, что скажите на счет этого плагина, по словам автора защищает от решетки и плюса в никах, а так же, от процентов

Код:
/* Thx ProSToTem@ for pev_netname */

#include <amxmodx>
#include <fakemeta>

public plugin_init()
{
register_plugin("Fast Fix #", "1.1c", "neygomon");
register_forward(FM_ClientUserInfoChanged, "fw_ClientUserInfoChanged");
register_clcmd("say", "hook");
register_clcmd("say_team", "hook");
}

public fw_ClientUserInfoChanged(id, infobuffer)
{
static newname[32], net_name[32], bool:iNeedChange;
pev(id, pev_netname, net_name, charsmax(net_name));
engfunc(EngFunc_InfoKeyValue, infobuffer, "name", newname, charsmax(newname));
if(!strcmp(net_name, newname))
return FMRES_IGNORED;
for(new i; i < strlen(newname); i++)
{
if(newname[i] == '#' || newname[i] == '%' || newname[i] == '+')
{
newname[i] = ' ';
iNeedChange = true;
}
}
if(iNeedChange)
{
iNeedChange = false;
engfunc(EngFunc_SetClientKeyValue, id, infobuffer, "name", newname);
}
return FMRES_IGNORED;
}

public hook(id)
{
static msg[128];
read_args(msg, 127);

if((contain(msg, "#") != -1) || (contain(msg, "%") != -1)) return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 27.8.2014, 19:21
Сообщение #2885


Стаж: 12 лет

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

grishka444, чем тот что в шапке не устраивает?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 27.8.2014, 19:26
Сообщение #2886


Стаж: 13 лет
Город: Москва

Сообщений: 2037
Благодарностей: 1135
Полезность: 968

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

Цитата(Bloo @ 27.8.2014, 21:21) *
grishka444, чем тот что в шапке не устраивает?

Защита от # в нике и чате
а этот плагин и от + защищает, не нужно ставить под плагин и на +


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 27.8.2014, 19:30
Сообщение #2887
Стаж: 14 лет
Город: Moscow

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

Цитата(grishka444 @ 27.8.2014, 21:26) *
Защита от # в нике и чате
а этот плагин и от + защищает, не нужно ставить под плагин и на +

Okay, добавил упоминание про '+' к описанию. Так-то плагин 'от + защищает' xD
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя likeme
сообщение 27.8.2014, 19:57
Сообщение #2888
Стаж: 12 лет

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

Цитата(likeme @ 27.8.2014, 19:05) *
I think you dont understand, problem come from the first symbol in the name
if my name is klasdjklajsd ## PRO ## , i dont have any problem
but if my name is "# PRO ##" i have problem...
you need to replace only first symbol in the name, not all!

can someone edit the plugin ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 27.8.2014, 20:24
Сообщение #2889
Стаж: 14 лет
Город: Moscow

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

Цитата(likeme @ 27.8.2014, 21:05) *
you need to replace only first symbol in the name, not all!

You are wrong.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя CSer4you
сообщение 28.8.2014, 9:44
Сообщение #2890


Стаж: 18 лет

Сообщений: 171
Благодарностей: 14
Полезность: 1

А что за клиент такой Build 6153 Beta? У меня стим не обновляет чего-то клиент. щас просто 6153 билд
===
Упс, обновило! Дота не давала обновить просто :)

Отредактировал: CSer4you, - 28.8.2014, 9:47
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя likeme
сообщение 28.8.2014, 15:11
Сообщение #2891
Стаж: 12 лет

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

Цитата(Safety1st @ 27.8.2014, 20:24) *
You are wrong.

You can test for sure !
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя likeme
сообщение 28.8.2014, 15:23
Сообщение #2892
Стаж: 12 лет

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

Цитата(s1lent @ 15.8.2014, 19: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 толком не тестил.

Can you make that but in plugin?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 28.8.2014, 16:01
Сообщение #2893


Стаж: 16 лет

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

Цитата(likeme @ 28.8.2014, 17:23) *
Can you make that but in plugin?

https://c-s.net.ua/forum/ipb.html?s=&sh...st&p=639977


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя likeme
сообщение 28.8.2014, 19:24
Сообщение #2894
Стаж: 12 лет

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

Цитата(Safety1st @ 10.8.2014, 15:41) *
Ответы на посты выше

При этом весь серв лагает, пока игрок с переполнением не отвалится. Это у вас, скорее всего, конфликт с каким-то плагином, который мониторит client_infochanged() .


Не стоит: не поможет.



Поправил важный, но неочевидный, момент.
--



Защита от бага с # в нике и чате

Простой фикс
Плагин не даёт отправлять в чат сообщения с решёткой и заменяет этот символ в никах игроков на пробел. За смену ника бана в раскрутках не будет: он меняется только на сервере, никакого слоухакинга нет.

v1.2 от 15.08.2014 [attachment=27410:fast_fix_hashsign.sma]
Блокировка чат-сообщений отключается в исходнике: нужно закомментировать строку #define CHECK_CHAT. Если она активна, плагин в plugins.ini должен стоять выше первого плагина, который может обрабатывать чат-команды и выводить сообщения в чат. На прилично собранных серверах это плагин Admin Chat или плагин гага.

В нике плагин также убирает '+' (игроки с такими никами доставляют определённые неудобства админам).

Дополнительная информация
Плагин отсюда был дополнен простой заглушкой #-сообщений в чате и опубликован тут.

В 1.2, как ожидается, исправлена проблема с флудом 'Your name will be changed after your next respawn', из-за которого весь сервер лагает, пока игрок с 'Reliable channel overflowed' не отвалится. Если у вас данная проблема всё же проявляется:

Can you make that plugin when player have in the first name "######"
to replace only first symbol ?
"-######" and the bug dont work :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
yukish
сообщение 28.8.2014, 21:45
Сообщение #2895
Стаж: 12 лет

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

Жду фикс метамод-плагина, так как амхх плагин v1.2 от 15.08.2014 вызывает channel overflowed.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя shaid
сообщение 29.8.2014, 0:52
Сообщение #2896


Стаж: 14 лет

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

у меня он ничего не вызывает почему-то...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 29.8.2014, 6:48
Сообщение #2897
Стаж: 14 лет
Город: Moscow

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

Есть одна ситуация, когда 'Fast Fix #' может вызвать 'channel overflowed' сам по себе. Достаточно редкая, мне вчера впервые пожаловались. Посмотрел логи и консоль, разобрался, научился создавать. Надо бы улучшить плагин) Мне сейчас неохота, мб Тёма или s1lent допилят; жду в ЛС.


Без понятия, почему у кого-то постоянные проблемы из-за плагина. Ну, их проблемы, раз хомячьё не в состоянии даже логи предоставить за нужный отрезок времени. Зато критиковать плагины мастаки xD
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
err1
сообщение 29.8.2014, 7:31
Сообщение #2898
Стаж: 13 лет

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

SZ_GetSpace: overflow on strayker
SZ_GetSpace: overflow on strayker
SZ_GetSpace: overflow on strayker
стоит метамод-плагин от s1lent в1.5
что означает?

Отредактировал: err1, - 29.8.2014, 7:51
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
magiczoltrix
сообщение 29.8.2014, 7:43
Сообщение #2899
Стаж: 12 лет

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

Цитата(yukish @ 29.8.2014, 0:45) *
Жду фикс метамод-плагина, так как амхх плагин v1.2 от 15.08.2014 вызывает channel overflowed.


на 5787 вызывает, на новых билдах вс окей
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kain_wrath
сообщение 29.8.2014, 8:09
Сообщение #2900
Стаж: 14 лет

Сообщений: 331
Благодарностей: 141
Полезность: 311

Цитата(yukish @ 28.8.2014, 23:45) *
Жду фикс метамод-плагина, так как амхх плагин v1.2 от 15.08.2014 вызывает channel overflowed.

Человек ждет быстрей делайте!!!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 7 раз
   + Цитировать сообщение
413 страниц V  « 144 145 146 ... 411 412 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 10 гостей читают эту тему: