[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

    Why not put the html there yourself?
     
  3. I had exactly the same problem and the solution was easy:
    Not only /bmr 1,
    /bmr 1 <WorldName>.
    So delete the folders in the bukkitHTTPD folder again, log on your server and do:
    /bmr 1
    <wait>
    /bmr 1 hunt
    <wait>
    /bmr 1 gay
    <wait>
    :)
     
  4. Offline

    codename_B

    TYVM :D

    New unreleased render technique: opinions? http://tetragaming.com/codename_B/dev/BMR-new/

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  5. Looks really nice so far.
    Would you tell us the (minecraft) IP/Host this is running at? I think it would be better to compare in game and BMR renderers. I tested 3 different hosts you posted somwhere and none seems to be online. :(

    //EDIT: And I have a feature request: Instead of painting the void white make it transparent. Because I don't want a white universe: http://minecraft.trihs.de:8107/space/ :D
    I will make a feature request for BukkitHTTPD, too, please read both because: Maybe you could use the script language to paint the color representating the worlds environment/time (the sky color). I think that would be a good void, too.
     
  6. Offline

    neo6633

    How can I use /bmr command at the other world.
     
  7. /bmr <radius> <worldname>
     
    codename_B likes this.
  8. Offline

    buscommando

    I get this big error mess after a few hours of uptime, and then the BMR web front end stops updating and sometimes my players can't log in to the bukkit server. I don't know if it's related, but even with 1.5 my players get kicked off when the map renders.

    my plugins are:
    commandbook
    worldedit
    minecart mania
    permissionsbukkit
    superpermsbridge
    deathnotifier
    BMR

    The server is an athlon X2 with 4 gigs of ram. The server OS is 32 bit Ubuntu 11.something Server. I'm using official JRE, not a wacky open source equivalent.

    PASTEBIN LINK TO BUKKIT OUTPUT:
    http://pastebin.com/S99Dv8AB

    Here's a short preview (though the pastebin url goes on for several screenfuls)

    Code:
    2011-08-07 01:15:40 [SEVERE] java.io.IOException: No such file or directory
    2011-08-07 01:15:40 [SEVERE]     at java.io.UnixFileSystem.createFileExclusively(Native Method)
    2011-08-07 01:15:40 [SEVERE]     at java.io.File.createNewFile(File.java:883)
    2011-08-07 01:15:40 [SEVERE]     at com.ubempire.render.PlayerScript.updateMapMarkers(PlayerScript.java:65)
    2011-08-07 01:15:40 [SEVERE]     at com.ubempire.render.BananaMapRender$1.run(BananaMapRender.java:93)
    2011-08-07 01:15:40 [SEVERE]     at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137)
    2011-08-07 01:15:40 [SEVERE]     at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:438)
    2011-08-07 01:15:40 [SEVERE]     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    2011-08-07 01:15:40 [SEVERE]     at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-08-07 01:15:40 [SEVERE] java.io.FileNotFoundException: /home/user/8085/craftyserve/belchknife/players.js (No such file or directory)
     
  9. Offline

    codename_B

    Looks like you configged the directory wrong. This doesn't create the directory for you.

    Any suggestions (codewise or other) that I could overcome incorrectly configured configs?
     
  10. - OpenJDK/JRE is hostet on a oracle side: http://openjdk.java.net/projects/jdk7/
    - It shares much code with the closed JDK/JRE.
    - It's developped by oracle (see wikipedia, it's outdated because sun doesn't exist anymore).
    - OpenJDK 7 is the official JDK reference implementation (see wikipedia).

    But of course it's wacky because it's open source... Why you're using ubuntu? It's open source, too. And minecraft will be open sourced some day, too:
    (From: http://www.minecraft.net/about.jsp )


    @All: Sorry for off-topic but there are things that have to be sayed. :)
     
  11. Offline

    buscommando

    Oh, no worries. I wanted to be specific about that because the minecraft docs specifically say to use the official JRE. I like gnu/linux, but I'm at heart an end-user. I've always had nothing but trouble with the openwhatsits when it comes to Java.

    GNU and free/libre stuff is important to me, but it has to work. If it doesn't work, I'm not going to use it. (or i'll wait until it's matured enough to be useful to me)

    I don't understand. The plugin properly populates the web frontend folder from the template, it properly builds the .png world render images, and they all go in the right place. The web front end works perfectly for hours after a server restart (but less than a day) before I get those errors and the front end no longer updates.

    Additionally, my users are still kicked when any /bmr command is used. I've used /bmr 1 and /bmr 2, because one of my users built a structure far from spawn and the plugin never rendered the section of map he was in. I verified and I'm definitely using the 1.5 plugin.

    I'm going to disable the plugin for now and consider other options while this project matures because I can't risk irritating my players with getting sporadically kicked. Please remove my BMR URL from the live examples at the top of the post.

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

    codename_B

    Oh in that case that's wierd.
    Try creating a blank players.js file?
     
  13. Offline

    buscommando

    I'll try again later tonight after my players have gone to sleep.
     
  14. Offline

    messy

    nice! - i suppose there is no way of blending the "old" new rendering technique with the new rendering technique 40/60 before overlaying? ;)

    that would be even more eyecandy! but this approach generally looks nicer than the old :)
     
  15. Offline

    codename_B

    Nah - I didn't write the old rendering technique so I have NO idea how it works at all :p
     
  16. codename_B: Didn't you see my post here or am I annoying you? :D
     
  17. Offline

    codename_B

    Non-white void isn't a priority.

    Also I don't have a server atm - I'm just starting it up again - so it'll be a wee whilie.
     
  18. Offline

    PaiN_fuL

    I'm a little confused by this. Will this work if my webserver and gameserver are hosted separately?
     
  19. If your gameserver can write to the webservers public directory: Yes.
    If not: Install BukkitHTTPD, too and use a redirector, fetch the output with php, ...
     
  20. Offline

    PaiN_fuL

    Yes it can but I'm confused on how to set it up?
     
  21. plugins/BMR/config.yml
    Code:
    #Directory tiles world folders are placed in.
    directory: 'path/to/the/folder'
    example:
    Code:
    #Directory tiles world folders are placed in.
    directory: '/var/www/minecraft'
    It isn't that hard and the config has helpfull comments. ;)
     
  22. Offline

    codename_B

    I doubt he even looked at the config before asking for help.
     
  23. Offline

    PaiN_fuL

    Yeah I did actually bro so you can take your condescending comments away haha. Anyway how is it going to know where to look if the actual domain isn't listed? Like I said they are hosted on different servers so would I put 'http://www.domain.com/mcmap' if it is listed in that folder?
     
  24. Offline

    codename_B

    No, read the above.
    You would use BukkitHTTPD to make the page externally accessible then iframe it or parse via php.

    @PaiN_fuL

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

    codename_B

    Heh... or you could setup a cronjob to ftp files from the directory this writes to to your ftp - just as easy.
     
  26. We could, yes. Read the small sentence, too:
     
  27. Offline

    alasminara

    So i am confused dose this plugin take the place of you ingame map? and if so I am sorry for my noob ways but i can get it to work right Every time i Type BMR 1 in the concel it sais Unexpected excetion while parsing console command.
     
  28. Offline

    codename_B

    Hi - I'm sorry I don't understand the question.
     
  29. It renders a map which can be shown through a web server. You know google maps? It's like it but better... and it shows the minecraft world, not the real one. Was that what you mean or do you think it replaces what get's painted on the map item ingame?
    Do you try it from the console or ingame? Any errors in the log?

    P.S. Ingame the command is:
    /bmr 1
    or
    /bmr 1 <WorldName>
     
  30. Offline

    Disparate

    Finally got around to trying this over Dynmap. No chat and the players update every week or so? =)

    Thanks but no thanks. Shame as your renderer is more pretty than Dynmap's, but no chat and it not being real-time is just useless
     

Share This Page