For the complete documentation index, see llms.txt. This page is also available as Markdown.

๐ŸงฉArchitecture

Modern BedWars is made of four independently deployable modules plus a few shared libraries. The modules talk to each other exclusively over Redis pub/sub โ€” there is no BungeeCord plugin-messaging channel to configure. MariaDB stores persistent data: stats, cosmetics, disguises and leaderboards.

Topology

                    +-------------------+
        players --> | Velocity proxy    |   <-- bedwars-proxy plugin
                    +---------+---------+
                              |
              +---------------+---------------+
              |                               |
     +--------v---------+            +--------v---------+
     | Lobby server(s)  |            | Game server(s)   |
     | Paper            |            | Paper 1.8 / 26.1+ |
     | bedwars-lobby    |            | bedwars          |
     +--------+---------+            +--------+---------+
              |                               |
              +---------------+---------------+
                              |
                  Redis pub/sub + MariaDB
                              |
                    +---------v---------+
                    | bedwars-service   |   <-- standalone Spring Boot
                    +-------------------+

Modules

Module
Jar
Runs on
Role

velocity

Bedwars-Velocity-1.0.jar

Velocity proxy

Routes players, /party, /spectate, cross-server multiplier admin command

master

Bedwars-Lobby-1.0.jar

Paper lobby server(s)

Queueing, leaderboards, profile/cosmetic GUIs, private games

instance

Bedwars-Instance-1.0.jar

Paper game server(s)

Match lifecycle: shop, generators, upgrades, traps, beds, scoreboard

service

Bedwars-Service.jar

Standalone JVM (Spring Boot)

Matchmaking brain: queue processing, server allocation, map distribution

All four jars are self-contained ("fat") jars โ€” no extra lib/ folder is needed. The service host does not need a Minecraft server, just a JVM with network access to Redis and MariaDB.

Last updated