Dynmap NeoForge 1.21.1 port
Find a file
2026-06-28 13:51:43 -07:00
gradle initial: neoforge 1.21.1 port - first compile fix pass 2026-03-06 19:07:14 -08:00
libs initial: neoforge 1.21.1 port - first compile fix pass 2026-03-06 19:07:14 -08:00
runs/junit initial: neoforge 1.21.1 port - first compile fix pass 2026-03-06 19:07:14 -08:00
src/main refactor: inline touchChunk() - remove extraction per upstream contributing guidelines 2026-03-07 19:03:24 -08:00
.gitignore initial: neoforge 1.21.1 port - first compile fix pass 2026-03-06 19:07:14 -08:00
build.gradle neoforge-1.21.1: runtime fixes and build improvements 2026-03-07 09:41:38 -08:00
CHANGES.md docs: final CHANGES.md - accurate post-review state 2026-03-07 19:04:18 -08:00
gradle.properties neoforge-1.21.1: runtime fixes and build improvements 2026-03-07 09:41:38 -08:00
gradlew initial: neoforge 1.21.1 port - first compile fix pass 2026-03-06 19:07:14 -08:00
LICENSE docs: rewrite README for public release + add Apache-2.0 LICENSE 2026-06-28 13:51:43 -07:00
README.md docs: rewrite README for public release + add Apache-2.0 LICENSE 2026-06-28 13:51:43 -07:00
settings.gradle initial: neoforge 1.21.1 port - first compile fix pass 2026-03-06 19:07:14 -08:00

Dynmap — NeoForge 1.21.1

A NeoForge port of Dynmap, the dynamic web-map mod for Minecraft servers. Dynmap renders your worlds as a live, Google-Maps-style view that anyone can open in a browser — no Minecraft client required — with real-time player positions, markers, and multiple render perspectives.

This branch targets NeoForge 21.1.219 / Minecraft 1.21.1. It is a fork of upstream Dynmap's neoforge module, updated for the 1.21.1 API. It has been run on both vanilla NeoForge and large modpacks (e.g. All the Mods 10, ~445 mods).

Features

  • Live, browser-based map of every loaded world — served by a built-in web server (default port 8123).
  • Multiple render styles (top-down flat, isometric "HD" perspective, cave/biome maps).
  • Real-time player tracking, chat balloons, and a marker/area API for other mods and plugins.
  • Flat-file or SQL (MySQL / MariaDB / PostgreSQL / SQLite) tile storage.
  • Self-contained: DynmapCore is bundled into the mod jar, so there are no extra runtime dependencies.

Requirements

  • A NeoForge 1.21.1 (21.1.x) server.
  • JDK 21 to build from source.

Building

The build uses the Gradle wrapper, so no local Gradle install is needed:

./gradlew shadowJar

The output fat jar is written to:

build/libs/Dynmap-neoforge-1.21.1-3.7-SNAPSHOT-Dev-all.jar

shadowJar bundles DynmapCore into the jar; build the plain jar task only if you are supplying DynmapCore separately.

Installing

  1. Stop your server.
  2. Remove any existing Dynmap*.jar from the server's mods/ directory.
  3. Copy the freshly built fat jar into mods/.
  4. Start the server. On first run Dynmap creates its config under <server>/dynmap/ and begins rendering.

Using the map

Once the server is up, open the web map in any browser:

http://<server-address>:8123/

The bind address and port are configurable in dynmap/configuration.txt (webserver-bindaddress, webserver-port). See the upstream Dynmap documentation for the full set of configuration, render, and storage options — they apply unchanged to this port.

Compatibility notes

This port includes fixes specific to running under 1.21.1 and large modpacks — most notably a work-around for a block-state cache deadlock that can occur with ModernFix + FerriteCore during world load. The full, dated list of changes relative to the upstream neoforge-1.20.6 baseline is in CHANGES.md.

Relationship to upstream

This is a community fork that exists to track the NeoForge 1.21.1 target ahead of an upstream release. The long-term goal is to fold these changes back into webbukkit/dynmap. If you want the canonical, multi-platform Dynmap (Spigot/Paper, Forge, Fabric, and older NeoForge versions), use upstream.

Contributing

Issues and pull requests are welcome. To keep merges back to upstream clean, please:

  • Match the surrounding code style; avoid cosmetic-only refactors in functional PRs.
  • Build and run a server with your change before submitting (./gradlew shadowJar, then load the jar).
  • Describe what you changed and why, and note the Minecraft / NeoForge versions you tested against.

License

Licensed under the Apache License 2.0 — see LICENSE. Dynmap is a trademark of its respective owners; this fork is not affiliated with or endorsed by the upstream maintainers.