Dynmap

Screenshot

* AS I AM NOW SUPPORTING MORE THAN JUST BUKKIT WITH DYNMAP, MAIN SUPPORT THREAD IS NOW ON http://www.minecraftforum.net/topic/1543523-dynmap-dynamic-web-based-maps-for-minecraft/- FOR QUICKEST SUPPORT, PLEASE BEGIN USING THIS THREAD *

A Google Maps-like map for your Minecraft server that can be viewed in a browser. Easy to set up when making use of Dynmap's integrated webserver which works out-of-the-box, while also available to be integrated into existing websites running on Apache and the like. Dynmap can render your worlds using different renderers, some suitable for performance, some for high detail.

Components allow you to add/remove functionality to make Dynmap suit your needs. Using the components Dynmap comes supplied with, there is support for chat balloons, web-to-game chat, and configurable markers, areas, and lines.

Features

  • Highly configurable maps per world
  • Real-time updates: maps are kept in sync with your world in real-time, updates are shown while your leave your browser open
  • Players with their faces are visible on the map
  • Chat messages are visible (as balloons or in a chatbox) on the map.
  • Map viewers can chat to players in-game.
  • Current Minecraft time is visible on the map.
  • Current Minecraft weather is visible on the map.
  • WorldGuard, Residence, Towny and Factions regions that can be visible on the map (through corresponding Dynmap-* plugins)
  • Overall highly configurable and customizable.

Installation

Copy dynmap-*.jar into your plugins directory. If you are upgrading, delete the previous dynmap-*.jar - you do NOT need to delete the plugins/dynmap directory or its contents.

If you are running a separate webserver (like Apache) you may need to copy the files from 'plugins/dynmap/web/' to a directory in your http-root and follow this guide. When upgrading, make sure you also upgrade the copied files.

First time use

When you start CraftBukkit, you should be able to navigate to http://yourserverip:8123/ in your browser. In case you are running CraftBukkit on the PC you are currently working on, you can navigate to http://localhost:8123/. You should be able to see the players who are in-game. Note that the map is not yet rendered, therefore the background will be black.

If you are planning on using the HD renderer, now would be a good time to do so. Enable 'deftemplatesuffix: hires' in the top of configuration.txt. More information about deftemplatesuffix is available at Base plugin settings.

If you just want to see Dynmap work, use the following command in-game: /dynmap fullrender. The wiki contains more information about commands and permissions. The map should reveal itself gradually in the browser, give it some time. Progress messages indicate that Dynmap is working and will show when the render is completed.

Configuration

FAQ

Base plugin settings

World and template configuration

Component configuration

HD Map configuration

Wiki

Tutorial video by Koz4Christ

Dynmap Add-Ons:

Both to demonstrate the API, and to help manage the growth of this already-huge plugin, we've started producing additional plugins for Dynmap. All of these will depend on Dynmap and interface through its APIs, but only need to be added by folks that are interested in the additional function they provide:

Mods integrated with Dynmap:

The following mods are known to support dynmap integration without needing an add-on:

Also, for the best response to questions and such, please post comments to our main forum thread - http://www.minecraftforum.net/topic/1543523-dynmap-dynamic-web-based-maps-for-minecraft/. Once again, having more than one place just isn't helpful, and this is where the 'Dynmap Community' already operates.

Disclosure

This plugin utilizes Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:

  • A unique identifier
  • The server's version of Java
  • Whether the server is in offline or online mode
  • The plugin's version
  • The server's version
  • The OS version/name and architecture
  • The core count for the CPU
  • The number of players online
  • The Metrics version

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of MasterSlimFat MasterSlimFat Jul 13, 2015 at 05:25 UTC - 0 likes

    I have a Cauldron server. How do i see the livemap with that?

  • Avatar of Kenthria Kenthria Jul 09, 2015 at 17:25 UTC - 0 likes

    What is a http-root ?

  • Avatar of ChillerKraft ChillerKraft Jun 25, 2015 at 02:45 UTC - 0 likes
  • Avatar of suitinacow suitinacow Jun 24, 2015 at 13:41 UTC - 0 likes

    Is this supposed to work with 1.8.7 ? Cuz the console says its out of date

    [dynmap] Error parsing plugins/dynmap/configuration.txt. Use http://yamllint.com to debug the YAML syntax. [09:29:55] [Server thread/ERROR]: Error occurred while enabling dynmap v2.2-SNAPSHOT-1110 (Is it up to date?) org.dynmap.snakeyaml.scanner.ScannerException: while scanning for the next token; found character '\t' that cannot start any token

  • Avatar of IrChaos IrChaos Jun 18, 2015 at 01:21 UTC - 0 likes

    @actorbooth: Go

    Umm... I actually just discussed that in my last post here, and I think it was discussed in a previous one just a few posts back. But anyways... You need to change the port number in your configuration file. You see... your host is a shared host, meaning several servers are on the same IP, this renders your server with a port of something like 25576 instead of 25565, which would be the default if you had your own IP. So that means that anyone who is using Dynmap on IP 67.175.97.42 and is using port 8123 and their Dynmap was up before yours, they got that port. You just need to go into Dynmap configuration and change the port to a higher port. Something like maybe 8136 for example. The chance of someone using that would be pretty slim unless your host really oversells their machines. Which is always possible if your going with a bad host.

    Need a great host for your MC Server? Try Exile!

  • Avatar of actorbooth actorbooth Jun 17, 2015 at 22:21 UTC - 0 likes

    Anyone else had the problem when you run Dynmap for the first time and you render the map and the go to the internet, type in your server ip along with the 8123 port: someone else's server shows up? I didn't type anything wrong, it is a different server. Is Dynmap broken at the moment or something? Two servers cannot have the same IP. It just doesn't work like that. http://69.175.97.42:8123/ does not bring me to my server that is at that IP.

  • Avatar of IrChaos IrChaos Jun 16, 2015 at 04:15 UTC - 0 likes

    Dynmap out of the box takes up a lot of HDD space. Configuration to change that is a little confusing. I have had servers go down for exceeding data limits because of Dynmaps high output of files. But, I think everyone loves Dynmap... so I offer up my worlds file for anyone who is getting heavy data usage issues. This brings the resolution of the surface view down so it takes up less HDD space, it also disables the extra worlds that you can't see much of anyways, eg. nether and end. This would be more for if your running a standard Bukkit or Spigot server. Anyways here you go, just copy the code, paste it over the code in your worlds file in the Dynmap folder, save and restart the server. You may want to go ahead and delete the folder located at /plugins/dynmap/web/tiles/world/t if you use this worlds file. That is the surface map, it will regenerate with the new resolution and save you a lot.. and I mean a lot of space, GIGS even!

    # These are examples of world-specific settings - customize your content as you see fit
    #
    # NOTES:
    #   All lines here are commented with the # symbol - delete the # symbol on copied lines you wish to enable
    #   Definitions of a world made here will superecede any world definition with the same name in configuration.txt
    #   Deleting this file will result in a fresh copy being produced by dynmap.jar on the next startup.
    #
    worlds:
      # Worlds can be handled by templates, based on world type
      # You can override the properties of the template by specifying them in this section
      #    for example 'Title: "My Awesome World"'
      - name: world
        title: "World"
      #   Use 'enabled: false' to disable a certain world.
      #  enabled: false
      #   Use sendposition: false to prevent player positions from showing when on this world (if sendposition is globally enabled)
      #  sendposition: false
      #   Use sendhealth: false ot prevent player health from showing when on this world (if sendhealth is globally enabled)
      #  sendhealth: false
      #  # If world isn't contiguous chunks (due to teleporting, for example), fullrender needs to be given other locations to scan for tiles on each patch of chunks
      #  fullrenderlocations:
      #    - x: 10000
      #      y: 64
      #      z: 20000
      #    - x: -15000
      #      y: 64
      #      z: -5000
      #  # Use visibilitylimits to restrict which areas of maps on your world to render (zero or more shapes can be defined)
      #  # For a rectangle, the area is defined by x0, z0 to x1, z1
      #  # For a circle, the area is defined by a center at x,z with a radius 'r'
      #  visibilitylimits:
      #    - x0: -1000
      #      z0: -1000
      #      x1: 1000
      #      z1: 1000
      #    - x: -2000
      #      z: -1000
      #      r: 200
      #  # Use hiddenlimits to specifically hide portions of your world (the opposite of visibilitylimits)
      #  # For a rectangle, the area is defined by x0, z0 to x1, z1
      #  # For a circle, the area is defined by a center at x,z with a radius 'r'
      #  hiddenlimits:
      #    - x0: 100
      #      z0: 0
      #      x1: 200
      #      z1: 0
      #    - x: -2000
      #      z: -1000
      #      r: 200
      #  # Use hidestyle to control how hidden-but-existing chunks are to be rendered (air=empty air (same as ungenerated), stone=a flat stone plain, ocean=a flat ocean)
      #  hidestyle: stone
      #   Use 'template: mycustomtemplate' to use the properties specified in the template 'mycustomtemplate' to this world. Default it is set to the environment-name (normal or nether).
      #  template: mycustomtemplate
      #   Rest of comes from template - uncomment to tailor for world specifically
      #  # World center - default is spawn point
      #  center:
      #    x: 0
      #    y: 64
      #    z: 0
      #  # If bigworld set to true, use alternate directory layout better suited to large worlds
      #  bigworld: true
      #  # Number of extra zoom-out levels for world (each level is twice as big as the previous one)
      #  extrazoomout: 3
      #  # Default delay on processing of updated tiles, in seconds.  This can reduce potentially expensive re-rendering
      #  # of frequently updated tiles (such as due to machines, pistons, quarries or other automation).  Value can also be set on
      #  # individual maps.
      #  tileupdatedelay: 30
        maps:
          - class: org.dynmap.hdmap.HDMap
            name: flat
            title: "Flat"
            prefix: flat
            perspective: iso_S_90_lowres
            shader: stdtexture
            lighting: shadows
            mapzoomin: 1
          - class: org.dynmap.hdmap.HDMap
            name: surface
            title: "Surface"
            prefix: t
            perspective: iso_SE_30_lowres
            shader: stdtexture
            lighting: shadows
            mapzoomin: 1
      #    - class: org.dynmap.hdmap.HDMap
      #      name: cave
      #      title: "Cave"
      #      prefix: ct
      #      perspective: iso_SE_60_lowres
      #      shader: cave
      #      lighting: default
      #      mapzoomin: 3
      #
      # To just label world, and inherit rest from template, just provide name and title
      #- name: world2
      #  title: "Second World"
      #
      - name: world_nether
        title: "Nether"
        enabled: false
        center:
          x: 0
          y: 64
          z: 0
        # Number of extra zoom-out levels for world (each level is twice as big as the previous one)
        extrazoomout: 3
        maps:
          - class: org.dynmap.hdmap.HDMap
            name: flat
            title: "Flat"
            prefix: flat
            perspective: iso_S_90_lowres
            shader: stdtexture
            lighting: nethershadows
            # Map background color (day or night)
            background: "#300806"
            mapzoomin: 1
          - class: org.dynmap.hdmap.HDMap
            name: nether
            title: "Surface"
            prefix: nt
            perspective: iso_SE_30_hires
            shader: stdtexture
            lighting: nethershadows
            # Map background color (day or night)
            background: "#300806"
            mapzoomin: 1
      - name: world_the_end
        title: "TheEnd"
        enabled: false
        center:
          x: 0
          y: 64
          z: 0
        # Number of extra zoom-out levels for world (each level is twice as big as the previous one)
        extrazoomout: 3
        maps:
          - class: org.dynmap.hdmap.HDMap
            name: flat
            title: "Flat"
            prefix: flat
            perspective: iso_S_90_lowres
            shader: stdtexture
            lighting: nethershadows
            # Map background color (day or night)
            background: "#300806"
            mapzoomin: 1
          - class: org.dynmap.hdmap.HDMap
            name: nether
            title: "Surface"
            prefix: nt
            perspective: iso_SE_30_hires
            shader: stdtexture
            lighting: nethershadows
            # Map background color (day or night)
            background: "#300806"
            mapzoomin: 1
    

    And now to see if I can't help out. :D

    @ClientMage: Go

    Yes, it is working in 1.8.7 and everything in between. I am running Spigot with no issues from Dynmap, have also used in 1.8.6 and 1.8.1, sorry, skipped 1.8.3 if anyone needs to know, but I don't see why it wouldn't.

    @BSidiocy: Go

    This all has to do with how you have your site setup. Use http://yourserverip:8123 or whatever your port for Dynmap is set to. That will give you a full page view. If you are adding this to a forum, you need to set that as a link so that it will redirect to where you need it to go. A little HTML or BBC knowledge is really handy in setting things up.

    Just an added note: If you do not have a dedicated IP, such as yourserverip:25565 be sure to change your port settings in the configuration file to a different port higher than 8123, chances are, if you share an IP, than someone else is using that port.

  • Avatar of ClientMage ClientMage Jun 12, 2015 at 03:58 UTC - 0 likes

    Does it work on 1.8.7 Spigot/Craftbukkit?

  • Avatar of BSidiocy BSidiocy May 22, 2015 at 14:32 UTC - 1 like

    WIKI is so confusing .. my map in website is small

    i used /dynmap fullrender but my website only show small map help pls

    wiki tutorials so confusing ...

  • Avatar of wchrisj wchrisj May 12, 2015 at 17:17 UTC - 0 likes

    @navy12333: Go

    Go to the config and change to port(standart 8123) to anything other

Facts

Date created
Aug 30, 2011
Categories
Last update
Jul 13, 2015
Development stage
Release
Language
  • enUS
License
Apache License version 2.0
Curse link
Dynmap
Downloads
1,298,350
Recent files

Authors