Skip to content

Maps with friends! A minecraft world map backend with multiplayer sharing, automatic structure/POI marking, and unified mod compatibility.

License

Notifications You must be signed in to change notification settings

sisby-folk/surveyor

Repository files navigation

surveyor banner


An open-source backend (and API) for world map and waypoint mods!
Requires Connector and FFAPI on (neo)forge.

Surveyor is the map backend for mods like Antique Atlas 4, Hoofprint, and Via Romana.
Along with handling the generation and saving of map data like terrain and waypoints, Surveyor:

  • Shows other players on your map, even far away or in other dimensions!
  • Tracks your exploration, and will restore your map data from the server if it's lost or you change computers!
  • Enables live map sharing with other players of your choosing - terrain, waypoints, the lot!
  • Allows swapping map frontends any time without losing your map data!
  • Imports waypoints from Xaero's Minimap, and has integration for mods like Waystones and OPAC.
  • Is fully modular - so mods like Atlas HUD can utilize waypoints without enabling terrain scanning.

Commands

If you're a server admin or don't have a map frontend installed, surveyor comes with a few helpful commands:

  • /surveyor displays summary of how many chunks and structures you've explored, and waypoints recorded.
  • /surveyor share [player] and /surveyor unshare allows joining and leaving map sharing groups.
  • /waypoints allows viewing and editing your recorded waypoints.
  • /landmarks allows viewing and (op 2 or above) editing global waypoints.

Surveyor data is stored in plain NBT under data/surveyor (per-dim in singleplayer/servers, in .minecraft for clients).

Configuration

Surveyor's configuration can be edited in config/surveyor.toml, or in-game using McQoy. This includes:

  • Toggling the terrain, structure, and landmark subsystems (otherwise set by installed frontends on clients)
  • What data should be networked to clients / the server, and between group members.
  • Whether all players on the server should be considered part of one global map sharing group.
  • How often to send player position updates to clients, and how fast to sync missing terrain to clients.

Mod Developers

Feel free to reach out if you'd like to develop something with surveyor! Or don't, we don't mind! We appreciate:

  • PRs making shots at surveyor enhancements and bugs.
  • PRs containing ports to an older established versions (1.4.7, 1.17.10, 1.12.2, 1.16.5, 1.18.2) - or latest, per policy
  • PRs containing API features that you'd benefit from - ideally post an issue first, and we can workshop it!
  • Compat addons, world maps, minimaps, and waypoint frontends utilizing surveyor!
    Serverside, web map, minecraftless... we just want to cultivate fun new things in the map mod space.

Check out the frontend dev guide for a breakdown of the complicated parts of the internals.

If you've made something, hit us up and we'll link it here! We'll also answer questions for any in-progress project.
You can reach out to us through the modfest discord (#projects->Surveyor), on mastodon, or hell, via email.

Afterword

Surveyor was built on the thoughts, advice, opinions, and past works of many modders in the community.

Thanks to everyone who helped make this project happen, even just by fluttering on the sidelines - it means a lot.

We made surveyor because it sounded cool - we hope it helps other artists/modders to make cool things!

About

Maps with friends! A minecraft world map backend with multiplayer sharing, automatic structure/POI marking, and unified mod compatibility.

Topics

Resources

License

Stars

Watchers

Forks

Languages