Skip to main content

Configuration (config.yml)

File location: plugins/OstrakFree/config.yml. Every key below is listed with its allowed values and default, matching the comments in the file itself. Most keys are re-read on every action but only apply to new requests/sessions — a GUI that's already open or a pending /doc inspect request won't be affected by a change.

language

Which file from plugins/OstrakFree/lang/ to use for every plugin message. For your own translation/style, copy lang/ru_RU.yml next to itself under a different name (e.g. lang/en_US.yml), edit it, and point here without the extension. File not found — silent fallback to ru_RU with a console warning.

language: ru_RU # default

passport.disabled-fields

A list of built-in passport field keys to remove entirely: not shown in the GUI, not asked in the self-mode wizard, /doc set replies "no such field" for them. This is the only way to remove a field in free — passport.yml is baked into the jar and can't be edited directly.

passport:
disabled-fields: [discord, telegram, profession] # default: []

Values already filled in for a disabled field aren't deleted — they just stop being shown (re-enable the field and the data is still there). A field with the given_name role (the citizen's name source) can't be disabled — its key is silently ignored in the list. Full field list — on the Passport & Its Fields page.

inspect.radius

The maximum distance in blocks between whoever requests documents (/doc inspect) and whoever is being asked. Beyond that, the command is rejected — even if the requester has ostrak.inspect.force (force only bypasses the target's consent, not the distance check).

inspect:
radius: 8 # default

inspect.timeout-seconds

How many seconds an unaccepted/undeclined /doc inspect request stays alive before it expires — the requester gets "didn't respond to the document request", and the player can no longer respond to that specific request via /doc show//doc deny (a new request has to be made).

inspect:
timeout-seconds: 30 # default

expiration.interval-minutes

How often (in minutes) the background task checks documents for an expired term and flips them to EXPIRED. The built-in passport is permanent, but this applies to any other document type with an expiry (coming in premium).

expiration:
interval-minutes: 5 # default

citizen.bootstrap-mode

What happens on a player's first join.

ValueBehavior
self (default)A step-by-step wizard in chat: name, family name, date of birth, etc., one field at a time. A "Skip" button leaves the field empty
autoAn empty passport is created silently, no questions asked — fits servers where the passport is filled by an admin (/doc set) or a separate website/Discord form
requestAn appearance request approved by an official — this is a premium feature; free falls back to auto with a console warning

Any other/missing value also falls back to auto.

citizen:
bootstrap-mode: self # default

gui.categories-enabled

Document GUI visuals. true — fields of a document type that declares categories (for the built-in passport: Identity/Family/Citizenship/ Occupation/Contacts) are shown as one large icon per category, with all fields visible in the tooltip on hover. false — the old flat layout: one inventory slot per field, even if the type declares categories. Nothing in the YAML needs to change — it's purely a display setting.

gui:
categories-enabled: true # default

death.mode

What happens to the passport when a character dies.

ValueBehavior
auto (default)Death doesn't affect the document's status at all. The only action taken: if the physical passport item was lost (dropped on death and not picked up, because keepInventory is off on the server), the next respawn reissues a new item instance of the same active document
restoreOn death, the active passport is revoked (set to REVOKED, like /doc revoke). There's no automatic restoration — to get it back, someone with the ostrak.doc.passport permission has to run /doc issue passport <player> (creates a new active document for that player). This permission doesn't have to belong to a full admin — it can be granted to a dedicated role (e.g. a "registry clerk" or "doctor")
death:
mode: auto # default

update-check

Checks for a new version on Modrinth — on server start (console log only) and via /ostrak update (chat reply). Doesn't download or install anything, just reports the latest version number.

update-check:
enabled: true
modrinth-slug: "" # Modrinth project slug/id; empty — check disabled silently