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.
By DrummerCraig
| 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
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2333README
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, theTrophyprefix is stripped to derive the match keyword (TrophyGreydwarf→ matches objects containingGreydwarf). 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 |