Zander
Zander is a free, open-source system built by Modular Software that gives your Minecraft network a website, a Discord bot, and a set of in-game plugins - all working together instead of as separate tools you have to keep in sync by hand.
In practice, that means: your players get a website with forums, support tickets, and event listings; your staff get one dashboard to manage bans, ranks, and announcements instead of juggling five different plugins; and everything a player does - in Discord, on the site, or in-game - is reflected everywhere else automatically.
You don't need to be a developer to run Zander. It's designed to be installed and configured like any other Minecraft server software, and the Installation guide walks through it step by step. The rest of this page (and the technical sections further down) is for anyone who wants to understand how the pieces fit together - feel free to skip straight to Installation if you just want to get set up.
📸 Screenshot: The Zander web homepage showing the network stats, announcements, and navigation
What Zander Gives You​
- A website for your players - forums, support tickets, event listings, and a profile page they can log into
- An admin dashboard for your staff - manage bans, ranks, announcements, and everything else from one place, without editing config files
- A Discord bot that stays in sync with the website - a ban issued in Discord shows up on the site, and vice versa
- Ready-made Minecraft plugins for your hub, login, and proxy servers, so a player's rank and history follow them everywhere
For the technical shape of how these pieces connect (useful if you're the one deploying and maintaining Zander), see Components and Architecture below.
Components​
Zander is split across two repositories:
Minecraft Plugins​
These plugins are installed on your Minecraft servers and proxy and communicate with the Zander API. The Java side is a Maven multi-module project; each module below is a separate plugin JAR deployed to a specific proxy or backend server role.
| Module | Platform | Purpose |
|---|---|---|
zander-addon | Paper 1.21+ | General-purpose backend addon - in-game policy viewer (ToS/rules/privacy/refund as an in-game book), social links GUI, and a small local HTTP API mirroring the same data as JSON |
zander-auth | Paper 1.19+ | Gates server access on join - calls a verification API and kicks players based on the response; also customises the server-list MOTD |
zander-hub | Paper 1.19+ | Hub server management - spawn/lobby protection, server-selector compass GUI, cosmetic join/leave effects, fly toggle, proxy messaging for live server lists |
zander-pgm | Paper/Spigot (Mixed/PGM servers) | Match/player/map stat tracking, XP/levels/achievements, Map Voting, Map Ratings, and the Map Token economy for the Mixed module; reports to zander-web over HTTP and a WebSocket |
zander-velocity | Velocity proxy | Private messaging, ignore lists, chat freeze/clear moderation, Discord chat/session bridging, report submission, tip/MOTD announcements, an API heartbeat check |
zander-waterfall | Waterfall/BungeeCord proxy | Waterfall-proxy counterpart to zander-velocity for networks still on Waterfall - same category of features (reports, Discord relay, session tracking, heartbeat), built against the older Bukkit-derived proxy API |
zander-bridge | Paper + Velocity | Cross-server bridge for task polling and event forwarding (Tebex purchases, Votifier votes) - see note below |
zander-bridge has no source code on the master branch - the working checkout carries only compiled target/ build output (untracked in git), and the module is absent from the root pom.xml's <modules> list, so it isn't part of the default Maven build. The full source does exist in the repository, on the unmerged local branch codex/support-velocity-and-paper-in-bridge (18 Java files under zander-bridge/src/main/java/org/modularsoft/zander/bridge/ split into common, paper, and velocity packages). Its purpose is confirmed from that source: a cross-platform (Paper + Velocity) bridge that polls zander-web for pending tasks and forwards Tebex purchase/subscription and Votifier vote events into server-command routines. To build it, check out that branch or merge it into the reactor.
Web Platform​
The web platform (zander-web) runs as a Node.js/Fastify application:
| Component | Purpose |
|---|---|
| Web dashboard | Admin interface for managing the network |
| REST API | Backend consumed by Minecraft plugins and the dashboard |
| Discord bot | Community bot with commands, moderation, and event handling |
| Database | MySQL database via Prisma - users, sessions, punishments, forums, and more |
Architecture​
Each Minecraft plugin communicates with the Zander API over HTTP using a shared API key. The Discord bot, API, and web dashboard all run as part of the same Node.js process.
Minecraft Servers (plugins)
│
â–¼
Zander REST API ◄── Discord Bot
│
â–¼
MySQL Database
│
â–¼
Web Dashboard
Getting Started​
| Section | Description |
|---|---|
| Installation | Prerequisites and install steps for all components |
| Configuration | Config files for plugins and web |
| Permissions | Full permissions reference |
| Features | Detailed feature documentation |
| API Reference | REST API documentation |
| Administration | Deployment and server management |