Autor Tema: ERROR BufferUnderflowException aCis 374 (RESUELTO)  (Leído 112 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado cesar

  • No Grade
  • *
  • Topic Author
  • Mensajes: 39
  • 00
  • Agradecimientos: 6
    • L2 Critical
  • Cronica: : l2interlude
  • Revision: Acis 370
  • S.O: Windows 7
  • Serverpack : l2jaCis
ERROR BufferUnderflowException aCis 374 (RESUELTO)
« en: Junio 07, 2018, 03:38:46 pm »
gracias
Este post tiene 0 agradecimientos
  • Añade a tus favoritos
    buenas, tengo este problema y no se que es, tengo l2jacis rev 374 y recién instalado, no he agregado nada solamente una gk y nada mas, precisamente para ver que errores me podrían salir, entraron unos pjs no se a que hora y al parecer algo hicieron que hicieron que este error saltara en la consola, aquí dejo el error y los archivos donde sale el nombre de BufferUnderflowException. 

    ERROR :

    Código: [Seleccionar]
    jun 05, 2018 7:22:26 PM net.sf.l2j.gameserver.network.clientpackets.L2GameClientPacket read
    GRAVE: Failed reading [C] ProtocolVersion for [IP: 172.104.226.145].
    java.nio.BufferUnderflowException
    at java.nio.Buffer.nextGetIndex(Unknown Source)
    at java.nio.HeapByteBuffer.getInt(Unknown Source)
    at net.sf.l2j.commons.mmocore.ReceivablePacket.readD(ReceivablePacket.java:41)
    at net.sf.l2j.gameserver.network.clientpackets.ProtocolVersion.readImpl(ProtocolVersion.java:13)
    at net.sf.l2j.gameserver.network.clientpackets.L2GameClientPacket.read(L2GameClientPacket.java:32)
    at net.sf.l2j.commons.mmocore.SelectorThread.parseClientPacket(SelectorThread.java:425)
    at net.sf.l2j.commons.mmocore.SelectorThread.tryReadPacket(SelectorThread.java:362)
    at net.sf.l2j.commons.mmocore.SelectorThread.readPacket(SelectorThread.java:295)
    at net.sf.l2j.commons.mmocore.SelectorThread.run(SelectorThread.java:167)

    ARCHIVO L2GameClientPacket:


    Código: [Seleccionar]

    package net.sf.l2j.gameserver.network.clientpackets;

    import java.nio.BufferUnderflowException;

    import net.sf.l2j.commons.logging.CLogger;
    import net.sf.l2j.commons.mmocore.ReceivablePacket;

    import net.sf.l2j.Config;
    import net.sf.l2j.gameserver.model.actor.instance.Player;
    import net.sf.l2j.gameserver.network.L2GameClient;
    import net.sf.l2j.gameserver.network.serverpackets.L2GameServerPacket;

    /**
     * Packets received by the gameserver from clients.
     */
    public abstract class L2GameClientPacket extends ReceivablePacket<L2GameClient>
    {
    protected static final CLogger LOGGER = new CLogger(L2GameClientPacket.class.getName());

    protected abstract void readImpl();

    protected abstract void runImpl();

    @Override
    protected boolean read()
    {
    if (Config.PACKET_HANDLER_DEBUG)
    LOGGER.info(getType());

    try
    {
    readImpl();
    return true;
    }
    catch (Exception e)
    {
    LOGGER.error("Failed reading {} for {}. ", e, getType(), getClient().toString());

    if (e instanceof BufferUnderflowException)
    getClient().onBufferUnderflow();
    }
    return false;
    }

    @Override
    public void run()
    {
    try
    {
    runImpl();

    // Depending of the packet send, removes spawn protection
    if (triggersOnActionRequest())
    {
    final Player player = getClient().getActiveChar();
    if (player != null && player.isSpawnProtected())
    player.onActionRequest();
    }
    }
    catch (Throwable t)
    {
    LOGGER.error("Failed reading {} for {}. ", t, getType(), getClient().toString());

    if (this instanceof EnterWorld)
    getClient().closeNow();
    }
    }

    protected final void sendPacket(L2GameServerPacket gsp)
    {
    getClient().sendPacket(gsp);
    }

    /**
    * @return A String with this packet name for debuging purposes
    */
    public String getType()
    {
    return "[C] " + getClass().getSimpleName();
    }

    /**
    * Overriden with true value on some packets that should disable spawn protection
    * @return
    */
    protected boolean triggersOnActionRequest()
    {
    return true;
    }
    }




    ARCHIVO MoveBackwardToLocation :


    Código: [Seleccionar]
    package net.sf.l2j.gameserver.network.clientpackets;

    import java.nio.BufferUnderflowException;

    import net.sf.l2j.Config;
    import net.sf.l2j.gameserver.model.actor.ai.CtrlIntention;
    import net.sf.l2j.gameserver.model.actor.instance.Player;
    import net.sf.l2j.gameserver.model.location.Location;
    import net.sf.l2j.gameserver.network.SystemMessageId;
    import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
    import net.sf.l2j.gameserver.network.serverpackets.EnchantResult;
    import net.sf.l2j.gameserver.network.serverpackets.StopMove;

    public class MoveBackwardToLocation extends L2GameClientPacket
    {
    private int _targetX;
    private int _targetY;
    private int _targetZ;
    private int _originX;
    private int _originY;
    private int _originZ;

    @SuppressWarnings("unused")
    private int _moveMovement;

    @Override
    protected void readImpl()
    {
    _targetX = readD();
    _targetY = readD();
    _targetZ = readD();
    _originX = readD();
    _originY = readD();
    _originZ = readD();

    try
    {
    _moveMovement = readD(); // is 0 if cursor keys are used 1 if mouse is used
    }
    catch (BufferUnderflowException e)
    {
    if (Config.L2WALKER_PROTECTION)
    {
    final Player player = getClient().getActiveChar();
    if (player != null)
    player.logout(false);
    }
    }
    }

    @Override
    protected void runImpl()
    {
    final Player activeChar = getClient().getActiveChar();
    if (activeChar == null)
    return;

    if (activeChar.isOutOfControl())
    {
    activeChar.sendPacket(ActionFailed.STATIC_PACKET);
    return;
    }

    if (activeChar.getActiveEnchantItem() != null)
    {
    activeChar.setActiveEnchantItem(null);
    activeChar.sendPacket(EnchantResult.CANCELLED);
    activeChar.sendPacket(SystemMessageId.ENCHANT_SCROLL_CANCELLED);
    }

    if (_targetX == _originX && _targetY == _originY && _targetZ == _originZ)
    {
    activeChar.sendPacket(new StopMove(activeChar));
    return;
    }

    // Correcting targetZ from floor level to head level
    _targetZ += activeChar.getCollisionHeight();

    if (activeChar.getTeleMode() > 0)
    {
    if (activeChar.getTeleMode() == 1)
    activeChar.setTeleMode(0);

    activeChar.sendPacket(ActionFailed.STATIC_PACKET);
    activeChar.teleToLocation(_targetX, _targetY, _targetZ, 0);
    return;
    }

    double dx = _targetX - _originX;
    double dy = _targetY - _originY;

    if ((dx * dx + dy * dy) > 98010000) // 9900*9900
    {
    activeChar.sendPacket(ActionFailed.STATIC_PACKET);
    return;
    }
    activeChar.getAI().setIntention(CtrlIntention.MOVE_TO, new Location(_targetX, _targetY, _targetZ));
    }
    }
    « Última modificación: Junio 12, 2018, 03:26:07 pm por cesar »

    Conectado Fissban

    • AdminSite
    • *
    • Mensajes: 5378
    • ar
    • Agradecimientos: 1545
      • Mis Proyectos
    • Cronica: : Scions of Destiny
    • Revision: Last
    • S.O: Windows 10
    • Serverpack : L2jAdmins
    A cesar le gusta este post.

    Re:ERROR BufferUnderflowException aCis 374
    « Respuesta #1 en: Junio 08, 2018, 04:11:58 am »
    gracias
    Este post tiene 1 agradecimientos
  • Añade a tus favoritos
    un bot que te esta enviando paquetes incompletos....nada de q preocuparse

    Conectado Abso

    • Grado B
    • *
    • Mensajes: 259
    • ar
    • Agradecimientos: 56
    • Cronica: : Interlude
    • Revision: Last
    • S.O: Windows 10
    • Serverpack : L2Off//L2jAcis
    Re:ERROR BufferUnderflowException aCis 374
    « Respuesta #2 en: Junio 08, 2018, 10:05:39 am »
    gracias
    Este post tiene 0 agradecimientos
  • Añade a tus favoritos
    un bot que te esta enviando paquetes incompletos....nada de q preocuparse
    Ahhhhhhh, estas respuestas valen oro!!!!! :08:

    No veas la bola lo pulida que la tengo x'D

    Desconectado cesar

    • No Grade
    • *
    • Topic Author
    • Mensajes: 39
    • 00
    • Agradecimientos: 6
      • L2 Critical
    • Cronica: : l2interlude
    • Revision: Acis 370
    • S.O: Windows 7
    • Serverpack : l2jaCis
    Re:ERROR BufferUnderflowException aCis 374
    « Respuesta #3 en: Junio 09, 2018, 05:03:38 am »
    gracias
    Este post tiene 0 agradecimientos
  • Añade a tus favoritos
    mmm vale, y alguna forma de que eso no suceda? es que me gusta ver la consola del gameserver limpia xD sin errores,

    Desconectado vinicol

    • Grado C
    • *
    • Mensajes: 169
    • ve
    • Agradecimientos: 38
    • Cronica: : Interlude
    • Revision: 315/Ultima
    • S.O: Windows Server 2008
    • Serverpack : l2jfrozen L2jAcis
    A cesar le gusta este post.

    Re:ERROR BufferUnderflowException aCis 374
    « Respuesta #4 en: Junio 09, 2018, 01:48:03 pm »
    gracias
    Este post tiene 1 agradecimientos
  • Añade a tus favoritos
    mmm vale, y alguna forma de que eso no suceda? es que me gusta ver la consola del gameserver limpia xD sin errores,
    Hola 1 solución es pagar alguna buena protección para L2J que impida que corran los bots con el L2 .. otra seria esconder bien esos paquetes y de allí no se agarre ningún bot



    Código: [Seleccionar]
    	at java.nio.Buffer.nextGetIndex(Unknown Source)
    at java.nio.HeapByteBuffer.getInt(Unknown Source)
    at net.sf.l2j.commons.mmocore.ReceivablePacket.readD(ReceivablePacket.java:41)
    at net.sf.l2j.gameserver.network.clientpackets.ProtocolVersion.readImpl(ProtocolVersion.java:13)
    at net.sf.l2j.gameserver.network.clientpackets.L2GameClientPacket.read(L2GameClientPacket.java:32)
    at net.sf.l2j.commons.mmocore.SelectorThread.parseClientPacket(SelectorThread.java:425)
    at net.sf.l2j.commons.mmocore.SelectorThread.tryReadPacket(SelectorThread.java:362)
    at net.sf.l2j.commons.mmocore.SelectorThread.readPacket(SelectorThread.java:295)
    at net.sf.l2j.commons.mmocore.SelectorThread.run(SelectorThread.java:167)

    Conectado Fissban

    • AdminSite
    • *
    • Mensajes: 5378
    • ar
    • Agradecimientos: 1545
      • Mis Proyectos
    • Cronica: : Scions of Destiny
    • Revision: Last
    • S.O: Windows 10
    • Serverpack : L2jAdmins
    A cesar le gusta este post.

    Re:ERROR BufferUnderflowException aCis 374
    « Respuesta #5 en: Junio 10, 2018, 04:01:52 am »
    gracias
    Este post tiene 1 agradecimientos
  • Añade a tus favoritos
    los paquetes no se pueden esconder, a lo mejor puedes encriptar los paquetes pero eso no quiere decir q no te inyecten los paquetes de datos.

    Aca lo que pasa es q un bot esta enviando paquetes escritos de forma incompleta o bien sin datos, pero apena esta intentando logear y no pasa la comprobacion de "protocolo de version" q es el q se encarga de decirle al servidor con que cliente esta logeando el player.

    Desconectado cesar

    • No Grade
    • *
    • Topic Author
    • Mensajes: 39
    • 00
    • Agradecimientos: 6
      • L2 Critical
    • Cronica: : l2interlude
    • Revision: Acis 370
    • S.O: Windows 7
    • Serverpack : l2jaCis
    Re:ERROR BufferUnderflowException aCis 374 (RESUELTO)
    « Respuesta #6 en: Junio 12, 2018, 03:26:31 pm »
    gracias
    Este post tiene 0 agradecimientos
  • Añade a tus favoritos
    Muchas gracias por las respuestas fissban y vinicol
    « Última modificación: Junio 12, 2018, 03:28:10 pm por cesar »