Skip to content

Locations and maps

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, how a session names a place, and how to manage doors - the passages between places.

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).

Many maps, one place

The two 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 world root - a top-level folder under Świat gry/, one of the cities and regions the world is made of. A world root 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 world root. 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.

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.

Doors

A door (@drzwi) is a passage between two places. A @drzwi line sits on a Lokacja block and on a Mapa block alike - on a map block it records that two game maps connect:

### Rezydencja Tussal
- @typ: Mapa
- @margonemid: 4120
- @drzwi: Thuzal (auto)

Doors reach your files two ways, and the two behave differently. This is the part operators get wrong, so read both halves below before you write one.

Doors the tool derives from logs

When a fetched game log shows the party walking straight out of one place into another, the tool records that pair as a door. It writes the line on both places' blocks, and marks each line (auto):

### Thuzal
- @typ: Lokacja
- @drzwi: Ithan (auto)
### Ithan
- @typ: Lokacja
- @drzwi: Thuzal (auto)

The (auto) marker means the tool wrote this line and will write it again. Derived doors come out of fetched session logs, so more of them appear as you fetch more - see Link session logs.

You have two answers to a derived door.

Accept it. Delete the (auto) marker on both lines. The door is now yours and the tool stops touching it.

Reject it. Close the line's date range on both blocks:

### Thuzal
- @typ: Lokacja
- @drzwi: Ithan (auto) (:2026-07)
### Ithan
- @typ: Lokacja
- @drzwi: Thuzal (auto) (:2026-07)

The (:2026-07) suffix closes the value at July 2026 - dated ranges are covered in Entities. Closing is a permanent rejection. The tool will not re-add that door, however many times it reads the same logs again.

Do not delete a derived door - close it

Deleting the two (auto) lines does not reject the door. The log evidence is still in the archive, so the next rebuild writes the pair straight back. Closing the range is the gesture that sticks.

Doors you write by hand

A hand-written door is written on one block only - the block you typed it into. The tool does not mirror it onto the other place for you.

One @drzwi line is a one-way door

Doors are two-way in the world, but writing one @drzwi line does not make the tool write the matching one. Worse, the tool now treats that pair as already handled, so it will never fill in the missing side. If you want a passage traversable both ways, write it on both places' blocks yourself.

So a passage between Rezydencja Tussal and Ogród Tussala is two lines, in two blocks:

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

Once both lines are in, the door is safe. Rebuilding the location list never overwrites a hand-written door, never removes it, and never marks it (auto).

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.

Retire a place

A place that no longer exists is retired with the same @status gesture as any other entity - see Entities.

  • Entities - the block shape, tags, dated ranges, retiring a place
  • Record a session - the - Lokacje: block and the rest of a session's metadata
  • Link session logs - fetching the game logs that derived doors come from