DistributedDimensions

A Minecraft plugin system that splits a world across one Paper server per dimension, coordinated by a Velocity proxy.

27

DistributedDimensions

DistributedDimensions

A Minecraft plugin system that splits a world across one Paper server per dimension, coordinated by a Velocity proxy.

``` [Player] ──► [Velocity Proxy (dd-velocity)] │ ┌─────────┼─────────┐ ▼ ▼ ▼ [Overworld] [Nether] [End] (dd-paper) (dd-paper) (dd-paper) ```

Crossing a portal feels identical to vanilla: inventory, XP, hunger, gamemode, and chat are preserved across all servers in real time.

---

How it works

1. Player enters a portal → the Paper plugin cancels the vanilla event 2. The full player state (inventory, XP, hunger, gamemode…) is serialized and sent to Velocity via a plugin message channel 3. Velocity routes the player to the target server and forwards the message 4. The target server deserializes the state, finds a safe spawn location (or builds a portal), and teleports the player

Nether coordinate scaling (1:8 ratio) and End platform spawning are handled automatically.

Requirements

- Java 21 - A Velocity 3.x proxy - Three Paper 1.21.11 servers (one per dimension)

---

Configuration

Each Paper server declares its dimension in `plugins/DistributedDimensions/config.yml`:

```yaml world: OVERWORLD # OVERWORLD | NETHER | END debug: false ```

The Velocity plugin reads `plugins/distributed-dimensions/config.toml`:

```toml debug = false ```

ADS