Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for Benovich

Digital documents and identity for roleplay servers — built-in passport, issue/inspect/revoke workflows, a state registr

Report Ostrak?

Ostrak — Documents & Identity for Roleplay Servers

Ostrak is a digital documents plugin for RP servers, built around a document engine internally — even the built-in passport isn't a special case in the code, it's just a YAML description like any other document type:

id: passport
name: "&ePassport"
icon: BOOK
numbering: "{seq:06}"
identity: true

fields:
  - key: given_name
    name: "Given name"
    type: text
    role: given_name
    searchable: true
  - key: birth_date
    name: "Date of birth"
    type: date
    role: birth_date

In the free version this definition ships baked into the jar — you can turn individual fields off in config.yml, but you can't edit or add types yourself. Editing types and adding new ones (driver's license, firearm permit, medical card, student ID...) is a Premium feature, see Links below.

✨ Features

  • Documents are presented, not peeked at. /doc inspect sends a request to the nearby player — they decide whether to show the document or refuse. Refusing is a legitimate in-character action, not a bug.
  • State registry. Full history of issuance, revocation, renewal and inspection — an event log, not just a database table.
  • Built-in passport. A ready-made document type out of the box: given name, family name, gender, date of birth (age auto-computed), birthplace, citizenship, occupation, marital status, spouse, photo, contact info. Any field can be disabled with a single config line.
  • First-join onboarding wizard. Players fill in their character's data one field at a time via chat, with clickable "Skip" buttons and option-picker buttons for constrained fields (like gender) — no risk of typos.
  • Rich, on-brand messages. Every plugin text runs through MiniMessage: HEX colors, gradients, a consistent success/error/warning/info palette. Fully customizable in lang/en_US.yml, including your own branded prefix.
  • PlaceholderAPI support. %ostrak_age%, %ostrak_<type>_<field>% and more — for tab lists, scoreboards, chat, respecting field visibility rules.

📋 Requirements

Server Paper 1.20.1 – 1.21.x
Java 17
Database SQLite (built in, nothing to install)
Dependencies none required. PlaceholderAPI — optional

⚙️ Core commands

Command Description
/passport Open your own passport
/doc show <player> Voluntarily present a document
/doc inspect <player> Request documents from a nearby player
/doc issue <type> <player> Issue a document (admin)
/registry search <field> <query> Search the document registry

Full command and permission list — in the documentation.

  • 📖 Documentation
  • 💎 Premium (in development): custom document types, per-field visibility by permission, approval-queued issuance requests, renewal, registry history, a PostgreSQL-backed web portal

by Benovich

Information

CategoryRole Playing
Published onJuly 30, 2026
LicenseProprietary-License
Downloads0
Stars0
Watchers0

Pinned Versions

Members