Mojira Archive
MC-214291

Extreme velocity with fishing rods can crash server

By having a nether portal at around 100,000 blocks in the x and z axis away from spawn and utilizing the divide by 8 with nether portals, an extreme distance can be created quickly with two players if one enters the nether from that position and the other stays in the overworld. If one of the players were to use the fishing rod on the other player before one steps in the portal, the hook will still be attached when entering. Now, if the player that cast the rod reeled in, an extreme velocity will be given to the player ((100,000/8 - 100,000)/10) in the x and z axis crashing the server due to block collision checks and chunk loading/generation. This can be done at positions closer to spawn (around 50k), however, this distance was choose to show an easy example.

How to reproduce

  1. Create a new world
  2. Teleport to 100000 100 100000
    /tp 100000 100 100000
  1. Build a nether poral 
  2. Open your world either by open to lan or start a server.
  3. Have the second player login and tp to you.
  4. Hook the player with a fishing rod and have the player walk in the portal.
  5. Reel in the rod.
    The server will freeze for a while and the second player will disconnect. No crash report is generated.

Video

https://www.youtube.com/watch?v=qf-Wdw1sdVA

Fix suggestion

You could limit the velocity a fishing rod can give to fix this crash as an easy way.

However, there might be crashes in the future that utilize high velocity as there are many ways, even with tnt, to produce this effect. I highly recommend the harder method of reworking the movement/block collision code. This would save performance and allow for high speeds in the game. A similar crash reported by me was the ender dragon divide by zero one which worked in much the same way,

Fixed

Kyle Weber

[Mojang] Panda

2021-02-06, 07:18 AM

2021-05-26, 05:39 PM

2021-05-26, 05:39 PM

2

3

Confirmed

Very Important

Crash

1.16.5 - 21w10a1.16.5, 21w05b, 21w06a, 21w08b, 21w10a

1.17 Pre-release 1