
Otis: Central player data for Minecraft networks
A Micronaut REST service that stores Mojang UUIDs, player names, languages and join times in one place.
Maven artifacts are internal only. The source code is open.
- Open (opens in a new tab)
Source code
- Open (opens in a new tab)
Report an issue
What is this?
Otis is a REST service built on Micronaut. It stores player master data in a database, and plugins, extensions and services from our ecosystem query it over HTTP. Instead of every project keeping its own player data, there is one central source. Internal services can then work with players who are offline. The blog post on player data explains why Otis exists and how the service is built.
Otis is not a universal player database. It only stores the fields our team considers relevant.
What Otis stores
For each player, Otis keeps the Mojang UUID, an internal UUID for managing the services in the ecosystem, the player name, the language (default en-US), the timestamps of the first and last join, and a map of profile textures.
The Velocity client plugin, which lives in the same repository, creates a record when a player joins for the first time and updates it when the player joins or leaves the server.
Interface
/otiscreates a profile (POST), reads it by UUID (GET /byId/{owner}) or by name (GET /byName/{name}), deletes it (DELETE /delete/{owner}) and lists all profiles (GET /all)./searchchecks whether a profile exists for a UUID or a name.
What to know before you use it
- Unknown players are not looked up. If a player is not registered, a call to a third-party service would be needed. Otis cannot handle this case at the moment.
- Otis can be unavailable. The calling service has to handle the case where Otis cannot be reached.
- Java 25 is required. The build targets Java 25.
- A Compose file starts MariaDB. It lives in the repository under
docker/and starts a MariaDB instance. - Errors follow RFC 9457. Since version 1.17.0, Otis returns errors as problem details under RFC 9457. Clients that read error responses should check their handling.
- Releases come regularly. The first public release is v1.0.1 from August 2025, the latest is v1.17.0 from October 2026.
- The README is the reference. There is no dedicated documentation site yet.
More in the blog
The post Otis: Central player data for Minecraft covers the architecture, the problems behind it and the limits of the service.
At a glance
- Platforms
- Micronaut, Velocity
- License
- Apache-2.0
- First released