This is an experimental project of my own Minecraft server network, primarily its backend, including:
- Player data management
- Real-time inter-server messaging
- BungeeCord proxy synchronization
- Real-time server and player state management
- Minigame system
- Internalization
- GUI framework
- Party system
- Configuration framework
- Punishment system
- Task framework
- Shop module
- Command framework
The whole thing is put together into one monolithic plugin.
- Google Guice
- Redis
- Google Gson
- Ebean ORM
- RabbitMQ
- JUnit / Mockito
- Lombok
- H2 Database
- Maven
- SLF4J
- Configure personal preferences, choose whether the chat is shown, party requests are enabled and so forth.
- Access any real-time data about any online servers (status, player count) or players (current server).
- Send private messages to other online players, regardless of the receiver proxy.
- Ignore other players, i.e prevent them from sending private messages.
- Purchase Ranks to enhance own in-game experience.
- Choose the preferred server interface language.
- Make in-server purchases for the game currency.
- Create parties and play with the friends.
- Automatic server registration at BungeeCord without the need to specify servers manually in the Bungee config.
- Each proxy is capable of displaying global network online, not just its own.
- Cross-proxy party system.
- Lobby load balancing.
- Real-time storing, updating and fetching data of the state of all servers in the network.
- Fast instant joining (choosing the most suitable game server for the joining).
- Creating user interfaces for server selection (join signs, GUIs and so on).
- Bulk server data fetching.
- Kit system with configurable kit acquisition options, including purchasing or rank-based permissions.
- Multiple options of the winner calculation, based on places, time of the elimination and more.
- Multiple elimination modes, including lives, respawning or immediate elimination.
- Support for the spectators, in-game joining.
- Flexible and loosely coupled game API.
- Dozens of configurable game options.
- Multiple game arenas, map voting.
- Team and solo game modes.
- Game setup mode.
- Ban, mute, kick or warn players permanently or for the certain time, specifying punishment reasons.
- Broadcast important messages throughout the BungeeCord proxies.