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

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

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

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

2 страниц V   1 2

Возможно ли реализовать

, hpk
Статус пользователя Rokr__
сообщение 4.8.2010, 21:15
Сообщение #1


Стаж: 15 лет

Сообщений: 654
Благодарностей: 233
Полезность: 606

Возможно ли реализовать плагин hpk,но чтобы в него было включено: кик за пинг,кик за плохое соединение (lame connection punsher) и задержка реконнекта после кика.
такой плагин реализован в cerebrus (cerb_hpk),но так как система платная и малоизученная,очень хотелось бы видеть такой плагин в паблике,думаю пригодится не только мне :)
P.s никаких нарушений авторских прав,просто очень неплохая идея :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя TiLos
сообщение 4.8.2010, 21:47
Сообщение #2


Стаж: 13 лет

Сообщений: 129
Благодарностей: 33
Полезность: 204

Код
/* 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
Сообщение #3


Стаж: 15 лет

Сообщений: 654
Благодарностей: 233
Полезность: 606

по прежнему требует cerebrus (For use alongside with the Cerberus Plugin),как лечить?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TiLos
сообщение 4.8.2010, 22:18
Сообщение #4


Стаж: 13 лет

Сообщений: 129
Благодарностей: 33
Полезность: 204

Завтра посмотрю тогда. Там короче инклуд нужен и ланг файл... Утром напишу тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rokr__
сообщение 4.8.2010, 22:25
Сообщение #5


Стаж: 15 лет

Сообщений: 654
Благодарностей: 233
Полезность: 606

заранее благодарен :)
тк сам не юзаю церебра-хотелось бы и плагин от этого отучить )

Отредактировал: Rokr__, - 4.8.2010, 22:26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TiLos
сообщение 5.8.2010, 13:52
Сообщение #6


Стаж: 13 лет

Сообщений: 129
Благодарностей: 33
Полезность: 204

Цитата(Rokr__ @ 4.8.2010, 23:25) *
заранее благодарен :)
тк сам не юзаю церебра-хотелось бы и плагин от этого отучить )

http://cerberus.cstrike.in.ua/download/files/cerberus/
Вытащи попробуй отсюда ланг файл и include связанный\связанные с цербером.
И сам cerberus.amxx Тоже поставь

Отредактировал: TiLos, - 5.8.2010, 13:54
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Zefir
сообщение 5.8.2010, 14:11
Сообщение #7
Стаж: 15 лет

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

Цитата(Rokr__ @ 4.8.2010, 22:15) *
Возможно ли реализовать плагин 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
Сообщение #8


Стаж: 15 лет

Сообщений: 654
Благодарностей: 233
Полезность: 606

TiLos,
+2 плагина,конфликта не будет? (admin.amxx cerebrus.amxx)
Zefir,
я знаю, как раз месяц назад решил изучить сие чудо-поставил форум,плагины,настроил по мануалу,но так и не нашел как добавить админов на сервер (мой видимо косяк),на этом мои познания церебра закончились)
моя идея была в том чтобы плагин был не зависим от самой системы,просто плаг,сделал бы сам, но только начал изучать pawn :)

Отредактировал: Rokr__, - 5.8.2010, 18:04
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Zefir
сообщение 5.8.2010, 18:18
Сообщение #9
Стаж: 15 лет

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

Цитата(Rokr__ @ 5.8.2010, 19:04) *
TiLos,
+2 плагина,конфликта не будет? (admin.amxx cerebrus.amxx)
Zefir,
я знаю, как раз месяц назад решил изучить сие чудо-поставил форум,плагины,настроил по мануалу,но так и не нашел как добавить админов на сервер (мой видимо косяк),на этом мои познания церебра закончились)
моя идея была в том чтобы плагин был не зависим от самой системы,просто плаг,сделал бы сам, но только начал изучать pawn :)


Конечно будут конфликты :)

А что админов не создал, то там все просто, группу создаешь ей права назначаешь и указываешь серваки на которых группа имеет права.
Все, добавление любого игрока в группу делает его админом. А вообще с такими вопросами лучше на форум поддержки.

Отдельно такой плагин мне нет резона делать ;)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rokr__
сообщение 5.8.2010, 18:31
Сообщение #10


Стаж: 15 лет

Сообщений: 654
Благодарностей: 233
Полезность: 606

Zefir,
я думал ты не заглянешь в эту тему :)
Цитата
Отдельно такой плагин мне нет резона делать ;)

вот вот pr проект :D в принципе его делать то не надо,он есть,но зависимый от церебра ;)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Zefir
сообщение 5.8.2010, 20:29
Сообщение #11
Стаж: 15 лет

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

Цитата(Rokr__ @ 5.8.2010, 19:31) *
Zefir,
я думал ты не заглянешь в эту тему :)

вот вот pr проект :D в принципе его делать то не надо,он есть,но зависимый от церебра ;)

Так в том то и прикол что без цербера не будет норм контроля за игроком, у меня то и динамические сети контролятся и много чего другого, так что задержку реконнекта, как ты ее назвал, и не сделаешь по другому :) Прийдется как то свою схему придумывать ... А так у меня все готовое.

Кстати у меня даже мой гангейм статистику по церберу ведет, то есть под каким бы ником и с какого бы IP игрок ни играл, статс сохраняется для игроков. Очень норм работает...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя PORKI
сообщение 6.8.2010, 1:43
Сообщение #12


Стаж: 17 лет

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

У тебя есть ГГ ,а что ты тогда на моём забыл?))На выходных хочу поиграться с интеграцией на ipb

Отредактировал: PORKI, - 6.8.2010, 1:43
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xSav
сообщение 6.8.2010, 7:39
Сообщение #13
Стаж: 14 лет

Сообщений: 1131
Благодарностей: 174
Полезность: 126

Zefir
Меня заинтересовал сей продукт но я так понимаю нужен дополнительно античит типа маяка дабы устанавливать hard_id и без этого никак ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rokr__
сообщение 6.8.2010, 8:43
Сообщение #14


Стаж: 15 лет

Сообщений: 654
Благодарностей: 233
Полезность: 606

Zefir,
и да кстати,почему бы тебе не поведать форумчанам о своем творении? мануал по установке,настройке,плюсы и минусы,отличия,преимущества и недостатки,думаю найдется немало заинтересовавшихся :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Zefir
сообщение 6.8.2010, 14:06
Сообщение #15
Стаж: 15 лет

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

Цитата(PORKI @ 6.8.2010, 2:43) *
У тебя есть ГГ ,а что ты тогда на моём забыл?))На выходных хочу поиграться с интеграцией на ipb

Ты же знаешь, пока у тебя и у других админов читакам раздолье у меня народу не тусуется много sad.gif заставляю регатся с динамики и не даю почитерить :) А так на ГГ у меня актиность не намного хуже чем на ДМ где постоянно минимум 8 рыл ботских есть :)

Цитата(xSav @ 6.8.2010, 8:39) *
Zefir
Меня заинтересовал сей продукт но я так понимаю нужен дополнительно античит типа маяка дабы устанавливать hard_id и без этого никак ?

Никаких античитов не нужно, хотя они не помешают... А с их идентификаторами тамошняя версия работать еще не умеет. Это все в новой реализовано.

Цитата(Rokr__ @ 6.8.2010, 9:43) *
Zefir,
и да кстати,почему бы тебе не поведать форумчанам о своем творении? мануал по установке,настройке,плюсы и минусы,отличия,преимущества и недостатки,думаю найдется немало заинтересовавшихся :)


А это для кого писалось? https://c-s.net.ua/forum/topic16973.html

А вот самый первый топик...
https://c-s.net.ua/forum/topic11627.html
можете посмотреть по датам... :) Но та версия была как бы сказать... слишком сырой еще :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xSav
сообщение 6.8.2010, 15:06
Сообщение #16
Стаж: 14 лет

Сообщений: 1131
Благодарностей: 174
Полезность: 126

Никаких античитов не нужно.. соответственно твоя система сама определяет каким то образов чтото типа хард айди или тому подобное ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Zefir
сообщение 6.8.2010, 17:23
Сообщение #17
Стаж: 15 лет

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

Цитата(xSav @ 6.8.2010, 16:06) *
Никаких античитов не нужно.. соответственно твоя система сама определяет каким то образов чтото типа хард айди или тому подобное ?

Нет, внимательно ознакомся с возможностями...

Я действую на основе сетей, если сеть с динамическими адресами, то игрок должен зарегистрироваться на форуме, и вход на сервера без пароля и регистрации ему будет невозможен. И банится именно акаунт на форуме. Но вот если у игрока статический адрес выданный провайдером, то тогда банится по адресу.

Это я описал самый стандартный вариант поведения, он настраивается очень гибко, смотри подробности здесь:
http://cerberus.cstrike.in.ua/wiki/ru:overview
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя xSav
сообщение 6.8.2010, 17:40
Сообщение #18
Стаж: 14 лет

Сообщений: 1131
Благодарностей: 174
Полезность: 126

я так понимаю получить версию новую которая в разработке можно будет только путем перечисления 10 евро на кошель ?
То есть я попадаю на форум и там уже и тех поддержка и все остальное ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Zefir
сообщение 6.8.2010, 17:49
Сообщение #19
Стаж: 15 лет

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

Нет, никаких денег не надо :)
Хотя только если, для поддержки проекта :)

Новая версия также будет абсолютно бесплатна...

Но ее пока в паблике нету. Она еще пре-альфа. Когда доберемся до беты, тогда выложу в паблик...

Но могу сказать что к примеру вчера оттестили уровни иммунитета. То есть у админов будут уровни и забанить другого админа будет можно, только если твой уровень на 2 уровня выше. А для кика хватит и 1 уровня разницы. Всего будет 8 уровней. Ну это интересно в основном для больших порталов...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xSav
сообщение 7.8.2010, 7:23
Сообщение #20
Стаж: 14 лет

Сообщений: 1131
Благодарностей: 174
Полезность: 126

Да но как тогда быть если тут сказано немного по другому
http://cerberus.cstrike.in.ua/forum/topic/45/
Цитата
Полная версия Цербера становиться доступна только после получения доступа к разделу Стандартной версии.
Доступ может быть выдан или активистам и бета-тестерам, или спонсорам проекта.

Активистом на всех форумах быть не возможно посему тока деньги остается
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: