
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.OneMapToRuleThemAll
Important! V2 is a design refactor with only a partial migration path. I recommend only installing for new worlds but migration info is provided at the bottom of this README.
Several new features include: -- Overhaul of the object universe, where vanilla and additional mod objects live in their own catalog files, giving you complete customization of visiblity, naming, abbreviations and icons for prefabs. -- Improved (and consolidated) Configuration Manager section -- Enforce player visibility option -- Prevention pins that keep auto pins and radar clear around your base -- Admins can right-click auto pins on the map to delete (command not necessary) -- Improved flexibility and options with om_ commands for managing pins
This mod was developed for my own use but I figured why not share it for others interested. I want to thank all who enjoy using it and especially those who have provided feedback, requests and identified bugs to resolve.
It comes with no support or guarantees.
For Players
Main Features. OneMapToRuleThemAll provides 3 main features, all optional.
Shared map. Everyone on a server shares one map. Fog-of-war is merged in real time so all players experience the same uncovered map areas. Player-placed pins are synced too, so the whole server sees the same markers.
Automatic pins. Walk within range of a tracked object (ore, pickable, location) and a permanent shared pin is placed for everyone. Pins use short labels (e.g. Cu, Rb) and add a count when several of the same type cluster together (e.g. Cu 3).
Radar. Nearby objects and creatures show as temporary pins that fade as you move away, with creatures tracked live. Radar is client only, never sent to anyone else. Nearby objects of the same type within a defined radius merge into a single counted pin.
Prevention pins — @ (optional). Name any map pin starting with @ (e.g. @Home) to keep a base quiet: within a set radius of an @ pin, auto-discovery and radar pins are suppressed for everyone, so farms and bases stay uncluttered. Non-admins may keep one @ pin per biome — naming a new one demotes the old (its @ is stripped). Admins and the host are unlimited.
Your personal options
Open ConfigManager in-game (default F1) to customize options in your own map.
- Show/hide other players pins.
- Auto pins: item-sprite icon vs. plain pin, and label on/off.
- Radar: label on/off, and the cluster radius that merges nearby pins into one count (0 = no merging).
- Per-keyword visibility: toggle any tracked object on or off. Hiding something only affects your map — it stays on the server for everyone else.
For Server Admins (and Solo Players)
What gets tracked. The trackable object universe is now implemented using catalog.txt files inside the BepInEx/config/OneMapToRuleThemAll subfolder. Files are automatically generated, one for vanilla, named OneMapToRuleThemAll.catalog.txt and one for each mod installed that contains trackable objects, an example being RtDMythics.catalog.txt for RTDMythics mod. Once generated these files are not touched by the mod again unless the file is completely deleted. Each row is Biome | Type | Keyword | Display | Abbr | Icon. Edit, comment out or delete rows to change what is tracked, then run om_reloadcatalog to apply live and re-push to clients. You have full control over what objects are available to track through these files.You can also just disable the object in configuration manager. While connected to a server, clients display the server's catalogs; when solo, they revert to their own local catalog files.
All feature switches and detection ranges are server-authoritative: the server pushes its configuration to each client on connect, so everyone plays by the server's rules. Settings live in the combined drummercraig.one_map_to_rule_them_all.cfg under [Server.*] and can be edited live (no restart).
Master switches & global ranges ([Server._Global] / [Server._Radius]):
- Feature masters: Shared Map, Auto-Pin (discovery), Radar, Force Player Visibility, and the
@-prevention toggles — all default on. - Simplified one detection radius per type (applied in every biome): pickable/ore/location discovery and radar ranges, creature radar range, and the two prevention radii (default 50 m). Auto-pin clustering is now a single global multiplier.
ResetToDefaultsresets every server setting and clears itself.
Console commands. Run in the in-game console. Pin/catalog changes are server-authoritative (must be a server admin; on a dedicated server they forward to the server automatically). The inspect/scan/export commands are local diagnostics.
om_clearpins all | type <name> | abbr <abbr> [radius]— removes auto pins only (never player pins); optional radius limits to your vicinity. Ex. "om_clearpins type obsidian 75" clears all Obsidian pins within 75m of your location.om_reloadcatalog— reload catalog files, relabel pins, and push to all clients.om_scanmods— re-scan loaded mods for trackable prefabs and refresh the catalog (a newly installed mod needs a game restart first to load its DLL).om_setabbr <display|keyword> <abbr>— set an object's pin abbreviation and push it live.om_seticon <display|keyword> <itemId>— set an object's pin icon (ObjectDB item id;noneclears).om_refreshicons— re-apply discovery pin icons if they get out of sync.om_pincounts— breakdown of auto-discovery pin counts by abbreviation.om_checkduplicatepins— report duplicate auto-pins without removing them.om_removeduplicatepins— remove duplicate auto-pins (keeps one per cluster) and report what was removed.om_inspect [radius]— print the prefab name and components of the object under your crosshair (or nearby within radius) and how the mod classifies it. Use it to find the keyword for something you want to track.om_exportcatalog— dump every trackable prefab toprefab_index.txtfor catalog curation.
A huge thanks to Mydayyy and their excellent mod, ServerSideMap, and to Kitz_Bitz and their mod UnderTheRadar. Their excellent work and permission to utilize their code for reference helped the development of this mod.
Migration information from V1.2.14 Handled automatically on first 2.0 launch
*.customprefabs.txt → <Mod>.catalog.txt — each legacy per-mod file is converted (enabled entries only) to the new catalog format; the original is renamed *.customprefabs.txt.migrated.bak and never re-read (ConfigMigration.MigrateCustomPrefabsToCatalog).
Server radius 1. CritterRadar → 1. CreatureRadar — a customized legacy value is carried over once (ServerGlobalConfig.MigrateLegacyCreatureRadar).
Catalog Critter type token → Creature — the parser still accepts the legacy Critter token; a lower on-disk catalog schema version triggers a backup + clean regenerate (ObjectCatalog.cs:56-58).
Combined-config / Client.* prefixing (ConfigMigration.MigrateIfNeeded) — already satisfied by 1.2.14, so it's effectively a no-op for you.
Not carried over — expect to reconfigure these
creatures.txt customizations. The file is retired; creature definitions are now seeded into the catalog. An existing creatures.txt is moved to the subfolder but then ignored — any custom creature edits there are not imported. Re-do them as Creature rows in the catalog.
Per-biome server radii and tracked-keyword lists. 1.2.14's [Server.Pickables.<Biome>] / [Server.Ores] / [Server.Locations] sections (per-biome DiscoveryRadius/RadarRadius, TrackedDiscovery/TrackedRadar) are replaced by global [Server._Global] / [Server._Radius] (one radius per type) plus the catalog. Only CritterRadar migrates — other customized radii and tracked-keyword edits are not converted; they revert to the new global defaults and the old sections are orphaned. Re-apply radii as global values and tracking via catalog rows/toggles.