[INACTIVE][MISC] BananaMapRender 1.6 - generate a flatmap image render of your world [1000]

Discussion in 'Inactive/Unsupported Plugins' started by codename_B, Jun 3, 2011.

  1. Offline

    codename_B

    [​IMG]
    [​IMG]
    BananaMapRender
    a lightweight dynmap alternative - fater than ever

    Features:
    • Player names and faces on a map
    • ZOOMING!
    • Gorgeous map rendering
    • Monsters on a map
    • Monster spawners on map
    • Signs on map if the first line of the sign is [BMR]
    • Shows time of day
    • Super light on resources
    • Super fast rendering
    • Full multithreading support
    • Worldguard Regions
    • Worldborder borders (circle and square)
    • Permissions support
    • Configure everything the way you want it
    • MultiWorld support
    • Toggleable icons
    [​IMG]
    Version: 1.6
    Download: Download Link
    Commands: /bmr [value between 1 and 4] /bmr length
    Example Render: Here

    Instructions: These assume that you are running BukkitHTTPD as the web server on your host. If this is the case you don't need to change anything. Otherwise, please configure the correct directory for your web server install.

    • Place in plugins/ folder along with all the included libs and extra folders in the zip. The plugin will not create its own if these do not exist!
    • Start the server, then type bmr 1 into the console - wait for this to complete then continue running your server as normal!
    • Players will automatically generate the entire map over a period of weeks as they explore it, but if you wish, you can forcefully render areas of the map using /bmr in-game.
    • Navigate to http://yourip/worldname/
    • If you wish to have certain signs displaying on the map - have the first line of the sign be
    Code:
    [BMR]
    this
    is a
    sign
    Some more information:
    • The plugin keeps each 512px tile for 1 hour after creation. After this they are flagged for updating, either by your players as they wander around your map, or by you using /bmr [value]
    • Each bmr value is equal to (mcregion file+1)^2 so be careful when using large values as bmr 10 renders over 5k by 5k tiles!
    • The plugin will print a report when it is done rendering. It will look something like this.
    Code:
    2011-08-04 14:31:37 [INFO] Map rendering: 1 1 DONE
    2011-08-04 14:31:37 [INFO] Rendering complete: Took 190s to complete : 288 chunks rendered in total
    
    Live Examples:

    [​IMG]

    Credit Where Due:
    • clone1018 for minotar.net
    • Nijikokun for suggestion I use leaflet as the map system, and for the css and coding help
    • Demonen for all the testing and for writing a couple of functions for me
    • All the folks on the United Banana Empire for being super patient with me as I tested this plugin
    • Protected for doing a complete rewrite of some of my code for 0.3 - thankyou so so so much - I don't know what I'd do without you on my team! ^^
    • K900 for all his anti-noob nyan work :)
    Coming soon: progress on GitHub

    • Fun filters (not done)
    • Fix wierd chrome bugs (possibly done)
    • Flash based site (partially done)
    Changelog:

    • 0.0.1 - 01/06/2011 - released privately to beta testers.
    • 0.1 - 04/06/2011 - released publicly after adding lots of shiny features.
    • 0.2 - 06/06/2011 - implemented multiworld and added more entities.
    • 02.1 - 07/06/2011 - implemented biomes, changed mob formula, changed how ice looks to be more "icey" added sign and mob spawner display.
    • 1.0 - 09/06/2011
    • 1.1 - 15/06/2011 - added all sorts of anti-noob nyanerry - thanks K900!
    • 1.2 - 19/07/2011 - removed NMS references - increased performance - hopefully fixed sign bug
    • 1.5 - 04/08/2011 - new index.html - new rendering method - new chunksnapshot method increased performance - decreased lag
    • 1.6 - 16/08/2011 - reordered rendering logic, cleaned up memory leak, took out the cat, introduced the neighbors to my girlfriend, slowed down rendering so you don't even notice its happening when the server is running. Also it's a lot prettier.
     
  2. Offline

    codename_B

    Yah - if you're doing funny directory stuff you'll need to make sure you have full write access to the folder ^^
     
  3. Offline

    godsyn

    Request: js 'fix' for max-zoom out level if world-border is enabled.
     
  4. Offline

    codename_B

    Explain. You can change the js zoomout level to whatever you want in the index.html, very very easily.
     
  5. Offline

    Nikademus

    This did the trick. Thanks.
     
  6. Offline

    K900

    Guess I'll try to add some more foolproofness there :) Just need to check if it throws the same exception on Unix
     
  7. Offline

    Donny

    Code:
    Not Found
    
    The requested URL /world was not found on this server.
    Apache/2.2.14 (Ubuntu) Server at minecraftsmp.mine.nu Port 80
     
  8. Offline

    codename_B

    You're pretty damn good at this foolproofness stuff K900 :p far better than I

    Yeah, looks like you don't know what you're doing.

    Did you set the config to the correct directory?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  9. Offline

    Donny

    [noob]
    I just reread your main post. At first I thought it meant to redirect it at the folder I created inside plugins for the world map I named mine "world". But now after rereading it it means to have it send it to the /www/ folder?
    Isn't the www folder located under var? id put "/var/www/world/"?
    [/noob]

    oh, is there any way to reload your plugins config? Or will that need a restart?
     
  10. Offline

    codename_B

    That's correct, if you want it accessible on the www, send it to the www folder.
     
  11. Offline

    ewized

    Could you make it that i dont render pass the world border that would be awsome thanks
     
  12. Offline

    thyme4soup

    i think i have it all set up correctly, no error messages, but i cant connect. is there a place where i have to set the ip in the config file?

    ok, now i think im connecting to it alright but i get this error message on the console

    21:26:11 [SEVERE] java.io.IOException: Bad packet id 71
    21:26:11 [SEVERE] at net.minecraft.server.Packet.a(Packet.java:78)
    21:26:11 [SEVERE] at net.minecraft.server.NetworkManager.g(NetworkManager.java:149)
    21:26:11 [SEVERE] at net.minecraft.server.NetworkManager.c(NetworkManager.java:259)
    21:26:11 [SEVERE] at net.minecraft.server.NetworkReaderThread.run(SourceFile:84)
    21:26:11 [INFO] /192.168.1.1:40933 lost connection

    and it says in firefox:

    The connection was reset

    The connection to the server was reset while the page was loading.

    The site could be temporarily unavailable or too busy. Try again in a few
    moments.
    If you are unable to load any pages, check your computer's network
    connection.
    If your computer or network is protected by a firewall or proxy, make sure
    that Firefox is permitted to access the Web.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  13. Offline

    codename_B

    Have you setup the webserver correctly? You don't connect via your browser to the ip of the minecraft server, which it looks like you're doing, and if you're asking for help with the webserver - this is the wrong place, you should be asking on the BukkitHTTPD thread :)

    Hi, you can configure the max render size in config.yml - what seems to be the problem?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  14. Offline

    godsyn

    Any chances of making "[BMR]" configurable? I'd prefer to use "[MAP]", and it would be easier for my users to remember.
     
  15. Offline

    codename_B

    :confused:
    The source code is there, if it's really such a big issue, change what you need to change and compile your own version.
     
  16. Offline

    ewized

    i just have a very small map at 300 block from the spawn and are decidable possable
     
  17. Offline

    codename_B

    are decidable is possible.

    Just let the tiles render themselves - rather than rendering with a command. You can always delete any that go too far out for your liking.

    New version is out!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  18. Offline

    K900

    I'll add a hack today. Just got some free time. Btw, permissions already in the new version?
     
  19. Offline

    codename_B

    XD tis indeed, tis indeed.
     
  20. Offline

    K900

    Regex support for signs just in. More in the code and config.yml
     
    godsyn likes this.
  21. Offline

    codename_B

    Ok, I will test these changes lots and then push to v1.1.1
     
  22. Offline

    Insidiea

    Code:
    2011-06-15 15:14:33 [INFO] Insidiea used command "/bmr 1"
    2011-06-15 15:14:34 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'bmr' in plugin BMR v1.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:128)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:281)
        at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:718)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:684)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:677)
        at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:217)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:401)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:311)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.NoClassDefFoundError: [[Lorg/bukkit/ChunkSnapshot;
        at com.ubempire.render.BananaMapRender.prepareRegion(BananaMapRender.java:147)
        at com.ubempire.render.BananaMapRender.onCommand(BananaMapRender.java:202)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
        ... 12 more
    Caused by: java.lang.ClassNotFoundException: org.bukkit.ChunkSnapshot
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 15 more
     
  23. Offline

    godsyn

    Thank you!
     
  24. Offline

    codename_B

    Oh dear, looks like someone isn't using bukkit 860 or above - and as such - no support can be given :S
     
  25. Offline

    noahwhygodwhy

    is this like dynmap? if so is it lighter? if not, what's different?
     
  26. Offline

    codename_B

    Much lighter - hence why it's titled "a lightweight alternative to dynmap"...

    [​IMG]

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  27. Offline

    Insidiea

    okay lol, thanks, but i just see a few .pngs and players.js and a world.js apache style
     
  28. Offline

    noahwhygodwhy

    sigh,,,i'm sorry, i was under quite a lot of drugs, legal amounts of legal pain killers, no one panic. and i wasn't thinking quite right. sorry
     
  29. Offline

    FrenchTart

    The error shown in the code below I've resolved now - this was caused by installing the updated BMR, which changes the main .jar file name. Make sure you remember to delete the old file :)

    Code:
    2011-06-16 11:41:13 [SEVERE] Error occurred while enabling BMR v1.1 (Is it up to date?): tried to access field com.ubempire.render.IdToColor.plugin from class com.ubempire.render.BananaMapRender
    java.lang.IllegalAccessError: tried to access field com.ubempire.render.IdToColor.plugin from class com.ubempire.render.BananaMapRender
    	at com.ubempire.render.BananaMapRender.onEnable(BananaMapRender.java:65)
    	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:125)
    	at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:799)
    	at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:253)
    	at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:140)
    	at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:118)
    	at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232)
    	at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219)
    	at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    	at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    edit: Ah.. the plugin filename changed and I didn't notice. That error is sorted but I'm still getting permission denied errors despite 777 attributes on all the files/directories.

    I'll try manually creating the files it's failing to create (player.js and world.js noticed so far) and 777ing them.

    Running ubuntu + apache btw.
     
  30. Offline

    codename_B

    Its ok :)
    Looks like you've got two copies of the plugin running - that's what that error means.
     
  31. Offline

    FrenchTart

    Yeah..I should've edited out the error code. If you look at my message beneath it you'll see that I've overcome that problem now and have another :) I'll edit my post to make it more obvious - leaving the error code in in case someone else has the same issue.
     

Share This Page