ForgeEssentials

ForgeEssentials

339k Downloads

[1.12.2] [BUG] Inconsistent AFK behaviour.

DesolateIntention opened this issue · 0 comments

commented

Initial Steps

  • [Yes] I have updated to the latest build from Jenkins before reporting a bug
  • [Yes] I have checked, if the bug was not already reported by using the search.
  • [Yes] Attached is my ForgeEssentials/modlist.txt, my latest.log, and my debug.log

Describe the bug.
This piece of code does not seem to be doing anything.

afk {
    # fe.commands.afk.autokick = false
    # Automatically kick a player, when he is AFK
    S:auto_kick=true

    # fe.commands.afk.autotime = 480
    # Auto afk time in seconds. Set to 0 to disable.
    S:timeout=600

    # fe.commands.afk.warmup = 10
    # Time a player needs to wait before he can go afk with /afk
    S:warmup=20
}

auto_kick=true does not affect all players. Most of the time players are not kicked when entering AFK. Be it either manually or automatically.
warmup=20 works at random, apparently, if even. Players can run /afk after waiting twenty seconds and receive the following message: "Stand still for 10 seconds." Which is odd, because the value is set to 20, not 10. But that doesn't really matter if they can't run the command, even after waiting.
• Sometimes a player gets kicked with the following console message:

[20:58:25] [Server thread/INFO] [net.minecraft.network.NetHandlerPlayServer]: ElKuala lost connection: You have been kicked for being AFK
[20:58:25] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer]: ElKuala left the game
[20:58:25] [Timer-0/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: java.util.ConcurrentModificationException
[20:58:25] [Timer-0/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at java.util.HashMap$HashIterator.nextNode(HashMap.java:1445)
[20:58:25] [Timer-0/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at java.util.HashMap$ValueIterator.next(HashMap.java:1474)
[20:58:25] [Timer-0/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at com.forgeessentials.commands.util.ModuleCommandsEventHandler.run(ModuleCommandsEventHandler.java:43)
[20:58:25] [Timer-0/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at com.forgeessentials.core.misc.TaskRegistry$1.run(TaskRegistry.java:188)
[20:58:25] [Timer-0/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at java.util.TimerThread.mainLoop(Timer.java:555)
[20:58:25] [Timer-0/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at java.util.TimerThread.run(Timer.java:505)
[20:58:25] [Server thread/WARN] [net.minecraft.network.NetworkManager]: handleDisconnection() called twice

It spams the console with unnecessary information. "ElKuala lost connection: You have been kicked for being AFK." would be ideal, but I'm sure it's just a bug, so no need for clarification there. Also, note that this player got kicked for being AFK, while others didn't.

After modifying warmup=20 to warmup=5, it seems to work correctly. Players are told to wait five seconds and can run the command after doing so. One exception being Rukasu, who still gets "Stand still for 10 seconds.", but can run the command after waiting ten seconds. For some reason the previous values didn't work at all..

To Reproduce.
I would try setting up a normal ForgeEssentials server and playing around with the AFK command in-game.

Expected behavior.
Stated above in bug description.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows 7.
  • Browser Microsoft Edge (yes, I switched).
  • Version:
    ForgeEssentials: forgeessentials-1.12.2-12.3.85-server.jar
    Forge: forge-1.12.2-14.23.5.2854-universal.jar

Additional notes.
"Automatically kick a player, when he is AFK"
You don't need that comma here, hehe.