Skip to content

Setting up without the Internal Web Server

mikeprimm edited this page Mar 27, 2012 · 5 revisions

This page assumes

  • You are reasonably experienced with the standalone web server you are using.
  • You have the standalone web server and CraftBukkit running on the same machine.
  • Your Web Server supports PHP. (Only needed for web-to-Minecraft chat OR if login support is enabled)
  • If you are on Linux, you should know how to use the terminal and chmod.

Change the following:

  - class: org.dynmap.InternalClientUpdateComponent
    sendhealth: true
    allowwebchat: true
    webchat-interval: 5
  #- class: org.dynmap.JsonFileClientUpdateComponent
  #  writeinterval: 1
  #  sendhealth: true
  #  allowwebchat: false

To:

  #- class: org.dynmap.InternalClientUpdateComponent
  #  sendhealth: true
  #  allowwebchat: true
  #  webchat-interval: 5
  - class: org.dynmap.JsonFileClientUpdateComponent
    writeinterval: 1
    sendhealth: true
    allowwebchat: false

To disable the internal updating mechanism and enable the json-file updating mechanism. This will write to the file standalone/dynmap_world.json in your web-path at an interval that is specified with writeinterval.

Copy your files in plugins/dynmap/web to a directory of your webserver. Change configuration.txt so that it points with both tilespath and webpath to the paths where you placed the web-files. For *nix

# The path where the tile-files are placed.
tilespath: /path/to/web/server/dynmap/web/tiles

# The path where the web-files are located.
webpath: /path/to/web/server/dynmap/web

Or for Windows

# The path where the tile-files are placed.
tilespath: c:\\path\\to\\web\\server\\dynmap\\web\\tiles

# The path where the web-files are located.
webpath: c:\\path\\to\\web\\server\\dynmap\\web

Now go to your web-directory and comment the internal server section in config.js, so that you have this:

    // For internal server or proxying webserver.
//url : {
//	configuration: 'up/configuration',
//	update: 'up/world/{world}/{timestamp}',
//	sendmessage: 'up/sendmessage',
//	login: 'up/login',
//	register: 'up/register'
//},

Also uncomment the appropriate standalone (jsonfile) section, so that you have either:

This (if login support is not enabled):

 // For standalone (jsonfile) webserver (no login security)
 url: {
 configuration: 'standalone/dynmap_config.json?_={timestamp}',
 update: 'standalone/dynmap_{world}.json?_={timestamp}',
 sendmessage: 'standalone/sendmessage.php',
 login: 'standalone/login.php',
 register: 'standalone/register.php'
 },

Or this (if login support is enabled):

 // For standalone (jsonfile) webserver (login security)
 url: {
 configuration: 'standalone/configuration.php',
 update: 'standalone/dynmap_{world}.json?_={timestamp}',
 sendmessage: 'standalone/sendmessage.php',
 login: 'standalone/login.php',
 register: 'standalone/register.php'
 },

Now restart your Minecraft server. Join your Minecraft server and place a few blocks (randomly) to trigger dynmap to generate tiles for your map. You can also type dynmap fullrender worldname in your server console to render the whole world with the name worldname.

Now refresh your browser. It should now display online players on http://mywebserver/dynmap/, keeping them up-to-date.

Troubleshooting

If you don't see any tiles on the map, check the tiles directory to see whether they get actually generated. If there are no tiles, it is likely that Minecraft does not have rights to write the tiles in the web-path directory your chose. Another possibility is that you have not filled in tilespath correctly.

If you don't see any players or don't see the players moving, go to http://mywebserver/standalone/dynmap_world.json (where world is the name of your world). You should see some code and hitting refresh every few seconds should change that code (the servertime should be updated). If this file is not there or you don't see the file changing, you likely have filled in the wrong webpath in the configuration.

In Linux, if web-to-mc-chat does not work, you also need to chmod the 'standalone' folder to 775 or 777:

$ chmod -R 775 standalone

This is to allow sendmessage.php to create the jsonfile. This is needed because its your Web Server creating the file and not the minecraft server.

If web-to-mc-chat or login support does not work on IIS, you likely need to install PHP.