Aether is a powerful and lightweight two-plugin routing system designed for WaterdogPE and Allay networks. It replaces the old bloated stack with a clean, predictable architecture.
- Embedded ProxyTransport on Allay: No separate
ProxyTransport-Allay jar needed — it's built right in.
- Lobby Portals: Region-based portals with cooldowns, targeting specific servers or groups.
- Join Routing: Route new players by group and permission rules on first connection.
- Maintenance Mode: Global maintenance with bypass permissions and fallback routing.
- LuckPerms Integration: Portal access checks and placeholders on the Allay side.
- PlaceholderAPI Integration: Node, router, global, and LuckPerms placeholders.
- Localized Messages: All user-facing text stored in
messages.yml with MiniMessage templates.
- Metrics Export: Prometheus-compatible
/metrics endpoint on WaterdogPE.
- Minimal Architecture: Only
core, allay, and waterdog — nothing extra.
Bedrock Client
|
v
WaterdogPE
+ Aether-Waterdog
+ ProxyTransport-Waterdog
|
| control-plane + routing
v
Allay Node
+ Aether-Allay
+ embedded ProxyTransport-Allay runtime
| Plugin |
Platform |
Role |
Aether-Waterdog |
WaterdogPE |
Router, node registry, join routing, maintenance, metrics |
Aether-Allay |
Allay |
Node heartbeat, embedded transport runtime, portals, placeholders |
ProxyTransport-Waterdog |
WaterdogPE |
External transport plugin (required separately) |
| Command |
Description |
/aether status |
Show router summary. |
/aether nodes |
Show all known nodes. |
/aether reload |
Reload Aether config. |
/aether route <player> <server:...|group:...> |
Force-route a player. |
/aether maintenance on [reason] |
Enable maintenance mode. |
/aether maintenance off |
Disable maintenance mode. |
| Command |
Description |
/aether status |
Show node and router state. |
/aether reload |
Reload Allay-side config. |
/aether portal <id> |
Trigger a configured portal manually. |
| Placeholder |
Description |
%aether_router_connected% |
Router connection status |
%aether_router_maintenance% |
Maintenance mode status |
%aether_global_online% |
Total players online |
%aether_global_max% |
Max player capacity |
%aether_node_id% |
Current node ID |
%aether_node_online% |
Players on current node |
%aether_node_tps% |
Current node TPS |
%aether_lp_primary_group% |
LuckPerms primary group |
%aether_lp_prefix% |
LuckPerms prefix |
| File |
Purpose |
config.yml |
Node identity, router connection, embedded transport, PlaceholderAPI, LuckPerms |
messages.yml |
Localized MiniMessage templates |
portals.yml |
Lobby portal regions and targets |
| File |
Purpose |
config.yml |
Control-plane bind, groups, join rules, maintenance, metrics |
messages.yml |
Localized router messages |
- Install
ProxyTransport-Waterdog as a separate plugin.
- Place
Aether-Waterdog-0.1.0.jar into the proxy plugins/ folder.
- Ensure your Waterdog backend server names match Aether node
serverId.
- Set the same
sharedSecret on both Waterdog and Allay.
- Restart the proxy.
- Place
Aether-Allay-0.1.0.jar into the server plugin folder.
- Configure
serverId, groups, public address, and router connection.
- Place QUIC certificate files in the configured transport paths (if embedded transport is enabled).
- Restart the server.
- Java 21+
- Allay 0.27.0
- WaterdogPE 2.0+
- ProxyTransport-Waterdog on the proxy
- LuckPerms (optional, recommended)
- PlaceholderAPI (optional, Allay only)
git clone https://github.com/Miroshka000/Aether.git
cd Aether
./gradlew build
Output jars:
aether-allay/build/libs/Aether-Allay-0.1.0.jar
aether-waterdog/build/libs/Aether-Waterdog-0.1.0.jar
- Aether does not replace
ProxyTransport-Waterdog.
- Aether does not use the old web panel, addons system, distributed PDC, or legacy bridge modules.
- This is a clean rewrite from scratch.
Created by Miroshka for clean WaterdogPE + Allay networks with ❤️