Skip to main content

Commands & Permissions

/doc — documents

CommandWhat it doesPermission
/docYour own documents and their expiryostrak.use (everyone by default)
/doc show <player>Voluntarily present a document to a nearby playerostrak.use
/doc inspect <player>Request documents from a nearby playerostrak.inspect (operator by default)
/doc issue <type> <player>Issue a documentostrak.doc.<type> (e.g. ostrak.doc.passport)
/doc revoke <id>Revoke a document by idostrak.revoke (operator by default)
/doc set <type> <player> <field> <value>Change a document fieldostrak.doc.<type>
/doc info <player>All of a player's documentsostrak.admin

ostrak.doc.<type> is a dynamic permission, one per document type id (ostrak.doc.passport, etc). It isn't declared in plugin.yml up front (there can be any number of types), so it's granted manually via a permissions plugin like LuckPerms. Until explicitly granted, only operators have it — safer default than opening it up to everyone.

/passport (alias /pass) — your own passport

CommandWhat it doesPermission
/passportOpen your own passport (or the GUI, or a "no passport yet" message)ostrak.use
/passport fillContinue the fill-in wizard (only in bootstrap-mode: self)ostrak.use
CommandWhat it doesPermission
/registry search <field> <query>Search documents by a searchable field's valueostrak.registry (operator by default)

Only fields with searchable: true in the type definition are searchable — for the built-in passport that's given_name, family_name, citizenship.

/ostrak — administration

CommandWhat it doesPermission
/ostrak reloadReload config.yml and the language fileostrak.admin
/ostrak diagnosticsVersion, storage type, document types, PlaceholderAPI statusostrak.admin
/ostrak helpList of all plugin commandsostrak.admin
/ostrak updateCheck for updates on Modrinthostrak.admin

There's no /cp alias — only /ostrak.

Full permission list

PermissionDefaultGoverns
ostrak.useeveryonebase commands — /doc, /doc show, /passport
ostrak.adminoperator/ostrak, /doc info
ostrak.revokeoperator/doc revoke
ostrak.inspectoperator/doc inspect
ostrak.inspect.forceoperator/doc inspect ignores the target's consent (distance is still checked)
ostrak.registryoperator/registry search
ostrak.doc.<type>operator (not granted by default)/doc issue//doc set for a specific document type

Every permission except ostrak.use is meant to be granted via a permissions plugin (LuckPerms and similar) to specific roles — not necessarily full admins. For example, ostrak.doc.passport can be granted to a "registry clerk" role without touching ostrak.admin.