• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [CreatureEvents] Script que protege el account manager y mas!

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    Hola usuarios de tibiaface! hoy me anime a crear un pequeño script para sus servidores TFS 0.4, este script lo que hace es basicamente detectar cuantos Account Manager estan conectados y solo dejara conectar mas si no se ha sobrepasado el limite definido en el script, aparte de eso inclui otro pequeño control que puedes activar o desactivar, lo que hace es detectar la velocidad en que una persona inicia seccion y vuelve a iniciar seccion, de manera de que si el usuario lo hace muy rapido se bloqueara la conexion por un instante de manera de que si alguien intenta hacer reconexiones a cada rato de manera sobrehumana, no podra iniciar seccion con su ip actual, el tiempo de espera depende de cuantas veces intente conectar de manera rapida. el tiempo lo puedes definir en el script. por defecto esta en 500ms.

    Tambien tiene una lista para bloquiar conexiones de algunos ip que desees añadir manualmente.

    Aqui esta el script!
    Código:
    if not libAntimagebomb then
     libAntimagebomb = {} -- lib global, no es necesario dar una explicacion si no eres scripter.
    end

    local spawnTime = 500 -- tiempo minimo requerido para volver a iniciar seccion con el account manager.
    local protectionVeryAgainConnections = true -- false para desactivar la proteccion contra ataques de inicio de seccion muy rapidos.

    local protectionAntimageBomb = true -- false para desactivar la proteccion contra mc account manager.
    local accountManagerMaxUsers = 10 -- cantidad de account manager que pueden estar conectados al mismo tiempo.

    local tempIpBanList = { -- Todas las ip que coloques aqui no tendran permiso para iniciar seccion.
     --"192.168.1.1" por ejemplo.
     "127.0.0.0",
     "111.111.111.111"
    }

    function onLogin(cid)
     local ipString = tostring(getPlayerIp(cid))
     if isInArray(tempIpBanList, ipString) then
     return false
     end
     if getCreatureName(cid) == 'Account Manager' then
     if protectionVeryAgainConnections then
     if not libAntimagebomb[ipString] then
     libAntimagebomb[ipString] = os.clock() + (spawnTime/1000)
     else
     if libAntimagebomb[ipString] >= os.clock() then
     libAntimagebomb[ipString] = libAntimagebomb[ipString] + (spawnTime/1000)
     return false
     end
     libAntimagebomb[ipString] = os.clock() + (spawnTime/1000)
     end
     end
     if protectionAntimageBomb then
     local players, founds = getPlayersOnline(), 0
     for index, uid in pairs(players) do
     if getCreatureName(uid) == 'Account Manager' then
     founds = (founds +1)
     end
     if founds >= accountManagerMaxUsers then
     return false
     end
     end
     end
     end
     return true
    end

    Ha claro y aqui esta la TAG para añadirlo en creatuscripts.xml
    Código:
    <event type="login" name="PlayerLoginProtection" event="script" value="protectionFastConnections.lua"/>

    Espero que a alguien le sirva en algun momento.
    Saludos!



    Si necesitas hospedaje para tu servidor usa este enlace y mira las buenos planes de Windows y Linux:

    SevuOT Online, Version:10 and Custom.

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    grana aporte +1 (y)



    Ver perfil de usuario http://www.tibiaface.com

    abbyt

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Exelente (y) GRACIAS

    Ver perfil de usuario
    De nada amigo!



    Si necesitas hospedaje para tu servidor usa este enlace y mira las buenos planes de Windows y Linux:

    SevuOT Online, Version:10 and Custom.

    Ver perfil de usuario

    Contenido patrocinado


    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).