Start here¶
Nerthus.Core (until cutover). This page describes the frozen system that runs today and is deleted at cutover. Replaced by: not yet written.
This is the tab for the people who run Nerthus. This page tells you what the tool is, how it knows who you are, and what your role lets you do. Every other page in this tab is one task you can complete from that page alone.
What the tool is¶
Nerthus.Core manages the Nerthus lore repository, repozytorium-fabularne - the GitLab repo behind nerthus.pl. Markdown is the database. You write sessions, entities, and the roster as Polish Markdown by hand, and the tool reads those files and keeps the campaign's state straight: who owns what, who earned which PU, where the coin went, what happened where. The tool tracks campaign state. The game rules stay with the Narrators - it records that a character advanced, it never decides whether they should have.
The repository is closed. Narrators, Radni, the Namiestnik, and the Koordynator can open it on GitLab; nobody else can. A Gracz never needs to - they reach the lore through Margonem sign-in and the Discord commands, and the tool shows them what their role allows.
Polish is the domain language. Tags like @lokacja, types like Gracz and Postać, and statuses like Usunięty are literals. You write them exactly as spelled, diacritics included.
How the tool knows who you are¶
Every player has a block in nerthus.contributors.md, the file where everybody in the campaign is listed. The block carries their Margonem profile id:
The @margonemid tag is the anchor. Nicks change over the years - the Margonem profile id stays put for as long as the person keeps that account. Every sign-in, every permission, and every recorded action points at that id, not at the name above it. If somebody does move to a new Margonem account, one edit carries all of it across. The @rola: gracz line is what makes the person a player at all. The rest of the block, and the ## Osoby section it sits in, belong to People and roles.
You sign in through Margonem itself. The browser add-on proves you own the game account, the tool matches the profile id to your Gracz block, and you are in. There is no separate password and no separate account to keep.
Discord works too, once your Discord account is linked to your Margonem id. After that, slash commands like /pu or /zamknij-sesję run as you, and everything you do is attributed to your Gracz. An unlinked Discord account can do nothing at all - every command answers Błąd: Konto Discord niepołączone z graczem - poproś Radę o połączenie. Linking is a one-time step a Radny performs for you, and People and roles is the page they follow.
Discord carries five slash commands and two right-click actions, and that is the whole set:
/zgłośand the message action Zgłoś sesję file a session for the Rada to review - Submit a session report./zamknij-sesjęand the message action Zamknij sesję close a session you narrated - Record a session./status,/sesje-otwarte, and/puanswer a question and write nothing - Submit a session report.
Three of those seven do not answer yet
/status, /sesje-otwarte and /pu are not live. Type one today and Discord answers
Błąd: Nieznana komenda. The four above them work.
The list is not wrong about what the tool has - those three are written, committed and reviewed. What is running at the front door is an older build that predates them, and nobody has replaced it. Read 2026-08-29: the deployed bot carries the four commands and no others.
Whoever next deploys the Discord bot deletes this box in the same change. That is a person, not a schedule, and it is written here because this estate has the scar: a contributor page once carried a "the deployed fleet does not do this yet" box whose own instruction said to remove it on the next roll. The roll happened. The box stayed.
Everything else you do is a file you edit in the repository or a screen on the web dashboard.
Note
If you change your Margonem nick, change the heading of your Gracz block to match. Nothing else moves - the @margonemid line is what every sign-in and every permission is tied to.
Gracz¶
Every registered player. A Gracz can:
- read the shared lore - entities, places, the world - on the web dashboard
- check their own PU, per character (
/pu) - read what their characters hold in coin, the same way they read anything else in the world
- edit their own
Postaćrecords - report a session they ran themselves, for Rada review (Submit a session report)
- vote in the yearly Rada election, once their PU activity clears the threshold (Grant PU)
The pattern is: everyone's lore, your own numbers. A Gracz reads any entity in the world and writes only what is theirs.
Session records are the exception, and it is deliberate. A Gracz does not read session write-ups, not even the ones for evenings they played. A write-up carries what the Narrator told the table and what was kept from it, so the account of an evening is not the property of everybody who was there. Reporting a session you ran yourself is a different thing and a Gracz may do it.
Narrator¶
Runs sessions. On top of everything a Gracz can do, a Narrator can:
- write, edit, open, and close session records (
/zamknij-sesję) - closing is what moves the session's coin and delivers its intel - grant PU in a session's
- PU:block - the monthly sweep applies it (Grant PU) - read every player's PU and coin - needed to run and settle sessions fairly
- fetch and archive session logs
- send Discord announcements
Uprawnienia - what a Narrator may run¶
What a Narrator may run is a separate question from what the tool lets them do. The tool will happily let any Narrator write any session. What content they are cleared to run is the Rada's decision, and the Rada keeps it in a table called Uprawnienia - one row per Narrator:
| Nick | Ranga | Zatrudnienia | Magia | Polityka | Walki PvP | Sesje sprawdzające |
|---|---|---|---|---|---|---|
| Anward | Narrator (Radny) | TAK | do ⅗ | TAK | do 4 graczy | TAK |
Every cell is a ceiling, not a yes-or-no. Magia: do 3/5 means this Narrator may run magic content up to level 3 of 5. A level-4 magic session goes to someone with Magia: TAK or do 4/5. Walki PvP: do 4 graczy means a five-player fight goes to someone else. Reading the table upward like this is the point: it tells you who can take a session, not only who must be turned away.
The column names are fixed; the cells are a convention. The tool checks each column name against a closed set and refuses a row that invents one. What you write inside a cell it carries through untouched, so the words below are how the Rada writes a ceiling for the next person to read, rather than something the tool enforces. Write them as they are written here and the table stays readable:
| Column | What it governs | What you may write |
|---|---|---|
| Nick | The Narrator's current nick | free text |
| Ranga | Standing in the narrator corps | see below - it is a set of words, not a closed list of cells |
| Zatrudnienia | May employ or recruit NPCs into player service | TAK · Podstawowe · NIE |
| Magia | Magic-content ceiling | TAK · do 4/5 · do 3/5 · NIE |
| Polityka | May run political and faction sessions | TAK · NIE · Okres Próbny |
| Walki PvP | May adjudicate player-vs-player combat | TAK · do N graczy · NIE |
| Sesje sprawdzające | The Rada's own column. Nothing in the tool says what it governs, and the tool never reads the value - only the Rada does | TAK · NIE |
Ranga is read as words, in any order. The tool reads the cell as a handful of separate words
rather than matching it against a list of whole cells, so Narrator, Narrator początkujący,
Narrator (Radny), Narrator nieaktywny and Narrator początkujący (Radny) are all read correctly,
and so is a Radna's own spelling - radna and (radna) are accepted exactly as radny and
(radny) are. Write the standing plainly and the tool will follow it. A word it does not know makes
the whole row refuse rather than half-read, so a typo is visible instead of silent.
A row marked Ranga: Narrator nieaktywny is out of consideration for everything, whatever its other cells say.
The Nick column is display only. The row is tied to the Narrator's Margonem id, so a nick change never loses a row or creates a second one.
The table has no page of its own. It lives on each Narrator's block in nerthus.contributors.md, as one - @ranga: line and one - @uprawnienie: <kolumna>, <wartość> line per column, and no Discord command reaches it. A Radny reads a row and edits it through the tool, naming the Narrator by nick or by Margonem id. An edit may set Ranga, Zatrudnienia, Magia, Polityka, Walki PvP and Sesje sprawdzające, and nothing else: the nick and the id are how you address the row, never something you write into it. If you are not a Radny and you need to know who may take a session, ask one.
Radny¶
A member of the Rada - the Rada Fabularna Świata Nerthus, the campaign's governing body, elected yearly. A Radny stewards the repository itself. On top of session-running powers, a Radny can:
- create and edit any entity, and manage player records
- edit a Narrator's Uprawnienia row
- link a Discord account to a Margonem id (People and roles)
- grant or revoke an extra permission for a single person
- grant and revoke API keys, and mint the named tokens the machines run on (API keys)
- record coin adjustments
Koordynator and Namiestnik¶
Both can do everything the tool allows. They are two separate roles that share the same powers today. The Namiestnik holds standing oversight of the world, and the office is bezkadencyjny - it has no fixed term. The Koordynator operates the tool day to day. Keeping them separate means the Rada can split their powers later without touching the code.
Note
Each role is a named list of permissions, stored as data. The Rada can adjust any of them, and the change survives every restart.
Where to go next¶
- People and roles - when you are registering somebody, fixing the roster, setting a Discord channel, or moving somebody to a new Margonem account.
- Player characters - when you are giving a player a character, or switching which one is active.
- Entities - when you are creating, editing, retiring, or renaming anything in the world.
- Keep facts in an entity's file - when you are tired of editing the index and the entity's file both.
- Locations - when you are placing somewhere on the map, or telling a place from the map that draws it.
- Regions - when you are grouping places together, or a border moved.
- Doors - when you are connecting two places, or reviewing the doors the tool derived.
- Record a session - when you have run a session and need to write it down, commit it, and close it.
- Link session logs - when you want the game transcript archived alongside the session.
- Grant PU - when you are awarding the monthly PU, or a character's numbers look wrong.
- Transfer coin - when money changes hands, or an item needs to leave circulation.
- Monthly settlement - what the tool does each month, and what it needs from you.
- API keys - when a script or bot needs to act as its owner without signing in, and when such a key must die.
- Use the web dashboard - when you want to read the campaign back: who spoke where, how the world connects, which forms the tool does not yet recognise.
- Cheat sheet - the block shapes and key names on one card, for when you only need reminding.
The machines are somebody else's job¶
Nothing on this tab asks you to run a command, stand up a host, or read a pipeline. The people who do that work have their own tab, Hosting, and two things there are worth knowing about even though you never do them yourself.
The repository has to be adopted once before any of this works - a one-time import that reads your Polish files and writes the index the tool then keeps. It happens before your first session and never again. If somebody tells you the tool "refuses every write", that import has not run yet, and Adopt a lore repository is the page they need.
The technical Discord channel, kanal-wewnetrzny-it, carries automated notices about the
machines. Almost none of them need a human, and none of them need you.
Read the fleet alerts decodes them line by line if you are
curious about a message you saw.