
Hauteur
Geyser extension that shifts the height window so Bedrock players can build and move at Java heights beyond the Bedrock client's range.
Описание
Hauteur
Let Bedrock Edition players explore and build above Y = 512 on custom-height Java worlds via dynamic Geyser vertical windowing.
Minecraft Java Edition datapacks can raise world height to Y = 2032 (used heavily by BuildTheEarth 1:1 alpine servers, mountain resorts, and megabuild projects), while Bedrock Edition clients hard-cap the Overworld at [-64, 320) ([-64, 512) with Geyser's extended height option). Above that ceiling, Bedrock players hit invisible air while Java players keep climbing.
Hauteur is a Geyser extension (dropped straight into Geyser's extensions/ folder—zero client mods or Bedrock add-ons required) that dynamically shifts a 16-block-aligned vertical window O per Bedrock player. Every Y coordinate sent to the Bedrock client is translated on the wire as Y - O, and every packet sent back is restored as Y + O, so a Java peak at Y = 1950 renders solidly in front of a Bedrock player.
How Hauteur Works Under the Hood
| Mechanism | |
|---|---|
Per-Player 16-Aligned Height Window (Y ± O)Maintains an independent subchunk-aligned offset O per Bedrock session (window-step: 128, margin-top: 96, margin-bottom: 96). As a player climbs, descends, or teleports, Hauteur shifts O automatically and keeps an action-bar readout (Real Y: 1952 (window +1664)) visible whenever O ≠ 0. | |
| Live Chunk Cache & Subchunk Re-Slicing Caches full-height Java chunks ( -2032 .. 2031) alongside single-block, section, explosion, and piston updates—then re-slices and streams only the subchunks overlapping the player's new Bedrock window upon rebasing, prioritized radially from the player outward. | |
| 400 ms Rebase Freeze & Packet Replay Briefly holds entity-motion deltas during a window transition ( freeze-millis: 400) and replays them seamlessly at the new offset once the center chunks arrive, preventing Bedrock clients from falling into unloaded air mid-shift. | |
| Absolute-Y Teleport Command Rewriting Leaves absolute commands ( /tp x 1950 z) untouched while translating relative ~ Y coordinates from the Bedrock client's shifted frame back to real Java world coordinates (tp, tppos, teleport). |
Diagnostic Commands
Aliases: /hauteur, /skywindow, /sw, /bho
| Command | Description |
|---|---|
/hauteur · /hauteur info [player] | Inspect current window offset O, real Java Y, Bedrock client Y, and cached chunk count |
/hauteur watch [player] | Stream live window transitions for a player as they happen |
/hauteur recent | Display the 10 most recent window shifts across the proxy/server |
/hauteur doctor | Self-check reflection hooks, dimension ceilings, and config sanity |
/hauteur stats | View cumulative shifts, chunk resends, and rebase timings since startup |
Installation & Honest Scope
- Run Java 21+ and Geyser (
2.9.x+ /2.11.2-SNAPSHOTon Standalone, Paper/Purpur/Folia, Fabric, Velocity, or BungeeCord). - Enable
extended-world-height: truein Geyser'sconfig.ymlfor the widest[-64, 512)(576-block) Bedrock window. - Place
Hauteur-<version>.jarinto Geyser'sextensions/folder (neverplugins/ormods/) and restart (migrates legacySkyWindow/configs automatically).
Experimental Status & Known Protocol Limits
- Experimental: Built against Geyser's internal translator hooks—verify after updating Geyser with
/hauteur doctor. - 576-block vertical sightline: At any given instant, a Bedrock client sees the
576vertical blocks inside its current window; terrain outside that slice appears as sky/void until the player moves toward it. - Fast elytra climbs: Diving or rocketing across hundreds of Y levels per second triggers rapid ~
400 msrebase holds; tunecooldown-ticksandmargin-topif your server is flight-heavy.
Links & Support
- Source Code, Full Config Reference & Issues: GitHub — MaxLananas/Hauteur
- Community & Support: Join our Discord
Licensed under MIT
