DrummerCraig-OneMapToRuleThemAll icon

OneMapToRuleThemAll

Synchronize map exploration (fog of war) and map pins across all players. Turn on automatic map pins and/or client-side radar. Server and client options are highly configurable.

Last updated 2 hours ago
Total downloads 4
Total rating 0 
Categories Server-side Client-side
Dependency string DrummerCraig-OneMapToRuleThemAll-1.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2333 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.2333

README

OneMapToRuleThemAll

A Valheim multiplayer mod that synchronizes map exploration and pins across all players, with optional automatic discovery map pinning and a client-side proximity radar.

A huge thanks to Mydayyy and his excellent mod, ServerSideMap, and to Kitz_Bitz and his mod UnderTheRadar. Their excellent work and permission to utilize their code for reference helped the development of this mod.

This mod was developed for my own use but I figured why not share it for those interested. It comes with no support or guarantees.


Summary

Shared Map

All players on a server share a single map state. Explored fog-of-war is merged in real time — when one player uncovers an area, every connected player sees it too. Player-placed map pins are likewise synchronized so the whole server sees the same markers. Works in single-player as well, persisting state to a .one_map_to_rule_them_all.explored file alongside the world save.

Auto-Discovery Pins (optional)

When a player walks within a configurable radius of a tracked world object (ore deposit, pickable, location), a permanent shared pin is automatically placed on the map for all players. Pins use short abbreviation labels (e.g. Cu, Rb) and append a nearby-object count (e.g. Cu 3) when multiple of the same type are clustered together. Discovery pins are server-authoritative — the server controls which object types are tracked, what abbreviations are used, and the detection radii. Each player can independently toggle the visibility of any keyword on their own map without removing the pin for others.

Radar (optional)

A purely client-side proximity system that shows transient pins for nearby objects while the player is within range; pins disappear automatically when the player moves away. Radar pins are never sent to the server or other players. Objects within a configurable cluster radius are merged into a single pin with a count label. The radar system is server-authoritative — the server controls which categories are active, detection radii, and which keywords are tracked. Each player can independently toggle per-keyword radar visibility.


Config Files

File Purpose
One_Map_To_Rule_Them_All_Settings.cfg Server/admin settings. Created manually in the BepInEx config folder. Not shown in ConfigManager.
drummercraig.one_map_to_rule_them_all.cfg Client-only settings. Auto-created by BepInEx. Shown in ConfigManager (F1) as "OneMapToRuleThemAll".
OneMapToRuleThemAll.creatures.txt Creature category definitions. Auto-created in the BepInEx config folder. Editable to add, remove, or reorder creatures and categories.

Client / Player Options

These settings are local to each player and stored in drummercraig.one_map_to_rule_them_all.cfg. Open ConfigManager in-game (default F1) to edit them live.

Client Section

Setting Default Description
ShowOtherPlayerPins true Show map pins placed by other players on your minimap.
DiscoveryPinObjectIcon true Replace the default pin icon on auto-discovery pins with the in-game item sprite for that object. Only affects your own view.
DiscoveryPinText true Show the abbreviation label on auto-discovery pins. Set to false to display the icon only.
RadarPinText false Show abbreviation labels on radar pins. When false, only the icon is shown (no label or count).

Per-Keyword Visibility Toggles

Each tracked keyword has an individual on/off toggle in the ConfigManager. These control whether pins for that keyword appear on your minimap. Hiding a keyword does not remove the pin from the server or from other players' maps.

Visibility sections are organized by type:

ConfigManager Section Contents
MapPin.Pickables.<Biome> Discovery pin visibility per pickable keyword, per biome
MapPin.Ores Discovery pin visibility per ore keyword
MapPin.Locations Discovery pin visibility per location keyword
Radar.Pickables.<Biome> Radar pin visibility per pickable keyword, per biome
Radar.Ores Radar pin visibility per ore keyword
Radar.Locations Radar pin visibility per location keyword
Radar.Critters.<Category> Radar pin visibility per creature keyword, per category

Each section has a _ToggleAll entry at the top. Set it to false to hide every keyword in that section at once; set it to true to show them all. Individual keywords can still be toggled independently.

All visibility toggles default to true.


Server / Admin Options

These settings are server-authoritative and stored in One_Map_To_Rule_Them_All_Settings.cfg. When a client connects, the server pushes its configuration to them. Admin console commands require the caller to be a Steam-authenticated server admin.

General

Setting Default Description
ResetToDefaults false Set to true to reset all settings to their default values. Resets itself to false automatically.

Discovery System

Setting Default Description
Discovery › Enabled true Master switch for the auto-discovery pin system.
Discovery › QuantitySearchRadius 16 m Radius searched around a discovered object for nearby objects of the same type. The count appended to pin labels (e.g. Cu 3) is derived from this. Also acts as the cluster boundary — objects within this radius share one pin. Should be kept larger than the per-category DiscoveryRadius.

Radar System

Setting Default Description
Radar › Enabled true Master switch for the radar system.
Radar › ClusterRadius 16 m Objects within this radius are merged into one radar pin with a count label. Set to 0 to disable clustering.

Per-Category Settings

Pickables — Per Biome

Pickables are configured in eight per-biome sections: Pickables.Meadows, Pickables.BlackForest, Pickables.Swamp, Pickables.Mountain, Pickables.Plains, Pickables.Ocean, Pickables.Mistlands, Pickables.AshLands.

Each biome section has:

Setting Default Description
DiscoveryRadius 6 m Distance a player must approach a pickable to trigger a permanent discovery pin. Maximum 150 m.
RadarRadius 50 m Distance a player must be from a pickable for its radar pin to appear. Maximum 150 m.
TrackedDiscovery (biome keywords) Comma-separated keywords that trigger a permanent shared pin when discovered.
TrackedRadar (biome keywords) Comma-separated keywords that appear as transient radar pins.

Default keywords by biome:

Biome Keywords
Meadows Raspberry, Dandelion, Flint, Mushroom
BlackForest Blueberry, Thistle, Carrot
Swamp SurtlingCore, Turnip
Mountain Crystal, Onion
Plains Cloudberry, Barley, Flax
Ocean Chitin
Mistlands JotunPuff, Magecap
AshLands BlackCore

Ores

Section: Ores

Setting Default Description
DiscoveryRadius 6 m Distance a player must approach an ore deposit to trigger a permanent discovery pin. Maximum 150 m.
RadarRadius 50 m Distance a player must be from an ore deposit for its radar pin to appear. Maximum 150 m.
TrackedDiscovery (see below) Comma-separated keywords that trigger a permanent shared pin.
TrackedRadar (see below) Comma-separated keywords that appear as transient radar pins.

Default keywords: Copper, Tin, Iron, Silver, Obsidian, BlackMarble, Meteorite, Flametal

Locations

Section: Locations

Setting Default Description
DiscoveryRadius 6 m Distance a player must approach a location to trigger a permanent discovery pin. Maximum 150 m.
RadarRadius 50 m Distance a player must be from a location for its radar pin to appear. Maximum 150 m.
TrackedDiscovery (see below) Comma-separated keywords that trigger a permanent shared pin.
TrackedRadar (see below) Comma-separated keywords that appear as transient radar pins.

Default keywords: Eikthyr, Hildir, Runestone, GDKing, TrollCave, Vendor, Bonemass, SunkenCrypt, Crypt, MudPile, BogWitch, DragonQueen, MountainCave, DrakeNest, FrostCave, GoblinKing, TarPit, Henge, GoblinCamp, WoodFarm, ShipWreck, SeekerQueen, InfestedMine, DvergrTown, Fader

Critters — Per Category

Critters are radar-only (no discovery pins). Each creature category defined in OneMapToRuleThemAll.creatures.txt gets its own config section: Critters.<CategoryName>.

Setting Default Description
RadarRadius 50 m Distance a player must be from a creature for its radar pin to appear. Maximum 150 m.

Default categories and their radar radii (all 50 m): Bosses, Minibosses, Meadows, BlackForest, Swamp, Mountain, Plains, Mistlands, AshLands, Ocean, General.

Abbreviations

Each tracked keyword has a configurable short label used on discovery pin text. These live under Discovery.Abbreviations and can be changed without restarting the server. When an abbreviation is changed, newly discovered pins use the new label; existing pins keep their old label until om_renamepinabbreviations is run.

Keyword Default Keyword Default
Raspberry Rb Copper Cu
Blueberry Bb Tin Sn
Mushroom Mu Iron Fe
Thistle Th Silver Ag
Cloudberry Cb Obsidian Ob
Barley Br BlackMarble BkM
Flax Fl Meteorite Met
Onion On Flametal Fm
Carrot Ca Vendor Shop
Turnip Tu Crypt Crypt
Chitin Ch SunkenCrypt SCrypt
Crystal Cr TrollCave TCave
SurtlingCore Su MudPile Mud
BlackCore Bc MountainCave MCave
JotunPuff JP DrakeNest DNest
Magecap Mc TarPit Tar
Dandelion Dan Henge Henge
Flint Fli FrostCave FCave
Eikthyr Eik InfestedMine IMine
GDKing Elder GoblinCamp GCamp
Bonemass Bone WoodFarm WFarm
DragonQueen Moder DvergrTown Dtown
GoblinKing Yag ShipWreck Ship
SeekerQueen Queen Runestone Rune
Fader Fader Hildir Hild
BogWitch Witch

Admin Console Commands

All commands must be entered in the in-game console. The caller must be a server admin. On a dedicated server the RPC is forwarded automatically; in-game hosts execute directly.

Command Arguments Description
om_clearradiuspins <radius> Removes all mod-placed pins within the specified radius (meters) of your current position.
om_clearallpins Removes every mod-placed pin from the shared map.
om_refreshicons Re-applies object icon sprites to all discovery pins. Run this if icons appear out of sync after a config change.
om_renamepinabbreviations <old_abbr> <new_abbr> Renames all existing auto-discovery pins using old_abbr to new_abbr across the entire shared map (e.g. om_renamepinabbreviations Rb B).

Creatures File

OneMapToRuleThemAll.creatures.txt is created automatically in the BepInEx config folder on first run. It controls which creatures appear as radar pins, what display names and icons they use, and which category (and therefore radar radius) they belong to.

Format

category:displayname:internalname[:iconoverride]
  • category — groups creatures under a shared radar radius setting (e.g. Bosses, Meadows).
  • displayname — the label shown on the radar pin.
  • internalname — used to match game objects. If it starts with Trophy, the Trophy prefix is stripped to derive the match keyword (TrophyGreydwarf → matches objects containing Greydwarf). Matching is case-insensitive and ignores underscores and spaces.
  • iconoverride (optional) — name of a different ObjectDB item to use for the pin icon. Useful when a creature has no trophy of its own (e.g. Meadows:Greyling:Greyling:TrophyGreydwarf).

Lines starting with # are comments. Order matters — more-specific entries must appear before less-specific ones within and across categories, since matching uses substring checks.

Default Categories

Category Creatures
Bosses Eikthyr, The Elder, Bonemass, Moder, Yagluth, The Queen, Fader
Minibosses Brenna, Geirrhafa, Zil & Thungr, Lord Reto
Meadows Deer, Boar, Neck, Greyling
BlackForest Greydwarf shaman, Greydwarf, Rancid remains, Skeleton, Troll, Ghost, Bear
Swamp Abomination, Oozer, Blob, Draugr elite, Draugr, Leech, Leech (cave variant), Surtling, Wraith
Mountain Wolf, Drake, Stone Golem, Cultist, Fenring, Ulv
Plains Fuling Berserker, Fuling shaman, Fuling, Deathsquito, Lox, Growth, Vile
Mistlands Seeker Soldier, Seeker Brood, Seeker, Gjall, Tick, Dvergr mage (variants), Dvergr rogue, Hare
AshLands Charred Warlock, Charred Warrior, Charred Marksman, Charred Twitcher, Bonemaw, Lava Blob, Fallen Valkyrie, Volture, Morgen, Asksvin, Skugg
Ocean Northern salmon, Magmafish, Pufferfish, Perch, Pike, Tuna, Tetra, Trollfish, Giant herring, Grouper, Coral cod, Anglerfish, Serpent, Leviathan
General Chicken, Hen