[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

    ultimak

    heh, I should have played around with it a bit more, thanks!
     
  3. Offline

    codename_B

    Did you get the download of 0.2 with multiworld? :)
     
  4. Offline

    K900

    Sure thing. I even tried wget to get rid of all the caches. Why don't you upload it to dropbox or any other file hosting out there?

    Now I can somehow download the right one.
    But now I get some weird NPE's
    [WARNING] Unexpected exception while parsing console command
    org.bukkit.command.CommandException: Unhandled exception executing command 'bmr'
    in plugin BMR v0.2
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:12
    8)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:2
    73)
    at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:428)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:413)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.NullPointerException
    at com.ubempire.render.PlayerScript.setProp(PlayerScript.java:72)
    at com.ubempire.render.BananaMapRender.onCommand(BananaMapRender.java:20
    6)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    ... 6 more

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

    codename_B

    That's because you didn't change the directory! :D
    I apologise for not idiot-proofing my code fully but I'm not very good at defensive programming yet.

    EDIT: grab the new config folder from the .zip
     
  6. Offline

    K900

    Wait. So that was NOT a relative path? Oh hell.

    It's there. Still NPE.

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

    maystorm

    0.2 is working here now. And I see monsters on the map. :)
     
  8. Offline

    codename_B

    So you have the file plugins/BMR/Config.txt ?

    YAY :D Glad to hear it - enjoy multiworld.

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

    BroodyHenne

    help which directory should i choose?
    keep all as it is?
     
  10. Offline

    K900

    Yep.
     
  11. Offline

    duhfux

    I didn't have the BukkitHTTPD plugin installed, whoops! I have installed it now, but I think I will have problems getting this plugin to work, since my server's address already contains a port.

    If this is not the case, I'll continue trying to set it up. http://109.70.149.178:26965/world that is where it should show up (I will remove the link afterwards)
     
  12. Offline

    codename_B

    It is the port of the BukkitHTTPD plugin you need.

    Install BukkitHTTPD and get it running first, then it's as simple as dragging all of the folders out of the zip and into your plugins/ folder and it will run right away - that's how easy it is!

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

    BroodyHenne

  14. Offline

    codename_B

    Did you move the html out of the example_world folder into your world folder? No you did not.

    Version 0.2.1 is coming - spawner rendering is working just fine :D

    Wow - just accidentally fixed the white dots bug :D

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

    andreblue

    XD thats good right?
     
  16. Offline

    K900

    I have everything set up, it still crashes. 100% sure ;)
     
  17. Offline

    kyle921

    I'd like to request a /bmfullrender command or something similar to render the entire world at once--it would really help with the first render, so that I don't have to run all over the map. ;)
     
  18. Offline

    codename_B

    You can specify a far larger render if you have the hardware - a bmr command isn't limited to 20, that's just the safest way to do it.
    I've successfully done a bmr 100 on an 8gb machine.

    0.2.1 coming later today

    0.2.1 is out!

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

    gchristopher

    We've been testing 0.2.0 and its a really nice plugin! Way to go!

    Here are the notes so far:

    - Interface looks and works great, nice javascript work.
    - No discernable performance cost to using the plugin. Render notices during /bmr command rendering are nice.
    - North needs to be up and not left. That's universal for human-readable maps. Without this fix, every single player that sees the map will point out that it's sideways. (context: our admin team voted against the plugin based on this objection alone.)
    - It seems to be reluctant to map newly explored areas. Frequently player symbols are floating off in unmapped space. Not sure if it's adequately re-rendering areas either.
    - It really needs a way to force a map render of a specified region. That way we could get an initial render of a map without walking around typing /bmr 20 all over the place for hours. Then we could also force map regens during nightly downtime. Something like /bmrender x1,y1,x2,y2 or /bmrender x,y,size to render an area.
    - How do permissions work for the /bmr command?
    - A config setting for render frequency or conditions might be nice. It's hard to tell how old a particular render is, both for specific sections and the map as a whole.
     
  20. Offline

    codename_B

    Alright - thanks for the feedback. Here's some back atcha ;)

    • Thanks, I chose the software for it's super lightweightness.
    • Yep - that's also intentional - however - large renders obviously will freeze up the server - version 0.3b which is coming out tomorrow and relies on the latest CB build fixes this with lovely multithreaded goodness.
    • That's a bigger issue that you realise, and it's related to how the map is rendered. I'm attempting to correct this atm but if my fix doesn't work, it just is never going happen.
    • Chunks will be more happy to update now - in version 0.3b the regions are expanded to match mcregion files - also performance is greatly improved.
    • isOp();
    • Why not look at the file created date, that tells you exactly how old a render is.
    EDIT: Also, it doesn't benefit me in any way if you do or do not use this - but not using it because you're not happy with where "North" is, is a silly reason and you should sack your admins.
     
  21. Offline

    kyle921

    Thanks very much for that. Looks like a great plugin, and I look forward to future updates! :D
     
  22. Offline

    gchristopher

    Thanks for the answers! lt'll be exciting to get the new version!

    If nothing else, I can stop being lazy and just rename and rotate the images as a post-render step. That seems to be all that is required to change the map orientation and can easily be done with off-the-shelf tools.
     
  23. Offline

    kyle921

    Actually, I seem to have a relatively frequent problem with rendering. Here's an example:

    Also, my users are bothering me about disabling the "Starting map render" and other messages. Do you think you could make those only display to the person who issues the command?
     

    Attached Files:

    Last edited by a moderator: May 16, 2016
  24. Offline

    K900

    If anyone here gets the same NPE I did, add a region in WorldGuard. The 0.2 version crashed on empty WorldGuard configs :)
    @codename_B: did you fix it for 0.3?
     
  25. Offline

    codename_B

    That's really not all that's required >.<

    Left will always be north - until I manage to successfully reverse how bukkit does things - in that case I'll release a new custom build of bukkit for this in which north is up - but until that day (probably never) left is north, it just is.
    You're using an old version - time to update to 0.2.1 where that bug was fixed :)
    Those messages don't show in 0.3
    Ermmm... no... no I did not XD
     
  26. Offline

    K900

    Then please fix it :)
     
  27. Offline

    maystorm

    If my memory is not totally wrong, also Notch's ingame map has chosen North to be left. So at least, BMR is compatible with this one.
     
  28. Offline

    codename_B

    Maybe...
    Yeah, notch is lazy, like I was, but then I tried and found it a challenge so I'm keeping going :p
    [​IMG]
    Current progress in the north is up fiasco
     
  29. Offline

    K900

    Guess I'll have to fall back to tectonicus for now :(
     
  30. Offline

    r3xx0n

    Could you make the HTTPD Plugin optional ?

    I do not want to use it because on my server i have apache2 installed, so i want to use apache2 instead.
    When I edit the config and use /var/www as my path it wont work because your Plugin only generates the js files and pngs. When I put the template files into the same folder it works, but the data is not updating and not "live".
     
  31. Offline

    codename_B

    The HTTPD plugin has always been optional and does exactly what apache2 does - the data will not update "live" ever - this is not a "live" map - it's a snapshot map - it presents a snapshot of your server in time - with player and mob positions.
    If you need live updating map, please use dynmap - this is for those who want something a little bit more lightweight.

    Should be fixed in 0.3 (which requires a later build of bukkit)

    BananaMapRender 0.3.7 preview available
    Link to example render
     

Share This Page