DeathMonger-TheGreatestMap icon

TheGreatestMap

Shared markers that stay erased, a table that only carries exploration, and a pocket map that records only what you actually found.

Last updated 2 days ago
Total downloads 8506
Total rating 5 
Categories Utility Mods AI Generated Server-side Client-side
Dependency string DeathMonger-TheGreatestMap-4.6.2
Dependants 1 other package depends on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2350

README

The Greatest Map

One shared, living map for your server, without the cartography table mess.

  • Markers travel like exploration. What you record or place goes onto your own map, saved with your character. At a cartography table your map and the shared map merge both ways, and others pick it up at their next table visit. Two players standing together with their maps out compare and merge their maps directly, markers and explored areas alike, no table needed. An erasure is a dated tombstone that wins over older copies of the marker, so erased markers stay erased instead of coming back from someone else's map. Erasing is off unless the server allows it, and then goes through the marker's right-click menu or Shift + right-click. A server can switch "Sharing Mode" to Instant to have every change go out at once instead.

  • The cartography table still works, and you no longer need one. Stand at a table and your map and the shared map merge both ways, markers and explored ground alike, without pressing anything; it stays quiet unless something was actually exchanged. Two players standing together with their maps out merge directly, no table in sight, which is usually how it happens on the move. The shared map lives on the server, so the mod belongs there as well as on each player -- installed only on your own game, a table will carry fog and nothing else.

  • Vanilla's own pin sharing is off by default. The five standard pins you place by hand are not written to or read from tables, and stale copies imported from a table before are swept away -- otherwise every table visit breeds another copy of markers this mod is already keeping straight for you. "Table Carries Player Markers" (Sharing) gives vanilla's behavior back if you want it.

  • A map as big as your screen. The game draws the large map inside a fixed margin, which on a wide screen wastes a lot of room. Drag the gold grip in its lower-right corner to open it out, up to the whole screen, and the strip along its very top edge to move it; where you leave it is remembered. The map grows but the pin labels, the icon column and the buttons stay the size they were, so a bigger map is a less crowded one rather than a magnified copy.

  • Where is everybody? On the large map, P lights up the other players: their markers grow, take a color of their own and breathe, and every other marker stops being drawn, so three moving dots are easy to find on a map carrying hundreds of them. Press P again, or close the map, to bring it all back exactly as it was, including whatever you had hidden yourself. Nothing is written and nothing is shared; it is a way of looking. Only players who are sharing their position can be shown, since that is all the game tells your client, and you are told when nobody is. "Highlight Players Hides Others" keeps the rest of the map if you would rather it stayed, and the color and size are settings too.

  • A map you carry in your pocket. No inventory slot. Press the map key and your character unfolds a map in the left hand and takes a pencil in the right. Recording happens only while it is out, and a folded-map icon sits among your status effects to say so ("Map Out Status Icon"). Attacking, drawing a weapon, getting hit or swimming puts it away. Two server-synced settings control how strict the map is: "Require Map Out To Record" (on by default) and "Require Map Out To Edit" (off by default; when on, placing, erasing and crossing off markers on the map screen also need the map out).

  • Honest auto-recording. While the map is out, your character writes down the important things nearby that you actually found: berries, mushrooms, herbs, seeds, wild plants, ore deposits, Yggdrasil roots, dungeon entrances, runestones, camps, portals and campfires. Something counts as found only if you looked straight at it, had it under your crosshair, or interacted with it. There is no radar and nothing is ever revealed for you. Traders, boss altars and structures are off by default, the first two because the game already marks them itself.

  • Markers that look like the thing. A recorded marker uses the icon of the item it gives you: dandelion, thistle, raspberries, each mushroom, copper, tin, silver. Dungeons and camps use the trophy of what lives there, boss altars the boss trophy. With icons this clear, plant and ore markers carry no text label by default, which is what keeps the map readable. A deposit is recognized by what mining it yields rather than by a list of names, so an ore added by a later update or another mod is marked without anything being configured.

Install

Install on the server and every client (BepInEx). The server keeps the shared markers in BepInEx/config/TheGreatestMap/<world>_<seed>.pins.bin. In a non-dedicated game the hosting player is the server. Back up your world before trying it, as you would with any mod that writes to your save.

A player who does not have the mod can still join a server that has it; they simply see vanilla map behavior and no shared markers. Versions only have to match when the shared-marker format changes: a server refuses a client older than its compatibility floor, which has been 0.2.0 since that release, so a 0.2.x client can join a 1.0 server. A release that moves the floor says so at the top of its changelog entry.

Keys (configurable)

Key Action
Y Take the map out of your pocket / put it away
U Read and write the nearest cartography table right now
L Open the legend: every marker and the thing it stands for
T On the large map: light up the other players and put every other marker out (T for team)

Pick keys no other mod acts on. If another mod equips an item on the same key as the map, the map folds straight back up (equipping a hand item always puts it away).

Single player and hosted games: the game you host is the server, so the shared marker store lives on your machine and everything works without a dedicated server.

How recording works

  1. Play normally. Things you look at, hover over or interact with are remembered as found. Looking counts only with clear line of sight and within a sighting distance that depends on the thing: plants 20 m, ore 40 m, buildings and dungeon entrances 80 m. Your character remembers a find for 30 minutes (seeing it again restarts the clock), and the memory is saved with the character.

    Places too big to aim at — Fuling villages, tar pits, camps, dungeon entrances, boss altars — are found by looking in their direction rather than by putting the crosshair on them, since the crosshair lands on grass or sky or a passing goblin. The same rules hold: it must be in front of you, within its sighting distance measured to its edge, and not behind a hill. Only the landscape blocks the view, so a tree at the edge of a village or something standing in it makes no difference. tgm_look says which places it can see and why the others do not count.

  2. Take the map out and it writes down everything found recently, wherever you are now. Set "Record Range" if you'd rather only record what is near you. You cannot write while something is hitting you ("Cannot Write Under Attack", on, for five seconds after the last blow). Enemies merely being nearby are no obstacle, unlike resting, so you can stand your ground and write if you choose. "Cannot Write While" optionally asks you to hold still too: Never, Running or Moving.

  3. Every plant gets its own icon (marker spacing 1 m for plants, 5 m for ore and portals, 20 m for locations), so a clump of four dandelions shows four dandelion icons. Only traders and portals get a text label by default; everything else relies on its icon. Each kind's label rule is configurable: never, always, or one label per so many meters. A short message tells you when something was skipped because a marker is already there; the find stays pending and is written if that marker goes away.

  4. Removing a marker depends on what it is. One you placed by hand is your own note, so you can always delete it; anyone else needs the server to allow erasing. A recorded marker stands for something really in the world, which does not forget, so those stay behind "Allow Erasing Markers" and are best thought of as a repair for a marker that is wrong. Hiding is the everyday way to stop seeing something. Erasing a recorded marker by hand also stops that spot being recorded again, which admins can lift with tgm_unsuppress.

Recorded markers are tinted pale gold on the map so you can tell them from placed ones, portals excepted: they get their own color, described below.

Hover a marker on the large map and it tells you what it is: its name where it has one, what kind it is and which icon it carries, whether it has been cleared or searched, and who recorded it and when. Most markers carry no text label on purpose, since that is what keeps a map with hundreds of them readable, so hovering is where the detail lives. "Marker Tooltips" turns it off.

Right-click a marker from this mod on the map screen for its menu: hide this one marker, hide every marker with that icon (say all dandelions), hide the whole kind (all herbs), cross it off or uncross it, delete or erase it (always yours to delete if you placed it; recorded markers need the server to allow erasing), and, once anything is hidden, show all hidden again. Hidden markers stay on your map and keep syncing; they are just not drawn. The icon and kind choices are the Display settings "Hidden Icons" and "Show <Kind>", so they can also be edited by hand, and tgm_show in the console brings everything back. Vanilla pins keep their vanilla right-click.

The marker button. Above vanilla's icon buttons on the right edge of the large map sits a map pin in the same pale gold as recorded markers. Right-click it to hide or show every marker from this mod at once, the pin turning gray while they are hidden. That is the same gesture vanilla uses on its own icon buttons, so right-click means the same thing everywhere in that column. Unlike the per-kind switches, it also covers markers that have no kind, such as ones you placed yourself. Left-click it for a list in two columns. On the left are the kinds that have markers on your map, each with its icon; click any of them to hide or show that kind without leaving the map, and the list stays open so you can change several. On the right are the markers that have been crossed off, described below: cleared deposits as one switch, then searched places by type, with a count on each. The list also carries the hide-all row and a "Show all" row that puts back everything any of these switches hides -- the kinds, the crossed-off groups, icons hidden one picture at a time and markers hidden one at a time -- the same as tgm_show. Config "Marker Button On Map" turns the button off.

Finding one thing. At the top of that list is a find box. Type into it and the map keeps only the markers mentioning what you typed, as the letters go in: "frost" leaves the frost caves, "eggs" leaves the portal you named 3 Eggs, "ore" leaves the ore. It reads the words written on a marker, the type it is, and the name of its kind, so you need not know which of those your word lives in. Press Enter and what matched becomes rows, one per type with a count, and clicking one narrows the map to exactly that. Every kind's row also ends in only, which does the same for the whole kind in one press, and takes it back when pressed again.

None of this is remembered or written to the config. It sits over the hide switches rather than among them: whatever you had hidden stays hidden and is still hidden when you stop looking, and there is no list of kinds to switch back on afterwards. While it lasts it overrides those switches, because asking for frost caves means the frost caves whether or not dungeons are switched off -- though a marker you hid by hand stays hidden, since that means "not this one" rather than "not right now". The row under the box says what the map is showing and puts it all back when clicked, and tgm_find does the same from the console for a map that is not even out.

A marker you have just recorded is drawn on both maps for thirty seconds even when its kind or its icon is hidden, so writing something down always shows you what you wrote ("Reveal New Markers Seconds", 0 turns it off). It does not override the button's own hide-all or a marker you hid by hand, and it cannot reveal a kind whose icon vanilla's button has switched off.

Structures, portals, camps and boss altars are in that list too, even though they draw on vanilla's own map icons (house, portal, campfire, boss) and vanilla's buttons hide those as well. The two are not the same: vanilla's button hides every pin with that icon including ones you placed by hand, while ours hides only the markers this mod recorded.

Things that run out get crossed off, not forgotten. Mining a deposit to nothing, or picking a plant that never grows back, crosses its marker off for everyone instead of erasing it, so you can see which ground has already been worked rather than walking back to an empty spot. Using something up counts as finding it, so if it had no marker yet your character remembers it like any other find and writes it down already crossed off the next time the map comes out. Copper and silver are the exception, and are left alone unless "Cross Off Mined Copper" or "Cross Off Mined Silver" is turned on. Much of a copper deposit or silver vein can be out of sight underground, so a player cannot always tell whether they have got all of it, and a map that crossed it off for them would be telling them something they could not know. Tin and plants are different: there is no doubt when those are done. You can always cross one off by hand.

Hiding what you are done with. Crossed-off markers stay on the map, and the right-hand column of the marker button's list decides which of them are drawn:

  • Cleared deposits: every used-up deposit and plant, as one switch ("Show Cleared Deposits").
  • Searched places, by type: Structures on their own, then dungeons with one switch for all of them ("Hide searched dungeons") and one per type (Burial Chambers, Sunken Crypts, Frost Caves, Troll Caves, Infested Mines, Bear Caves, Other Dungeons), then any other kind you have crossed off, and your own placed markers. A type appears once something of that type has been crossed off. The dungeon switch leaves Structures alone.

A dungeon marker does not store which dungeon it is, so its type is read from its icon, the same way you tell them apart on the map. Structures all share the vanilla house icon, so abandoned houses, log cabins and stone towers are one group. A crossed-off marker's right-click menu offers the switch that covers it, plus "Hide all searched dungeons" on a dungeon. The choices are kept in "Hidden Searched Places" in the Display section, and the record is kept either way.

Portals are drawn from the world, not remembered. Everything else the mod records stays where you found it, so writing it down once is enough. A portal is built by players and gets renamed, torn down and rebuilt, so a marker written once is wrong within days. Instead the server reads the game's own list of every portal and your map draws that: a renamed portal is right immediately, a rebuilt one appears, and one that is gone leaves nothing behind. Nothing is stored, nothing is shared, and switching "Show Portals" off leaves no trace. Because the list is the world's, every portal is drawn rather than only the ones someone has seen -- portals are built by the players, so on a server where everyone is in the same group this is simply the truth; on a public server, or if you would rather learn a portal the way you learn everything else, turn the kind off.

Ships and carts are drawn where they are now. Every vessel in the world appears on the map at its current position -- the longship moored at the outpost, the karve somebody sailed off in, the cart left halfway up a mountain. Like portals these are drawn only: nothing is written to your map, nothing is shared, nothing is left behind when you switch the kind off, and none of it can reach a cartography table. The "found, not detected" rule does not apply to them, which is deliberate -- a vessel is your own property, and knowing where you parked it is not a discovery about the world.

The server does the finding, so this covers the whole world rather than the part loaded around you: a boat forty minutes away is still on your map, and it is still there after you rejoin. Modded ships are included without anyone maintaining a list, because the vessels to watch for are worked out from what is actually in the world. Each one is called what the game calls it -- a longship reads "Longship", not "Viking Ship" -- though the names are off by default ("Show Transport Labels"), since a harbor of six ships writes six names across the coast and the icon already says what is there. A vessel that is moving does not wait for the next sweep: the server passes its new position on four times a second ("Transport Movement Seconds"), so a ship under sail slides along the map, while a moored harbor sends nothing because nothing has moved. The sweep itself, which is what finds vessels in the first place, runs every five seconds by default ("Transport Sweep Seconds"); these pins answer "where did I leave it" rather than "where is it this second", and a ship riding the swell at anchor does not count as having moved. Hovering one names it, which is how to tell a knarr from a longship with the labels off. Their settings live together under "Dynamic Markers", apart from the settings for markers written on the map.

Portals get their own color, since they are the points you travel between and are worth spotting at a glance. By default they fade slowly between two shades of orange, which reads as a gentle pulse rather than a color change; set "Portal Marker Color" and "Portal Pulse Color" to any hex value or color name, clear the pulse color for a steady one, and use "Portal Pulse Seconds" for the speed.

Pause while the map is open ("Pause While Map Open" in the Display section, off by default): the game pauses while the large map screen is open, the way the ESC menu does. Solo or hosting alone it works by itself. On a dedicated server it takes the Pause My Server mod, which then pauses the world only while you are the only player online; with others online nothing pauses. Closing the map resumes.

Campfires are recorded when you build one, and when you see one another player built: they are where a group stopped, and worth finding again. The marker is the campfire's own picture from the build menu, in its fire colors, with no text label. Taking a campfire down removes its marker for everyone. Fires that belong to camps and villages the world generated are not counted. "Record Campfires" turns it off.

Structures (abandoned houses, log cabins, stone tower ruins, swamp huts, stonehenges, dvergr towers and so on) are recorded too if you turn on "Record Structures", which is off by default. They use the vanilla house icon, without a text label. It is meant for people who like to track which ruins they have already searched: opening a chest inside one crosses its marker off for everyone (config "Cross Off Structures When Searched"), and you can always cross one off by hand with a click on the map. Common structures are matched by name prefix; any other outdoor location counts as well unless "Structures Include Unlisted" is off or its prefab name is in the exclusion list.

Console commands

Command What it does
tgm_status Counts of shared markers, erased spots and pending discoveries
tgm_list [n] Nearest shared markers
tgm_find [text] Show only the markers mentioning some text, and list the types that matched; on its own, show everything again
tgm_transports Which vessel prefabs are watched, how many ships and carts are out there, and why one is or is not drawn
tgm_dedupe [apply] List markers standing on one another, or fold each group into one
tgm_import Share your existing local markers (the five standard icons) with everyone
tgm_clearlocal Delete your local, non-shared player markers, including stale ones imported from tables
tgm_sync Sync the nearest cartography table now
tgm_resync Re-download shared markers from the server
tgm_forget Forget found-but-unrecorded things
tgm_wipe [auto|all] Admin: erase recorded markers (default) or every shared marker, for everyone
tgm_unsuppress Admin: allow recording again where recorded markers were erased
tgm_look What the crosshair hits and every reason it would or would not be recorded
tgm_paint What is colored into the map for player building and paved roads
tgm_portals What the portal system believes, and why a portal near you is or is not drawn
tgm_erase <kind> [radius] Erase recorded markers of one kind near you, even when erasing by click is off
tgm_relabel [kind] Apply the label rules to existing markers; labels are only ever removed
tgm_reicon Repair dungeon markers that took the swamp crypt key because their cave was not in the catalog
tgm_deposits Every deposit in the game, what it yields, and whether the catalog knows it
tgm_admin Ask the server whether it treats you as an admin, and what player id it sees
tgm_items <word> List the game's items matching a word, for choosing a marker icon
tgm_legend Open the legend (same as the legend key)
tgm_show Show every hidden marker again (single markers, hidden icons, hidden kinds and hidden crossed-off markers)
tgm_mapui What the large map's layout measures: how much screen it uses and how its parts are anchored

What players have made, drawn on the map

Markers say what is here. They cannot say how big it is, or what runs between. So player building and paved roads are colored into the map instead — wooden building the light warm brown of the game's wood pieces, stone gray, iron slate, paved road its own pale shade, each configurable under [Map Painting].

When enabled, draws colors on the map to represent player-built structures and roads. Player Structures Enabled is off by default, while this is still being got right. It lives under [Map Painting] and is the server's; until it is on nothing here happens at all — no sweeping, no sampling, nothing sent, and any map already painted goes back to the way the game drew it.

It goes into the map picture the game itself draws, which means the large map, the minimap and the parchment in your hands all show it, with panning, zoom and fog handled for free: a base under unexplored ground stays hidden until you have been there. The resolution is the map's own — a shed is about a pixel, a base is a patch, and a road is a line a little wider than the road really is.

The game draws that map from three pictures, not one: a flat color per biome, a mask that draws forest over it, and a height that decides where the sea is. So a painted pixel has its forest cleared too, and one that stood under the water line is lifted a meter above it — otherwise the black forest draws trees over the paint and a dock is painted under the sea. Paint Over Water turns the lifting off if you would rather the map kept its coastline exactly. Paint Spread decides how many map pixels around each painted one are painted as well: 1 by default, because a single pixel of two thousand is averaged away into the terrain when the map is drawn scaled down.

Only pieces a player raised are drawn. Every piece the world generator places carries no builder, so ruins, camps and crypts are left out of it.

And only where there is enough of it. Everything a player raises is a piece, so a campfire lit while exploring or a workbench put down to repair a hammer would otherwise be a building in the middle of nowhere; a cell is drawn where Least Pieces To Draw pieces stand within a cell of it, which is a hut and not a torch. Ships and carts are left out of it too — they are built pieces like any other, but they move, and the live markers already draw them.

Roads work the other way round from everything else here. Paving is paint on the terrain, and terrain only exists where somebody is standing, so there is nothing to sweep: each client reports the paved ground it walks over, and the server keeps it for everybody and saves it beside the map. A road reaches every player's map the first time any one of them walks it. tgm_paint says what is being drawn and whether the ground under you reads as paved.

Configuration

BepInEx/config/DeathMonger.TheGreatestMap.cfg. Settings fall into two groups, and which group a setting is in follows one question: does your choice change what other players see?

The server's, marked [Synced with Server] and settable only by admins while "Lock Configuration" is on (it is by default): the sharing mode, whether erasing recorded markers is allowed, whether the map must be out to record or to edit, whether placed markers are shared, whether the cartography table carries player markers, whether mined-out copper and silver and searched structures are crossed off, how near and how often two players' maps merge (the exchange radius and cooldown), whether comparing maps shares explored ground, everything under [Cartography Table], and the three that rewrite markers other people wrote (the label rules applied on sync, the dungeon icon repair, and forgetting crops on tilled ground). These are rules of the shared map: crossing a deposit off puts a line through it on everybody's map, so it should not be decided by whoever happened to swing the pick.

Two of those are there for a second reason. The exchange radius and cooldown are used by whichever player reaches out, and the other machine does half the work, so they are the one pair that lets one player spend another player's frames. And the cartography table settings look local but are not: the last step of a table visit is a merge of your map with the shared map on the server, so they decide how often each client asks the server to work. The sync key is deliberately exempt -- asking for a sync by hand always works, so nobody is ever stuck with a stale map.

The settings whose descriptions begin "Server only" are marked [Synced with Server] as well. Nothing on a client reads them, and the mark is how the mod says so. Turning "Lock Configuration" off lets any player set them for the whole server, which is how it worked before 1.2.0. Single player and hosting your own game are unaffected — you are the server.

Yours, and nobody else's business: keys, the record radius, what stops you writing (under attack, and optionally while moving), which kinds of things to record, marker and label spacing, marker size per kind (plants draw at 60% by default), whether each kind shows on the small minimap, the prefab lists behind each kind, the fallback icon for each kind, everything under Display including all the hiding, the legend's size and position, and the position, rotation and scale of the parchment and pencil in your hands. Your own file keeps your own values for the server's settings too, so what you play with alone is never overwritten by a server you visited.

Notes

  • Boss, Hildir and memorial pins still share through the cartography table exactly as in vanilla.
  • Server admins: some hosts' panel "stop" kills the server without a world save. On the server, a file named save-now in BepInEx/config/TheGreatestMap/ makes the game save the world and all player profiles at once (create it over the host's file API before stopping), and "Server Autosave Minutes" in the server's config adds an extra periodic save. The [Server] section holds that autosave interval and how far behind a player may fall before the server stops holding erased markers open for them; the ship and cart sweep interval sits with the other dynamic-marker settings under [Dynamic Markers]. All three are read on the server alone.
  • Pings work as always and never need the map out.
  • The parchment shows the real world map around you; its position in the hand may need a tweak in the Visuals section for your taste.

Source

https://github.com/gbahns/ValheimMods