Boats used to crash server?

Discussion in 'Server & Community Management' started by SirKillian, Feb 10, 2019.

  1. Hello,

    Today I woke up with the notification that my server has crashed overnight. After looking into it I found a rather interesting issue.

    A player that goes with the username "JoinISIS" joined my server as a new player. Said player executed only 1 command, this command was /rtp (which teleports the player to a random location). On this location the player placed a crafting table, most likely to craft his boat(s). Shortly after the line below spammed a total of 126.578 times... Which caused the server to time out.:
    Code (Text):
    [Server thread/WARN]: Boat (vehicle of JoinISIS) moved too quickly! -2332.9569886744466,-62.52237271636393,652.1936455665784

    This all happened in less then 2 minutes of them joining the server.
    Code (Text):
    [23:32:45] [User Authenticator #337/INFO]: UUID of player JoinISIS is 669005f5-1fcd-41f6-b055-882bd0eae65b
    [23:32:46] [Server thread/INFO]: JoinISIS[/**.***.***.**:*****] logged in with entity id 19274671 at ([world]-1574.5, 116.0, -1048.5)
    [23:33:16] [Server thread/INFO]: JoinISIS issued server command: /rtp
    [23:34:33] [Server thread/WARN]: Boat (vehicle of JoinISIS) moved too quickly! -2332.9569886744466,-62.52237271636393,652.1936455665784
    [23:34:33] [Server thread/WARN]: Boat (vehicle of JoinISIS) moved too quickly! -2332.9569886744466,-62.52237271636393,652.1936455665784
    [23:34:33] [Server thread/WARN]: Boat (vehicle of JoinISIS) moved too quickly! -2332.9569886744466,-62.52237271636393,652.1936455665784
    [23:34:33] [Server thread/WARN]: Boat (vehicle of JoinISIS) moved too quickly! -2332.9569886744466,-62.52237271636393,652.1936455665784
    The location in the logs is a regular ocean biome. What I noticed was that the boat location was at Y-62 (under bedrock)

    I'm running on the currently latest Paper 1.12.2.
    I have NoCheatPlus. (while boat fly hacks etc kick me almost instantly, this did not stop this person from doing whatever he was doing)

    If anyone knows what could have caused this, Please let me know :)
     
  2. Maybe that player did the exact same thing on this video:

    But I am not so sure if this would cause a potential server crash.
     
  3. I don't think that's it no :p
     
  4. :unsure:
    It's possible that the player used a cheat to move the boat faster and by generating the chunks extremely quickly ... the server crashed
     
  5. No, the players sits in their boat on the same coords during the entire time.
     
  6. Well 1 thing is for sure this is a case of overloaded boat move packet try to lower the threshold of violation detection of NCP on morepacket cheats detection

    Try to change your anti cheat and see if this still occurs

    It seems a system on your server is having difficulty handling negative Y coordinates as you can notice the player tries to teleport into the void
    again try to change anti cheat.

    Well if you can code and can compile a plugin there is a simple solution to this

    Code (Text):
    import java.util.HashSet;
    import java.util.Set;

    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerMoveEvent;
    import org.bukkit.plugin.java.JavaPlugin;

    public class AntiVoid extends JavaPlugin implements Listener {

        @Override
        public void onEnable() {
            this.getServer().getPluginManager().registerEvents(this, this);
        }

        @EventHandler
        public void onPlayerMoveEvent(PlayerMoveEvent event) {
            // check if player is dead
            if (event.getPlayer().isDead()) {
                // if player is dead and still sending movement packet kick player
                event.getPlayer().kickPlayer("You have been kicked for illegal movements");
            }

            // check if player's destination is below bedrock
            if (event.getTo().getY() < 0) {
                // if destination is below bedrock kill player
                event.getPlayer().setHealth(0);
               
                //or if you want kick the the player
                event.getPlayer().kickPlayer("You have been kicked for illegal movements");
            }

        }

    }
    Good luck
     
    #6 RAZERMC, Feb 10, 2019
    Last edited: Feb 10, 2019
  7. I had something similar happen, but not involving boats. A player logged in at the surface, but then ended up at negative Y values. He ended up being kicked by NoCheatPlus. The other weird thing is the X and Z coordinates in the "moved too quickly" message have the wrong sign.

    Maybe this is just a case of lag and sending the initial chunk data to the player. But it only happened with this guy, and no one else. Not even the two other accounts that connected from the same IP address minutes later! I'm thinking he was using a hacked client.
    Code (Text):
    XXX logged in with entity id 299053 at ([LanaPug17]-318.4372097689593, 64.0, -1579.746935622433)
    XXX moved too quickly! 326.9372097689593,-3.508000087738168,1588.246935622433
    XXX moved too quickly! 326.9372097689593,-3.6060000896455193,1588.246935622433
    XXX moved too quickly! 326.9372097689593,-3.704000091552871,1588.246935622433
    XXX moved too quickly! 326.9372097689593,-3.9000000953675737,1588.246935622433
    XXX moved too quickly! 326.9372097689593,-3.9980000972749252,1588.246935622433
    XXX moved too quickly! 326.9372097689593,-4.096000099182277,1588.246935622433
    XXX moved too quickly! 326.9372097689593,-4.194000101089628,1588.246935622433
    XXX moved too quickly! 326.9372097689593,-4.29200010299698,1588.246935622433
    [NoCheatPlus] XXX failed SurvivalFly: tried to move: -318.44, 64.00, -1579.75 -> -320.37, 64.00, -1581.51, d=2.62 (permchecks+hspeed). VL 2323.
    XXX lost connection: Kicked for flying (or related)
    [NoCheatPlus] (CONSOLE) Kicked XXX : Kicked for flying (or related)
     
  8. Interesting stuff, I'm trying to work on a patch for this but its very hard since I have no idea how to properly replicate it :confused:
     
  9. If the guy comes on your server again, ask him how he did it. Sometimes they're proud of their (dubious) accomplishments and willing to share them.

    Then ban him.
     
  10. Already banned said person lol
     

Share This Page