How to Install and Set Up Dynmap on Your Minecraft Server
Install Dynmap on your Minecraft Java server to render a live, browsable web map of your world with player tracking, multi-world support, and full renders.
Dynmap generates a live, interactive Google-Maps-style view of your Minecraft world that anyone can browse from a web browser. It shows terrain, player positions in real time, claim borders, sign markers, and can render multiple worlds and dimensions. It's the most popular web-mapping plugin for Minecraft and has been actively maintained for over a decade.
What Dynmap Looks Like
When set up, players visit http://your-server:8123 (or your custom URL) and see:
- A pannable, zoomable rendered map of your world
- Live player positions (toggleable)
- Multi-world dropdown
- Sidebar with player list and chat (optional)
- Flat / 3D / cave / nether render types
Install Dynmap
Download Dynmap
Get the latest from SpigotMC or the GitHub releases. Pick the build matching your platform:
| Platform | Build |
|---|---|
| Bukkit / Spigot / Paper / Folia | Dynmap-X.X-spigot.jar → plugins/ |
| Forge | Forge build → mods/ |
| Fabric | Fabric build → mods/ |
| NeoForge | NeoForge build → mods/ |
Stop the server
In the XGamingServer Panel, open Console and stop your server.
Upload to plugins/ or mods/
Click Files in the sidebar and upload the Dynmap JAR.
Add the web map port to Network
In the panel, click Network in the sidebar. Click Create Allocation and add port 8123 (Dynmap's default).
The port and IP from this allocation are what players will use to view the map:
http://your-ip:8123.
Start the server
Start from Console. Dynmap creates plugins/dynmap/ and starts its embedded web server on port 8123.
Open the map in a browser
Visit http://your-server-ip:8123 in any browser. You'll see your world rendered as players explore it.
Empty map? Dynmap only renders chunks players have visited. To see the whole world, run a full render — see below.
Render Your Whole World
Dynmap renders chunks as players load them. To pre-render the entire world, use:
/dynmap fullrenderThis walks the entire loaded world and generates tiles for everything. It's CPU-intensive and will lag the server — run during off-peak hours or with no players online.
Render Commands
| Command | Description |
|---|---|
/dynmap fullrender | Render the current world |
/dynmap fullrender <world> | Render a specific world |
/dynmap radiusrender <radius> | Render chunks within radius of you |
/dynmap cancelrender | Cancel an active render |
/dynmap pause all | Pause all render activity |
/dynmap pause none | Resume rendering |
/dynmap render | Re-render the current chunk |
/dynmap stats | Show render statistics |
/dynmap purgequeue | Clear pending render queue |
Render Time Estimates
| World size | Time on hosted server |
|---|---|
| 1,000 × 1,000 blocks (small) | 30 min – 2 hours |
| 5,000 × 5,000 (medium) | 4–12 hours |
| 10,000 × 10,000 (large) | 1–3 days |
| 25,000 × 25,000 (huge) | 5–14 days |
Times depend heavily on server CPU and render quality settings.
Configuration
Dynmap's main config is plugins/dynmap/configuration.txt. The most important settings:
Web Server
webserver-port: 8123
webserver-bindaddress: 0.0.0.0To change the port (and update Network allocation accordingly):
webserver-port: 8125Map Behavior
defaultzoom: 0
showplayerfacesinmenu: true
player-sort: name
hidenameswithpermission: falseDisable Live Player Tracking
For privacy or PvP servers, hide player positions:
display-whitelist: false
showplayerfacesonmap: falsePlayers can also hide themselves with /dynmap hide (requires permission).
Multi-World Setup
Each world has its own config in plugins/dynmap/worlds.txt. By default, all loaded worlds are mapped — to disable a world:
worlds:
- name: world_nether
enabled: falseMap Types
Dynmap supports multiple render styles per world:
| Render type | Description |
|---|---|
flat | Top-down view, fast to render |
surface | 3D isometric view (default) |
cave | Underground cave view |
nether | Special render for the Nether |
biome | Color by biome |
Edit worlds.txt to add or remove map types per world.
Add Markers and Claims
Dynmap supports markers, area highlights, and integration with land-claim plugins:
| Plugin | What it adds |
|---|---|
| Dynmap-WorldGuard | Show WorldGuard regions |
| Dynmap-GriefPrevention | Show GP claims |
| Dynmap-Towny | Show Towny towns |
| Dynmap-Factions | Show faction territory |
Drop the addon JAR into plugins/ alongside Dynmap. They auto-detect.
Public Web Address
By default, Dynmap is at http://your-ip:8123. To make it look nicer:
- Buy a domain and create an A record pointing to your server IP (see Custom Server IP)
- Set up a subdomain like
map.yourserver.com - (Optional) Set up an Nginx reverse proxy with HTTPS for
https://map.yourserver.cominstead of port 8123
Performance Tips
- Run renders during low traffic — full renders are CPU-heavy
- Lower update-perchunk to reduce mid-game render load
- Use the
flatrender type instead ofsurfacefor huge worlds — it's much faster - Disable cave / nether maps if you don't need them
- Set
tilescale: 1instead of 2 — half the disk usage, slightly less detail - Pre-generate the world with Chunky before the full render
Storage Considerations
Rendered tiles are stored in plugins/dynmap/web/tiles/. For a 10,000-block radius world with default settings, expect:
- Surface map: 1–3 GB
- Flat map: 500 MB – 1 GB
- Cave + nether: another 500 MB – 1 GB
Monitor your disk usage. Dynmap can fill a small server's disk if you run multiple full renders.
Common Issues
| Problem | Fix |
|---|---|
| Map page doesn't load | Port 8123 not allocated in Network |
| "Connection refused" in browser | Server not running, or Dynmap failed to start |
| Map shows old terrain | Run /dynmap fullrender to refresh |
| Server lags during full render | Pause with /dynmap pause all, run overnight |
| Empty / black map | Chunks haven't been visited or rendered yet |
| Player markers don't update | Dynmap update interval — check update-perchunk |
| Disk full | Reduce render quality or use flat instead of surface |
| Crashes after install | Wrong build for your server type |
Common Mistakes
| Mistake | Fix |
|---|---|
| Forgetting to allocate port 8123 | Add allocation in Network tab |
| Running full render with players online | Always run during off-peak |
| Rendering all map types when you only need one | Disable unused render types in worlds.txt |
| Not pre-generating before full render | Pre-gen with Chunky first — much faster |
| Sharing the IP+port instead of a domain | Set up a subdomain for a clean URL |
| Mixing up Dynmap with BlueMap or Squaremap | Same idea, different plugins — pick one |
Alternatives
| Plugin | Pros | Cons |
|---|---|---|
| Dynmap | Most features, oldest, most addons | Heavier on CPU, older UI |
| BlueMap | Modern 3D visuals | Larger storage, fewer addons |
| Squaremap | Lightweight, fast renders | Flat-only, fewer features |
| Pl3xMap | Squaremap fork, active dev | Smaller community |
For most servers, Dynmap is still the safe choice. For pretty visuals, try BlueMap. For tiny servers that just want a basic top-down map, try Squaremap.
Related Guides
How is this guide?

How to Set Up DiscordSRV on Your Minecraft Server
Install DiscordSRV to bridge your Minecraft Java server chat with a Discord channel — bot setup, channel ID, console mirroring, and account linking.
How to Install and Configure EssentialsX on Your Minecraft Server
Install EssentialsX on your Minecraft Java server for homes, warps, kits, economy, teleportation, chat formatting, and 100+ admin commands.