| gradle | ||
| libs | ||
| runs/junit | ||
| src/main | ||
| .gitignore | ||
| build.gradle | ||
| CHANGES.md | ||
| gradle.properties | ||
| gradlew | ||
| LICENSE | ||
| README.md | ||
| settings.gradle | ||
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:
DynmapCoreis 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
- Stop your server.
- Remove any existing
Dynmap*.jarfrom the server'smods/directory. - Copy the freshly built fat jar into
mods/. - 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.