GameDev · Java 21

anni-network

Custom Minecraft Annihilation network on Velocity + Paper 1.21 with MongoDB and Redis backing store.

2025·Backend
Java 21Paper 1.21VelocityNanoLimboMongoDBRedis

Context

Annihilation as a game mode has been around for a long time, but there are almost no public networks left that support the modern 1.21. We decided to build a standalone network where players can play on a current client and extend the mechanics (loot boxes, progression) without depending on third-party platforms.

Solution

An architecture of several containerized components: Velocity as the proxy, lobby and Anni game servers on Paper 1.21, and NanoLimbo as a fallback in case the game nodes go down. Player state (classes, progress, inventory shared across servers) lives in MongoDB and Redis.

Stack and architecture

  • Runtime: Java 21, Maven multi-module.
  • Proxy: Velocity.
  • Game servers: Paper 1.21.
  • Fallback: NanoLimbo.
  • State store: MongoDB + Redis.
  • Deployment: Docker Compose (ops/docker-compose.yml).

Role and outcome

We delivered the network's framework. The next step is building out game mechanics on top of the ready-made infrastructure.

Similar project?

Discuss a similar task

Describe the task — we'll share relevant experience and estimate the implementation.