Skip to main content

Block-Reach

Other names: None

What does it do and how does it work: Block Reach allows the user to place blocks from un-natural distances (5 blocks). when you attempt to break a block past the vanilla distance the client sends a player move packet which contains the coordinates you want to be at and it places yourself closer to that block, but lets say that is not close enough to the block, since you cannot move father then the teleport distance the server allows (anything father and the player movement packet will be rejected and the server sends back a synchronised player position packet to reset the players position back), so the module works in increments to bypass this, after the player reaches the point in which the player can hit the target the attack packet is sent to the server and the module sends more player move packets to bring the player back to their original spot, and since the client sent the packets directly using a ClientConnectionInvoker to access the sendImmediately packet function you wont see the player move at all (The packets are sent in the background, ergo in the game the player does not move), Other players also cannot see you due to the tick rate of the server while on the clientside we may be sending a lot of player movement packets per tick, the server only updates the position of the player once per tick or so.

Checking if the movement is too fast works like this:

  • Each server tick, the player's current position is stored
  • When a player moves, the changes in x, y, and z coordinates are compared with the positions from the previous tick (Δx, Δy, Δz)
  • Total movement distance squared is computed as Δx² + Δy² + Δz²
  • The expected movement distance squared is computed as velocityX² + velocityY² + velocityZ²
  • If the total movement distance squared value minus the expected movement distance squared value is more than 100 (300 if the player is using an elytra), they are moving too fast.

Ergo the client works around this and ensures that the player movement packets the client sends match these requirements ^

Detection difficulty: img

Evidence required: img