These are chat archives for u3games/L2J_EventEngine

9th
Sep 2015
fissban
@fissban
Sep 09 2015 06:20
estoy armando el sistema de restriccion de cuentas por pc
afortunadamente l2jserver ya almacena el trace de cada personaje lo cual lo hace mas facil :D
fissban
@fissban
Sep 09 2015 07:00
no se si va a funcionar asi esto, pero me salio asi en el trabajo...ahora me tocara testearlo y mejorarlo
// Control de la cantidad de cuentas por ip.
private Map<String, Integer> _ipManager = new ConcurrentHashMap<>();

/**
 * Verificamos la cantidad de cuentas por pc.<br>
 * -> Obs: <br>
 * Si en los configs (MAX_PARTICIPANT_PER_PC) se estipulo en 0 no se haran verificaciones de cuentas por pc<br>
 * Se compara el ip de "activeChar" con todos los demas registrados en busca de coincidencias
 * @param activeChar
 * @return
 */
private boolean checkMultiBox(L2PcInstance activeChar)
{
    // sin verificacion de cuentas por pc
    if (ConfigData.MAX_PARTICIPANT_PER_PC == 0)
    {
        return true;
    }

    String address = getAddres(activeChar);

    if (_ipManager.get(address) == null)
    {
        _ipManager.put(address, 1);
    }
    else
    {
        if (_ipManager.get(address) >= ConfigData.MAX_PARTICIPANT_PER_PC)
        {
            return false;
        }

        int boxCount = _ipManager.get(address);
        _ipManager.put(address, boxCount + 1);
    }

    return true;
}

public String getAddres(L2PcInstance activeChar)
{
    StringBuilder ip = new StringBuilder();

    int[][] trace = activeChar.getClient().getTrace();
    for (int i = 0; i < 5; i++)
    {
        ip.append(trace[i][0] + "." + trace[i][1] + "." + trace[i][2] + "." + trace[i][3]);
        ip.append("|");
    }

    return ip.toString();
}
U3Games
@u3games
Sep 09 2015 09:13
mmm, buena buena :D
fissban
@fissban
Sep 09 2015 09:26
muejeje ya lo tengo bastante optimizado
y de paso encontre otros errores
en el AI del npcmanager
q te registra aun cuando no cumplas los requisitos
igual los reparare en este pr y de paso agrege otros controles al mismo.
igual lo q me trae dudas es la forma en q realizo las comparaciones
creo q no es tan optimo como me gustaria creer
aunq asi como lo tengo es super sencillo :D
fissban
@fissban
Sep 09 2015 16:26
@u3games mira esto
u3games/L2J_EventEngine#69
Lucas
@luksdlt92
Sep 09 2015 23:40
@fissban lo del address movelo a otra clase, no es necesario que este en eventmanager