Pillar v0.1.0 — First light
Pre-release
Pre-release
Pre-release. Pillar is in early, iterative development. The public surface is
unstable (0.x) and this build is for validation, not production. See Known limitations.
Pillar is the control plane of the network — it knows the fleet and carries
cross-server messages. This first release lays the communication foundation that later
iterations build routing and health decisions on. A single artifact runs on both Paper
(game servers) and Velocity (proxies).
Highlights
- Fleet presence — nodes announce themselves via expiring heartbeat keys; a dead
node drops from every view within ~9 s through native Redis TTL. No central registry. - Stream transport — JSON envelopes over Redis Streams, one consumer group per
node, with poison-entry drop and handler-failure isolation. - Correlated request/response — non-blocking
CompletableFutureAPI with scheduled
timeouts; results hop back to the main thread safely. - Diagnostics —
/pillar fleet,/pillar status(connection, pending inbox,
recent log),/pillar ping <server>,/pillar reload. Localized (en-us, pt-br).
Requirements
- Paper 26.1.2 and/or Velocity 3.4.0
- Java 25
- A reachable Redis 7 instance
Install
- Drop
Pillar-0.1.0.jarinto each server's and the proxy'splugins/folder. - Start once to generate
config.yml/config-velocity.yml; set the node name,
role, and Redis connection. - Restart. Verify with
/pillar fleet.
A ready-made local topology (proxy + 2 Paper nodes + Redis) lives in test-topology/.
Known limitations
- Messages delivered but unacknowledged when a JVM is killed (
kill -9) stay pending
until PEL reclaim lands (planned). - A node pinging itself is misrouted (self-send); use
pingbetween distinct nodes. - Message handling is single-threaded per node — fine for this release's light traffic,
being reworked before heavier handlers arrive. - Extracted
lang/files are not overwritten on update; delete them to pick up new keys.
What's next (Iteration 2)
Health snapshots (MSPT/memory/players) and placement/routing decisions over them.