Skip to content

Locations and maps

Nerthus.Core (until cutover). This page describes the frozen system that runs today and is deleted at cutover. Replaced by: not yet written.

Every place your sessions visit is a Lokacja, and places form a tree: a garden sits in a residence, the residence sits in a city. This page shows how to tell a place from the game map that depicts it, how to hang a place under its parent, and how a session names a place.

Two things places do get their own pages: grouping them into named regions, and connecting them with doors.

A Lokacja is a place; a Mapa is a picture of it

Get this distinction right first. Everything else on this page follows from it.

A Lokacja is a place in the world. A city like Thuzal, a building like Rezydencja Tussal, a garden like Ogród Tussala, or a single room:

### Rezydencja Tussal
- @typ: Lokacja
- @lokacja: Thuzal
- @status: Aktywny

A Mapa is a Margonem game map - the image-on-a-grid that a place is drawn on. It is not the place. It is how the game renders the place:

### Rezydencja Tussal
- @typ: Mapa
- @margonemid: 4120
- @url: https://micc.garmory-cdn.cloud/obrazki/npc/rezydencja_tussal.0.png
- @lokacja: Rezydencja Tussal

That @margonemid is the game map's own id in Margonem, not a player's Margonem profile id - a different thing entirely - and the tool fills it in.

The two blocks share a name, and that is fine. @typ tells them apart. The Mapa points at the place it depicts with its own @lokacja line - on a Mapa block, @lokacja names the place the map depicts, which is not the same relationship as an entity sitting inside a parent place.

The tool fills in a map's @margonemid, its image URL, and its link to a place. What you may add by hand is the map's size in tiles (@wymiary), its position (@koordynaty), and whether the game map is exterior or interior (@typ_lokacji).

The tool keeps a map's picture current

Margonem repaints its maps and republishes the image under a new version number: rezydencja_tussal.0.png becomes rezydencja_tussal.1.png. Once a day the tool asks Margonem whether a newer version of each active map exists, and when one does it writes the change itself. Nothing is deleted. The old line is closed at the current month and the new one is appended below it, marked (auto):

### Rezydencja Tussal
- @typ: Mapa
- @margonemid: 4120
- @url: https://micc.garmory-cdn.cloud/obrazki/npc/rezydencja_tussal.0.png (:2026-07)
- @url: https://micc.garmory-cdn.cloud/obrazki/npc/rezydencja_tussal.1.png (auto) (2026-07:)
- @slug: rezydencja_tussal.1
- @lokacja: Rezydencja Tussal

Read it as a sentence: this map was drawn by the first image until July 2026 and by the second one from July 2026 on. The tool refreshes @slug from the new filename in the same pass. The (auto) marker means the tool wrote the line and will write it again - the same signature it uses on a derived door, see Doors between places.

Two things this leaves you.

Check that the repaint is still the same place. A repainted floor is the ordinary case and needs nothing from you. When Margonem reuses a filename for somewhere else, the block's @lokacja line is now pointing at the wrong place, and that is a one-line fix on the map's block.

A map whose current image has gone is reported, not rewritten. When there is no newer version and the image on the active line is no longer there either, the map is flagged for a person and the block is left exactly as it was. Someone decides whether the map was retired or renamed in Margonem, and retires or renames the block by hand.

Do not delete the closed @url line

The closed line is the record of what the place looked like before the repaint, and a session from 2024 still renders against it. Leave both lines in place; the tool reads the dates and picks the right one.

Many maps, one place

A place and its maps are not paired off one-to-one. Several maps routinely make up a single place, because Margonem draws in map-sized pieces and a building is bigger than one piece.

Rezydencja Tussal is the standard case. The residence has floors, and Margonem draws each floor as its own map with its own id - but nobody in the game world thinks of the ground floor and the first floor as two buildings. They are one residence. So: three Mapa blocks, one Lokacja, and every map points at that same place.

### Rezydencja Tussal
- @typ: Lokacja
- @lokacja: Thuzal
- @status: Aktywny

### Rezydencja Tussal p.1
- @typ: Mapa
- @margonemid: 4120
- @lokacja: Rezydencja Tussal

### Rezydencja Tussal p.2
- @typ: Mapa
- @margonemid: 4121
- @lokacja: Rezydencja Tussal

The same holds for any place the game splits up: an event copy of a city, a dungeon drawn floor by floor, a district rendered in sections. The rule is one sentence, and it runs in one direction only:

Each map depicts exactly one place. Each place may be depicted by any number of maps.

This matters because of where everything else attaches. Sessions, PU, transfers, and the location tree all hang off the Lokacja, never off a Mapa. So a session on the second floor of the residence is a session at Rezydencja Tussal - you write the place in - Lokacje:, not the floor. A Mapa carries nothing but the game's own identity for one piece of the picture.

Do not make a floor its own place

Giving each floor a Lokacja block splits the residence into three, and everything downstream splits with it: three sets of session copies, three entries in the location tree, and no single answer to "what happened at Rezydencja Tussal". If the floors need telling apart, they are already told apart - by their Mapa blocks.

The tree: @lokacja names the parent

A place points at the place that contains it with @lokacja. Rezydencja Tussal sits inside Thuzal:

### Rezydencja Tussal
- @typ: Lokacja
- @lokacja: Thuzal

Thuzal is a top-level folder under Świat gry/. Top-level folders are how the repository organizes its files - some are cities like Thuzal, others grouping folders like Reszta Świata - and they are where every chain of places stops. A top-level folder has no parent. Everything else is an interior, and Rezydencja Tussal hangs under Thuzal, so its full path is Thuzal/Rezydencja Tussal.

Nest as deep as the world needs:

### Ogród Tussala
- @typ: Lokacja
- @lokacja: Rezydencja Tussal

The garden is in the residence and the residence is in the city, so following the chain upward gives Thuzal/Rezydencja Tussal/Ogród Tussala. That full path is what makes a bare room name unambiguous across the whole repository.

Every chain must end at a top-level folder. A place that contains itself, directly or around a loop, is an error the tool reports. When you see it, one @lokacja line is pointing the wrong way.

Two things fill the location list: the folders you author under Świat gry/, and the interiors your sessions name. The tool merges both into one list of places.

One folder tree looks similar but is a different thing: the generated Lokacje/ folder at the repository root. Its first level is the maps places resolve to - the outdoor areas sessions actually happened on - not the top-level folders of Świat gry/, so the two lists do not match and are not meant to. Lokacje/ is a read-only index of sessions by place - see Record a session.

Name a place in a session

In a session's - Lokacje: block you write an interior as a path, parent first:

- Lokacje:
    - Thuzal/Rezydencja Tussal

Writing the parent is what keeps two same-named places in different cities apart, and a place the tool has not seen before joins the location list under that parent. The interior - here Rezydencja Tussal - is the place that gets a copy of the session; list Thuzal on its own line as well if the city should get a copy too. The - Lokacje: block itself is covered in Record a session.

Places the tool is unsure about

When a session names a place the tool cannot match to anything - a typo, a stray phrase, a jumble of city names - it keeps the place and marks it @status: Niepewny, meaning uncertain. A person decides what it was. The fix is usually a one-line edit: correct the name in the session that wrote it, or give the place a block if the name was right all along.

You do not have to go looking for these. The Higiena tab of the dashboard keeps a standing list of the forms the tool has read but cannot place, maps among them - see Use the web dashboard.

Retire a place

A place that no longer exists is retired with the same @status gesture as any other entity - see Add and edit entities. Retiring a place does not retire the places inside it; each block is retired on its own.