[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

    minechomp

    so can others view it from thier browser?
     
  3. Offline

    codename_B

  4. Offline

    minechomp

  5. Offline

    codename_B

    Awesome :)
     
  6. Offline

    Flafla2

    Is this compatible with CB Version 928(I think thats the number)? It is the latest recommended build.
     
  7. Offline

    deseven

    Hey, thanks for the plugin.
    I have some strange problem with signs. I created 3 signs with "[BMR]" and placed 'em at some random places.
    Sometimes i see them all on the map, but sometimes don't. Sometimes there are only one or two visible.
    Server logs are clean. CB version 860.
     
  8. Offline

    codename_B

    It only shows if the chunks are loaded by the server at that particular time. Otherwise there is no way to access the data on the unloaded chunks.

    Are YOU compatible?

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

    deseven

    That's bad :(
    Okay then, can you please make a user command for adding some map-side signs? For example "/mapsign My Home". And maybe some limits for signs/user.
     
  10. Offline

    codename_B

    Why is it bad? It's all dynamically generates. I can add a way to keep the chunk loaded easily.
     
  11. Offline

    deseven

    I just want to make the map more informative. Persistent signs can clarify many things for new (and old) users (where to go, what to see, etc).
     
  12. Offline

    codename_B

    So keeping chunks generated is fine?
     
  13. Offline

    deseven

    Maybe... But what about memory consumption? How about to keep only those chunks that have signs inside? Or even create simple database with existing signs as plaintext?

    Something like that:
    find a sign - add it to db with unique id (block coordinates?) - at the next chunk generation check whether to keep this sign or not.
     
  14. Offline

    codename_B

    Thats exactly what I meant.
     
  15. Offline

    lawl0r

    Great work your doing here, using BananaChunk for quite some time now. However I've installed BananaMapRenderer now and it works fine so far, except for one thing: I don't see a worldguard region overlay. It's enabled in the config an I don't get any errors. Any idea?
     
  16. Offline

    BBFPaco

    Awesome plugin. A few issues I noticed:

    1. High RAM use. The RAM use jumps up from around the usual ~200MB with 1 player on the server to ~900+. Not good. This is after me running around, warping a couple times, and coming back to where I started. I don't think we ever have 900+MB in use though with only one player on the server. Does it use RAM when generating the map, including areas I had warped to?

    2. Pictures spawn more pictures.....really odd issue where placed pictures on the wall will start spewing out picture items. I ran around and collected a ton, same issue is recurring but I'm not sure what triggers it.

    3. The worldboarder border or map doesn't seem to line up. I think part of the map just wasn't generated at the top:

    [​IMG]
     
  17. Offline

    zonedabone

    Any chance this could support Factions?
     
  18. Offline

    codename_B

    Sure! What kind of support? Just a message saying factions is installed?
     
  19. Offline

    zonedabone

    I was thinking something similar to worldguard and borders support. Perhaps outline faction territory, as well as safe and war zones?

    That would be amazing, especially if each territory were labeled.

    Perhaps have:
    Safe zones filled with semi-opaque green.
    War zones filled with semi-opaque red.
    Faction Territory filled with semi-opaque blue.

    Lol thing is if you do this people will demand towny support. :eek:
     
  20. Offline

    codename_B

    Does factions store data in yml?
     
  21. Offline

    zonedabone

    Sadly, it uses a JSON file for storage. (Who doesn't use yml in bukkit =0)

    There may be some sort of api exposed, even if it's not supported. I'll check out the source and see if anything pops out.

    It looks like it keeps a map of integers and factions, which it then saves to and loads from a json file. static Factions holds the map, so it seems like you could just import the class and use null checks to ensure it's actually there.

    To get the faction at a chunk, maybe something like this?
    PHP:
    Faction faction Board.getFactionAt(new FLocation(chunk.blockAt(0,0,0)));
    It looks like all the classes are public, so it shouldn't be too hard to get the info.

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

    RG_PankO

    @zonedabone couldn't find any instructions what to do if I have apache installed and I want people to view the map through it.

    Also I pasted everythink in the plugin directory and couldn't run the map even locally.

    Tried to run Minecraftserver\plugins\BMR\template\index.html, but nothing there, just parts of the design.

    In the 1st post is said that if we have apache we have to chagne the config - but which config and what line wasnt sepcified.

    And even if I have the apache installed why can't I see the map with the BukkitHTTPD from the .rar file?
     
  23. Offline

    andrewpo

    Config:
    Show Spoiler
    ##############################################################
    ### BananaMapRender configuration file - Review carefully! ###
    ##############################################################

    attribution: 'Nyan.'

    #Directory tiles world folders are placed in.
    directory: '/etc/apache2/htdocs/public_html/mcmaps'

    #Amount of rendering threads used to generate the tiles. Lower if your server is being overwhelmed.
    #Never make it greater than the amount of physical cores in your CPU or CPUs.
    max-threads: 1

    #Maximum amount of rendering tile radius
    #Each one of these corresponds to an .mcregion file - so be careful with making it huge!
    #/bmr 4 does 2k blocks!
    max-render: 2

    #Amount of hours it takes for a tile to expire and require an update.
    expiration-hours: 1

    #How often, in minutes, should expired tiles with players in them be updated.
    tile-checker-frequency: 5

    #How often should all the markers in the map be updated, also in minutes.
    marker-updates-frequency: 1

    #Show tiles to represent night?
    night-tiles: false

    #WorldBorder integration
    worldborder:
    enable: false
    color: '#ff0000'
    opacity: 0.5
    fill-opacity: 0.0

    #WorldGuard integration
    worldguard-regions:
    enable: true
    color: '#0033ff'
    opacity: 0.5
    fill-opacity: 0.1

    #Entity marker options
    entities:

    #Blanket enable or disable entities. Disable here for maximum efficiency.
    #Must be enabled for all the other options in this block to work.
    enable: false
    #How many mobs to mark in each chunk (don't set this too high or the viewer will be slow).
    max-per-chunk: 3

    #Enable or disable each type of mob separately if you want:
    mobs:
    Pig: true
    Cow: true
    Sheep: true
    Chicken: true
    Creeper: true
    Skeleton: true
    Spider: true
    Zombie: true
    Wolf: true
    PigZombie: true
    Ghast: true
    Slime: true
    Squid: true
    #Enable or disable player position markers
    players: true
    #Enable or disable player name popups when the markers are clicked (requires player markers)
    player-popups: true
    #Enable or disable tamed wolves. If this is enabled, tamed wolves always show, they have a
    # different icon (red collar) and you can click them to see the name of their owner.
    tamed-wolves: true
    #Tile entity marker options
    tile-entities:

    #Blanket enable or disable tile entities. Disable here for maximum efficiency.
    #Must be enabled for all the other options in this block to work.
    enable: false
    #How many tile entities to mark in each chunk (don't set too high or the viewer will be slow).
    max-per-chunk: 3
    #Show creature spawners?
    spawners: false
    #If creature spawners are enabled, this is the chance of them actually showing.
    spawner-chance: 0.2
    #Show BMR signs? BMR signs are signs with [BMR] in the first line. Clicking the icon will
    #display the sign contents.
    signs: true

    alias:
    # You can alias world just like this
    world: 'MCPortal Creative'
    hide:
    # Names of people who won't be shown on the map. Good for NPCs and stealth guys.
    EzioAuditoreDaFirenze: true


    What did I do wrong? :'(

    Bukkit 953,
    BMR 1.1

    Thanks
     
  24. Offline

    zonedabone

    I don't dev this plugin, but you need to set the directory in the config to the absolute path to your www folder. (Or wherever you want it on your website)
     
  25. Offline

    Pencil

    I don't think you plan on adding anything besides a flatmap? Like an actual 3d map like dynmap has? :3
     
  26. Offline

    andrewpo

    I have D:
     
  27. Offline

    WiteBoy

    Hi, I'm running my server on LAN (without internet access) and the plugin works great, except that it obviously can't connect to minotar.net :( so now all players and NPCs have that placeholder icon.

    Would it be possible for the plugin to obtain these images from a folder inside the plugins/BukkitHTTPD/ directory? There aren't many players on the server so it should be easy to set up each player's avatar manually :)
     
  28. Offline

    bar7737

    I can execute bmr when I first start my server and no one has logged in, the web url displays my map just fine, my problem is:

    -once live, the map does not update
    -once live, i can not execute bmr from console or ingame, i get this console error:

    05:56:14 [INFO] Starting map render
    05:56:14 [INFO] Start copying template files...
    05:56:14 [INFO] Done copying files.
    05:56:14 [WARNING] Unexpected exception while parsing console command
    org.bukkit.command.CommandException: Unhandled exception executing command 'bmr' in plugin BMR v1.1
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:290)
    at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:480)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:465)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.NoSuchFieldError: g
    at com.ubempire.render.BananaMapRender.getChunksInUse(BananaMapRender.java:160)
    at com.ubempire.render.BananaMapRender.prepareRegion(BananaMapRender.java:166)
    at com.ubempire.render.BananaMapRender.onCommand(BananaMapRender.java:237)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    ... 6 more

    Here is my config:
    ##############################################################
    ### BananaMapRender configuration file - Review carefully! ###
    ##############################################################

    attribution: 'Nyan.'

    #Directory tiles world folders are placed in.
    directory: 'plugins/BukkitHTTPD/'

    #Amount of rendering threads used to generate the tiles. Lower if your server is being overwhelmed.
    #Never make it greater than the amount of physical cores in your CPU or CPUs.
    max-threads: 1

    #Maximum amount of rendering tile radius
    #Each one of these corresponds to an .mcregion file - so be careful with making it huge!
    #/bmr 4 does 2k blocks!
    max-render: 5

    #Amount of hours it takes for a tile to expire and require an update.
    expiration-hours: 2

    #How often, in minutes, should expired tiles with players in them be updated.
    tile-checker-frequency: 15

    #How often should all the markers in the map be updated, also in minutes.
    marker-updates-frequency: 20

    #Show tiles to represent night?
    night-tiles: false

    #WorldBorder integration
    worldborder:
    enable: false
    color: '#ff0000'
    opacity: 0.5
    fill-opacity: 0.0

    #WorldGuard integration
    worldguard-regions:
    enable: false
    color: '#0033ff'
    opacity: 0.5
    fill-opacity: 0.1

    #Entity marker options
    entities:

    #Blanket enable or disable entities. Disable here for maximum efficiency.
    #Must be enabled for all the other options in this block to work.
    enable: false

    #How many mobs to mark in each chunk (don't set this too high or the viewer will be slow).
    max-per-chunk: 3

    #Enable or disable each type of mob separately if you want:
    mobs:
    Pig: false
    Cow: false
    Sheep: false
    Chicken: false
    Creeper: false
    Skeleton: false
    Spider: false
    Zombie: false
    Wolf: false
    PigZombie: false
    Ghast: false
    Slime: false
    Squid: false

    #Enable or disable player position markers
    players: true

    #Enable or disable player name popups when the markers are clicked (requires player markers)
    player-popups: false

    #Enable or disable tamed wolves. If this is enabled, tamed wolves always show, they have a
    # different icon (red collar) and you can click them to see the name of their owner.
    tamed-wolves: false

    #Tile entity marker options
    tile-entities:

    #Blanket enable or disable tile entities. Disable here for maximum efficiency.
    #Must be enabled for all the other options in this block to work.
    enable: true

    #How many tile entities to mark in each chunk (don't set too high or the viewer will be slow).
    max-per-chunk: 3

    #Show creature spawners?
    spawners: false

    #If creature spawners are enabled, this is the chance of them actually showing.
    spawner-chance: 0.2

    #Show BMR signs? BMR signs are signs with [BMR] in the first line. Clicking the icon will
    #display the sign contents.
    signs: true

    alias:
    # You can alias world just like this
    world: 'Miners Haven'

    hide:
    # Names of people who won't be shown on the map. Good for NPCs and stealth guys.
    EzioAuditoreDaFirenze: true


    Anyone else experience this? I am running BukkitHTTPD.
     
  29. Offline

    noahwhygodwhy

  30. Offline

    andrewpo

    Similar problem (See my post on page 9 of this topic)
     
  31. Offline

    oliverw92

Share This Page