# How to Install and Set Up Dynmap on Your Minecraft Server (/docs/minecraft/setup-dynmap)



import { Step, Steps } from 'fumadocs-ui/components/steps';

**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 [#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 [#install-dynmap]

<Steps>
  <Step>
    Download Dynmap [#download-dynmap]

    Get the latest from [SpigotMC](https://www.spigotmc.org/resources/dynmap.274/) or the [GitHub releases](https://github.com/webbukkit/dynmap/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/`             |
  </Step>

  <Step>
    Stop the server [#stop-the-server]

    In the [XGamingServer Panel](https://panel.xgamingserver.com), open **Console** and stop your server.
  </Step>

  <Step>
    Upload to plugins/ or mods/ [#upload-to-plugins-or-mods]

    Click **Files** in the sidebar and upload the Dynmap JAR.
  </Step>

  <Step>
    Add the web map port to Network [#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`.
  </Step>

  <Step>
    Start the server [#start-the-server]

    Start from **Console**. Dynmap creates `plugins/dynmap/` and starts its embedded web server on port 8123.
  </Step>

  <Step>
    Open the map in a browser [#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.
  </Step>
</Steps>

Render Your Whole World [#render-your-whole-world]

Dynmap renders chunks as players load them. To pre-render the entire world, use:

```
/dynmap fullrender
```

This 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 [#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 [#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 [#configuration]

Dynmap's main config is `plugins/dynmap/configuration.txt`. The most important settings:

Web Server [#web-server]

```yaml
webserver-port: 8123
webserver-bindaddress: 0.0.0.0
```

To change the port (and update Network allocation accordingly):

```yaml
webserver-port: 8125
```

Map Behavior [#map-behavior]

```yaml
defaultzoom: 0
showplayerfacesinmenu: true
player-sort: name
hidenameswithpermission: false
```

Disable Live Player Tracking [#disable-live-player-tracking]

For privacy or PvP servers, hide player positions:

```yaml
display-whitelist: false
showplayerfacesonmap: false
```

Players can also hide themselves with `/dynmap hide` (requires permission).

Multi-World Setup [#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:

```yaml
worlds:
  - name: world_nether
    enabled: false
```

Map Types [#map-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 [#add-markers-and-claims]

Dynmap supports markers, area highlights, and integration with land-claim plugins:

| Plugin                                                                                       | What it adds            |
| -------------------------------------------------------------------------------------------- | ----------------------- |
| **[Dynmap-WorldGuard](https://www.spigotmc.org/resources/dynmap-worldguard.274/)**           | Show WorldGuard regions |
| **[Dynmap-GriefPrevention](https://www.spigotmc.org/resources/dynmap-griefprevention.275/)** | Show GP claims          |
| **[Dynmap-Towny](https://www.spigotmc.org/resources/dynmap-towny.274/)**                     | Show Towny towns        |
| **[Dynmap-Factions](https://www.spigotmc.org/resources/dynmap-factions.274/)**               | Show faction territory  |

Drop the addon JAR into `plugins/` alongside Dynmap. They auto-detect.

Public Web Address [#public-web-address]

By default, Dynmap is at `http://your-ip:8123`. To make it look nicer:

1. **Buy a domain** and create an A record pointing to your server IP (see [Custom Server IP](/docs/minecraft/custom-server-ip))
2. Set up a subdomain like `map.yourserver.com`
3. (Optional) Set up an Nginx reverse proxy with HTTPS for `https://map.yourserver.com` instead of port 8123

Performance Tips [#performance-tips]

1. **Run renders during low traffic** — full renders are CPU-heavy
2. **Lower update-perchunk** to reduce mid-game render load
3. **Use the `flat` render type** instead of `surface` for huge worlds — it's much faster
4. **Disable cave / nether maps** if you don't need them
5. **Set `tilescale: 1` instead of 2** — half the disk usage, slightly less detail
6. **Pre-generate the world** with [Chunky](/docs/minecraft/pregenerate-chunks) before the full render

Storage Considerations [#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 [#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 [#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 [#alternatives]

| Plugin                                                 | Pros                               | Cons                         |
| ------------------------------------------------------ | ---------------------------------- | ---------------------------- |
| **Dynmap**                                             | Most features, oldest, most addons | Heavier on CPU, older UI     |
| **[BlueMap](https://bluemap.bluecolored.de/)**         | Modern 3D visuals                  | Larger storage, fewer addons |
| **[Squaremap](https://github.com/jpenilla/squaremap)** | Lightweight, fast renders          | Flat-only, fewer features    |
| **[Pl3xMap](https://github.com/pl3xgaming/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 [#related-guides]

* [Plugin Setup](/docs/minecraft/plugin-setup)
* [Pre-Generate Chunks](/docs/minecraft/pregenerate-chunks)
* [Custom Server IP](/docs/minecraft/custom-server-ip)
* [Optimize Server](/docs/minecraft/optimize-server)
* [Setup WorldGuard](/docs/minecraft/setup-worldguard)
