OneLiteFeatherNET / OneLiteFeatherNET/Voyager
Basic anti-cheat: server-side velocity cap, ring teleport detection
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 0
- Forks
- 0
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 12
Description
Description
With open beta, unknown players will join. Basic anti-cheat measures are needed to prevent obvious cheating: speed hacking (artificially high velocity) and ring teleporting (skipping rings by teleporting past them).
Acceptance Criteria
- Server rejects position updates where the player moved more than
maxSpeed + toleranceblocks/tick (configurable per map, default: vanilla max elytra speed ~3.5 blocks/tick) - Ring skip detection: if a player's ring sequence jumps by more than 1, the intermediate ring is flagged as skipped and not credited
- Flagged events are logged with: player UUID, timestamp, event type, position data
- After 3 violations in a session, player is kicked with "Unusual movement detected"
- Anti-cheat can be disabled in dev-mode (
/dev-startflag) - Unit test: submit a position packet with 2× legal velocity → verify rejection and log entry
Technical Details
- Position validation logic in
PhysicsSystemor a newAntiCheatSystem - Must use server-authoritative physics data, not raw client packets
- Sequential ring enforcement already exists — extend it for skip detection
Dependencies
- Server-authoritative physics is already implemented
Estimate
M
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the server-authoritative physics entry point, then inspect PhysicsSystem or the proposed AntiCheatSystem and the existing sequential ring enforcement. Check how /dev-start identifies dev mode and add the specified unit test for an over-limit position packet. Done means velocity and ring skips are rejected or uncredited, events are logged, three violations kick the player, and dev mode disables the checks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100