In development · early access opening soon

The database built for Minecraft.

One server for player data, leaderboards, cross-server messaging and your website. LeonsDB replaces the MySQL + Redis setup with a single install, and stops server-switch dupes at the database level.

Stats.java
@PlayerData(namespace = "practicepvp", collection = "stats")
public class Stats {
    @Indexed public int kills;
    public int deaths;
    @Transactional public double coins;
}

Stats stats = LeonsDB.player(player).get(Stats.class);
// instant: read from the local cache
stats.kills++;
// merged with other changes, saved in the background
No SQL to write No connection pools No main-thread lag No Redis to run No server-switch dupes

Everything a Minecraft network needs from its data

General-purpose databases don't know what a player is. LeonsDB is built around how plugins actually use data.

Player data in one line

Annotate a class and the connector loads, caches and saves it. Schema changes are handled for you.

The main thread never waits

Online players' data lives in memory on your server. Reads are instant; writes are merged and sent in the background.

Dupe protection built in

Only one server can own a player's data at a time. Late writes from a lagging or crashed server are refused.

Leaderboards for free

Mark a field @Indexed and get instant top-N lists and "rank of player X", always up to date.

Money that can't duplicate

Transfers between players are atomic, across servers and through crashes. Coins are never created or lost.

Replaces Redis

Cross-server messaging and "tell me when this changes" notifications, from the database you already run.

Your data on your website

A built-in HTTP and WebSocket API with per-field permissions feeds websites, Discord bots and stores directly.

Undo for your database

See or restore any player's data at any point in time. Roll back a dupe or an exploit in one command.

What happens when a player gets a kill

Fast where it can be, careful where it has to be.

  1. Your plugin changes the field. stats.kills++ updates the copy in memory. Nothing touches the network or the disk on the main thread.
  2. The connector merges changes. Forty kills in a second become one "kills +40" operation instead of forty writes.
  3. It is sent in the background. About once a second, when the player leaves, and on shutdown. Money fields marked @Transactional go immediately.
  4. LeonsDB stores it durably. The server only confirms a write once it is on disk. A confirmed write survives crashes and power cuts.

The server-switch dupe, solved where it starts

The classic dupe happens when two servers both think they own a player and both save. LeonsDB makes that impossible.

lobby-1saves the player's latest data, then releases ownership
LeonsDBhands ownership to the next server with a new, higher epoch
survival-2loads the data, already warmed up before the player arrives
lobby-1a late save after a lag spike carries the old epoch, so it is rejected

One product instead of three

MySQL + Redis + custom backendLeonsDB
SetupThree services, schemas, connection pools, a web backendOne install, schemas from your Java classes
Reads during gameplayNetwork round trip unless you write your own cacheLocal memory, cache included
Stat updatesOne query per change, or your own batching codeMerged automatically
Server-switch dupesYour problemPrevented by ownership and epochs
LeaderboardsSorting queries or a Redis sorted set to keep in syncBuilt-in sorted indexes
Cross-server messagesRedis pub/subBuilt in
Website and Discord accessWrite and host an APIBuilt-in HTTP and WebSocket API
Restore a player's dataRestore a whole backupAny player, any point in time

Performance numbers will be published with open, reproducible benchmarks against MySQL and MongoDB before launch.

Open core

The database and the connector are open source and free to self-host, forever.

Connector

Apache-2.0

Use it in any plugin, including paid and closed-source ones. No strings attached.

Server

AGPL-3.0

Free to run on as many machines as you like. A commercial license is available for companies that need one.

Cloud and Pro

Coming later

Hosted LeonsDB with backups, a web dashboard and analytics, for networks that don't want to run it themselves.

Read what the licenses mean for you →

Building a network? Get in early.

Early access is opening to a small group of servers and plugin developers. Tell us what you run and what slows you down.

contact@leonsdb.com