L2JMobius

The Kamael Disconnect after receive dayle missions

secaolol · 9 · 5496

Offline secaolol

  • Knight
  • ***
    • Posts: 61
I receive disconect after click on receive dayle rewards! on missions Board!
IDK if is for all mission but i receive 3x
and on GS say:  Kicked PlayerInstance:Sage[268475541] for spamming RequestOneDayRewardReceive


Offline AnsS

  • Heir
  • **
    • Posts: 37
Which mission is it?

I'am currently working on daily missions (it does not happen to me), I would check this also.


Offline secaolol

  • Knight
  • ***
    • Posts: 61
I make a kamael, kill mobs at lvl 6 and take first reward, (damage scroll from system mission) and disconnected


Offline AnsS

  • Heir
  • **
    • Posts: 37

Offline secaolol

  • Knight
  • ***
    • Posts: 61
I do not have that in The Kamael Classic version. Are you sure about your version?

https://uploaddeimagens.com.br/imagens/rs9Ct8M

Yeah, on first receive i have disconnect, but i have the reward on bag


Offline AnsS

  • Heir
  • **
    • Posts: 37
Well, I did not have that daily mission is my version, but I checked this:

org.l2jmobius.gameserver.network.clientpackets.dailymission.RequestOneDayRewardReceive.java

Code: [Select]
if (player.hasRequest(RewardRequest.class))
{
LOGGER.warning("Kicked " + player + " for spamming " + getClass().getSimpleName());
Disconnection.of(player).defaultSequence(true);
return;
}

Code: [Select]
ThreadPool.schedule(() ->
{
player.removeRequest(RewardRequest.class);
}, 50);

I think if you press faster than 50ms then you get the kick, because your previous request not removed yet.


Offline secaolol

  • Knight
  • ***
    • Posts: 61
Well, I did not have that daily mission is my version, but I checked this:

org.l2jmobius.gameserver.network.clientpackets.dailymission.RequestOneDayRewardReceive.java

Code: [Select]
if (player.hasRequest(RewardRequest.class))
{
LOGGER.warning("Kicked " + player + " for spamming " + getClass().getSimpleName());
Disconnection.of(player).defaultSequence(true);
return;
}

Code: [Select]
ThreadPool.schedule(() ->
{
player.removeRequest(RewardRequest.class);
}, 50);

I think if you press faster than 50ms then you get the kick, because your previous request not removed yet.

Maybe change to 200? i dont spamming i only send a first click and disconnected


Offline AnsS

  • Heir
  • **
    • Posts: 37
If you change it to 200, then your removeRequest will be delayed with 200ms, not 50ms.

My version looks like is not the same as yours, so sorry, I cannot help you in the proper fix.


Online Mobius

  • Distinguished King
  • *****
    • Posts: 16056
This is actually a protection against clickers.
Not a bug.