Record a session¶
A session is the record of one event in the game's history. This article takes you from choosing the file through to delivering the session and watching it reach everyone it names. Work through the steps in order - each one adds to the same example.
1. Choose the file¶
Sessions live in Markdown files under four directories: Wątki/, Organizacje/,
Postaci/, and Świat gry/. A session recorded anywhere else is invisible. It is
never read, never distributed, and never counted. Add the session to the file where
its story belongs, for example Wątki/Intrygi w Thuzal.md.
2. Write the header¶
The header is a third-level Markdown heading (###) carrying three pieces of
information separated by commas:
- the date, in
YYYY-MM-DDformat, before the first comma, - the title, between the first comma and the last comma - it may itself contain commas,
- the Narrator, after the last comma.
A session spanning two days adds a suffix to the date: 2022-12-21/22 inside one
month, 2023-01-31/02-01 across two months.
The Narrator field only records who conducted the session. Being named there grants nothing and receives nothing.
Warning
The header is the repository-wide unique identifier of the session. Once the session is recorded, never change the header - not even to fix a typo. Editing it makes the old session disappear and an unrelated new one take its place. Fix mistakes with the overrides in step 5 instead.
3. Write the body¶
The body is free-form Polish prose between the header and the metadata block. There is no single convention for writing it, though it should agree with the metadata.
### 2026-07-01, Eraster rozmawia z Tussalem, Anward
Eraster spotkał się z Tussalem w jego willi w Thuzal. Wypili herbatę i zjedli obiad.
Przy okazji, obgadywali plotki z Ithan.
The tool scans the body for names it knows, and it reads declined Polish forms -
Tussalem in the prose is the character Lord Tussal. A name that also appears in
the metadata block counts as present at the session. A name that appears only in the
prose counts as mentioned - talked about, but not there. Here Ithan is mentioned.
4. Add the metadata block¶
The metadata block is the part the tool processes. At minimum it must contain
Lokacje, Logi, and PU:
### 2026-07-01, Eraster rozmawia z Tussalem, Anward
Eraster spotkał się z Tussalem w jego willi w Thuzal. Wypili herbatę i zjedli obiad.
- Lokacje:
- Thuzal/Rezydencja Tussal
- Logi:
- https://nerthus.pl/logizsesjierasteraztussalem
- PU:
- Eraster: 0.2
- Lord Tussal: 0.2
From this block the tool recognizes the characters Eraster and Lord Tussal, and
the location Rezydencja Tussal.
Lokacje- where the session happened, asParent/Interiorpaths, one per bullet.Logi- links to the game logs, one URL per bullet. See Link session logs.PU- the points each character earned, asname: value. See Grant PU.
The three optional keys¶
You may add Intel, Uczestnicy, and Transfer. Those three are the whole list of
optional keys. The only keys you ever write beyond them are the three required ones
above and the overrides in step 5, which exist only to fix a broken header.
### 2026-07-01, Eraster rozmawia z Tussalem, Anward
Eraster spotkał się z Tussalem w jego willi w Thuzal. Wypili herbatę i zjedli obiad.
Przy okazji, obgadywali plotki z Ithan.
Po kryjomu odwiedził ich Opat Perrin z Gildii Teologów, jednakże był incognito i nie zabawił ponad krótką chwilę.
Pod koniec spotkania, Eraster wręczył Tussalowi łapówkę w postaci dziesięciu koron.
- Lokacje:
- Thuzal/Rezydencja Tussal
- Logi:
- https://nerthus.pl/logizsesjierasteraztussalem
- PU:
- Eraster: 0.2
- Lord Tussal: 0.2
- Intel:
- Thuzal: Mieszkańcy Thuzal widzieli, że Eraster odwiedził Lorda Tussal po południu w jego rezydencji.
- Uczestnicy:
- Opat Perrin
- Transfer:
- 10 Korony Elanckie, Eraster -> Lord Tussal
Intel- information the world learns, written astarget: message. It goes out over Discord when you close the session, and the target decides how far it spreads: a character reaches its own player, aGrupareaches every player whose character belongs to it, and aLokacjareaches every player whose character stands there. An NPC reaches nobody - no player is behind it, so the fact simply stays in the session for whoever plays that NPC next. Here the target is a place, so any player whose character is inThuzalgets2026-07-01: Mieszkańcy Thuzal widzieli, że Eraster odwiedził Lorda Tussal po południu w jego rezydencji.on their personal channel. The date is prepended for you, so a player reads when their character learned it. A player is reached only through the@prfwebhookon theirGraczblock; one without a webhook is simply not notified - see Players and characters.Uczestnicy- records a participant without granting any points. It behaves exactly likePU: 0.0. Use it for an NPC, or for a Narrator taking part in a session they run themselves.Opat Perrincounts as present here, whileIthanandGildia Teologówstay merely mentioned.Transfer- what changed hands, asamount denomination, source -> target. See Transfer coin.
5. Fix a header mistake with overrides¶
When the header carries an error - a malformed date, a misspelled title, the wrong
Narrator - do not edit the header. Override each broken property inside the metadata
block with Data, Tytuł, or Narrator:
### 2062-70-01, Eraster rowzmaria z Thuzalem, Awnrd
Eraster spotkał się z Tussalem w jego willi w Thuzal. Wypili herbatę i zjedli obiad.
- Lokacje:
- Thuzal/Rezydencja Tussal
- Logi:
- https://nerthus.pl/logizsesjierasteraztussalem
- PU:
- Eraster: 0.2
- Lord Tussal: 0.2
- Data: 2026-07-01
- Tytuł: Eraster rozmawia z Tussalem
- Narrator: Anward
The broken header stays as the session's identifier. Everywhere else the tool uses
the overridden values, so the session is dated 2026-07-01, titled
Eraster rozmawia z Tussalem, and credited to Anward.
6. Deliver the session: commit it, then close it¶
Two separate acts finish a session, and it is worth keeping them apart.
Committing the session to the repository is how you deliver it. That commit is the Narrator's statement that the session is finished: the text is final, the header is frozen for good, and the work is handed over. Nothing about a session is delivered until it is committed, and nothing you leave uncommitted is anybody else's problem.
Closing the session is how you enact it. It is a separate instruction to the tool
(/sesja zamknij), and it is what makes the session take effect in the world.
Committing alone changes nothing: a committed session that was never closed sits there
inert, and no monthly sweep will pick it up.
Closing does three things at once, all of them immediately:
- it distributes the session - copies the block into the file of every entity the session names,
- it moves the coin - applies every line under
Transfer, there and then. See Transfer coin. - it delivers the intel - sends every line under
Intelto the players the target reaches, over Discord.
PU is the one thing closing does not do, because the monthly cap is worked out over a whole month at once - see Grant PU and What happens every month.
The distribution targets come from three keys:
- each
Lokacjepath contributes its interior.Thuzal/Rezydencja Tussaldistributes toRezydencja Tussal, not toThuzal. ListThuzalon its own line too if the city should get a copy as well. - every name under
PU, - every name under
Uczestnicy.
The extended session above therefore reaches the files of Rezydencja Tussal,
Eraster, Lord Tussal, and Opat Perrin.
Note
After closing, a - @Pliki: (auto) section appears at the end of your block listing
the files that received a copy. The (auto) marker means what it means everywhere
else in the repository: the tool wrote this, and the tool owns it. It rewrites the
section whole every time the session is distributed, so anything you type there is
destroyed on the next pass.
A session's PU, transfers, intel, and logs are each applied once. Closing a session again, or a later monthly pass, never counts anything twice - no coin moves twice and no player is notified twice.
Copies drift apart when someone edits one of them by hand. The monthly settlement finds distributed sessions whose copies have gone missing or stale and repairs them - see The monthly settlement.
Related¶
- Grant PU - the
PUblock, the monthly award, and the cap. - Transfer coin - the
Transferblock, the coins, and who may be an endpoint. - Link session logs - the
Logiblock, and how logs are fetched and archived. - Locations - the location tree behind
Parent/Interiorpaths. - The monthly settlement - what runs each month and what it repairs.