Deterministic server-side ore obfuscation and seed-resilient world integrity for Minecraft servers.
Created by soymods.
Oreveil is a server-side Minecraft plugin that prevents x-ray and seed-assisted resource discovery by ensuring unrevealed ore data is never sent to the client in the first place.
Instead of trusting the client to ignore hidden blocks, Oreveil keeps the server authoritative and rewrites chunk or block data before it reaches players. Hidden ores are replaced with contextually valid host blocks such as stone, deepslate, or netherrack until normal gameplay legitimately exposes them.
- Intercept outgoing chunk and block update traffic.
- Rewrite hidden ore states per-player before transmission.
- Prevent transient packet leakage that traditional x-ray tools depend on.
- Reveal ore only when it becomes legitimately exposed.
- Avoid proximity-based disclosure and similar side channels.
- Preserve vanilla-consistent behavior for ordinary mining and exploration.
- Maintain a server-authoritative record of protected ore positions.
- Support salted or non-vanilla ore placement strategies that do not derive from the public world seed.
- Reduce the value of seed-cracking pipelines and pathing heuristics.
- Replace hidden ores with believable host blocks on a per-player basis.
- Keep legitimate exposed ores visible without globally revealing underground data.
- Support different host material behavior across the Overworld, Nether, and End.
- Define exactly which ore blocks are protected.
- Control what counts as exposure, including air, fluids, transparent blocks, and non-occluding neighbors.
- Reload rules in-game without forcing server owners to hand-edit config for every change.
- React to mining, explosions, fluids, pistons, placement, teleportation, and player movement.
- Keep the client view aligned with current reveal state as the world changes.
- Prime newly viewed areas so players do not gain value from stale underground information.
- Rewrite outbound block update traffic on a per-player basis.
- Support ProtocolLib-backed transport when available, with a fallback sync path for compatibility.
- Prime newly delivered chunks so hidden ores are corrected as players receive terrain.
- Preserve a clean transport boundary for deeper packet integrations.
Oreveil is intended to neutralize or materially weaken:
- classic x-ray clients
- resource pack transparency exploits
- Baritone-assisted ore hunting strategies
- seed-cracking workflows that rely on predictable underground distribution
- packet leakage from naive server-side reveal implementations
The goal is to reduce adversarial clients back to standard survival constraints rather than trying to detect every cheat directly.
Oreveil is designed to be manageable both from configuration files and in-game administration commands.
- Use config-driven policies for protected ores, exposure rules, host block mapping, and transport behavior.
- Use
/oreveil reloadto apply rule changes without restarting the server. - Use
/oreveil inspectto inspect how a targeted block is currently classified and presented to the client.
- Built for Paper-based servers targeting Minecraft
1.21.4. - Requires Java
21+. - Integrates with ProtocolLib when installed.
git clone https://github.com/soymods/oreveil.git
cd oreveil
./gradlew buildArtifacts are written to build/libs/.
src/main/java/com/soymods/oreveil/bootstrap/: plugin bootstrapsrc/main/java/com/soymods/oreveil/world/: server-authoritative world modelsrc/main/java/com/soymods/oreveil/exposure/: reveal and exposure logicsrc/main/java/com/soymods/oreveil/obfuscation/: packet rewrite pipelinesrc/main/java/com/soymods/oreveil/listener/: world and player event synchronizationsrc/main/resources/: plugin metadata and configuration
| Component | Version |
|---|---|
| Plugin Version | 0.1.0-SNAPSHOT |
| Target Minecraft Version | 1.21.4 |
| Java | 21+ |
- Oreveil targets Paper API
1.21.4-R0.1-SNAPSHOT. - ProtocolLib transport is used automatically when available, depending on
transport.mode.