I run a server on a dedicated system with 2gb of RAM and is basically barebones except for the MC server with Bukkit, and dynmap. Kept experiencing lag issues when riding on minecarts mostly, which caused some problems with sufficiation and junk as well as just overall annoyance by the players. Running vanilla or running the bukkit build without dynmap installed at all both seem to work just fine, but if I have dynmap operating the lag starts to happen again. I've tried the different resolutions for the map with the same result, including when there is no rendering to be done. Any idea why this would start to happen or what I may be able to do to improve the performance? I am running vanilla atm because of the lag complaints but I love this addon so much I don't want to forego using it.
I run a server on a dedicated system with 2gb of RAM and is basically barebones except for the MC server with Bukkit, and dynmap. Kept experiencing lag issues when riding on minecarts mostly, which caused some problems with sufficiation and junk as well as just overall annoyance by the players. Running vanilla or running the bukkit build without dynmap installed at all both seem to work just fine, but if I have dynmap operating the lag starts to happen again. I've tried the different resolutions for the map with the same result, including when there is no rendering to be done. Any idea why this would start to happen or what I may be able to do to improve the performance? I am running vanilla atm because of the lag complaints but I love this addon so much I don't want to forego using it.
Memory. Dynamic Maps chews up eden space like there was a flood coming.
Here's the command line I use to start up java when doing re-renders of existing worlds
The key point: Allocating 1 gig just to new space, 200 MB per survivor, 600 MB to eden.
Roughly, that means that 100 MB of temporary objects can exist at any time, and every 600 MB of allocation it attempts to determine what temporaries are still in use. If more than 100 MB of temporaries are around, it will start tenuring them. As long as the total temporary is under 200 MB, Java will be happy.
Unrestrained world renders consume this much.
Throttling the renders prevents this, but slows down the rendering too much for me.
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Also crashes on UNIX systems on same FTB world /w dynmap (1.2).
Deleting configuration.txt and running server will crash as soon as someone goes to ServerIp:DynmapPort or tiggers dynmap fullrender world. http://pastie.org/5512075
Disabling ThermalExpansion-2.0.5.zip mod fixes error above.
Is there any fix without disabling ThermalExpansion?
Is there any fix without disabling ThermalExpansion?
No luck reproducing this with current FTB Beta A and v1.2 release code for Forge 6.0.1. Exception shows nothing associated with dynmap. I've rendered 4 newly generated worlds without problems.
Edit: looking at the code throwing the exception (excuse the decompile)
public void onChunkUnload()
{
if (Utils.isClientWorld(this.k)) {
return;
}
if ((this.isNode) && (this.myGrid != null)) {
this.myGrid.myProvider.subtractEnergy(this.lastWriteAverage);
this.myGrid.removeNode(this);
} else {
this.myGrid.removeConduit(this);
}
}
The error is on the 'else' path - his myGrid is null, which he checks for on the 'if' path but then assumes is OK on the other path (so, if myGrid is null, you get an exception). Not sure how or why it would be, but all we do is load and then enqueue an unload - once the unload gets processed, this method gets called and breaks because of that bit of logic. Removing his mod will understandably avoid the problem, but all we're doing is provoking it to show.
The key point: Allocating 1 gig just to new space, 200 MB per survivor, 600 MB to eden.
Roughly, that means that 100 MB of temporary objects can exist at any time, and every 600 MB of allocation it attempts to determine what temporaries are still in use. If more than 100 MB of temporaries are around, it will start tenuring them. As long as the total temporary is under 200 MB, Java will be happy.
Unrestrained world renders consume this much.
Throttling the renders prevents this, but slows down the rendering too much for me.
Not sure about your numbers, and our use of space - I do all testing on VMs with 1GB of heap with no problems on multi-gigablyte worlds with multiple real and simulated users. Using heap isn't using memory - loading lots of chunks generates lots of garbage, which drives the need for garbage collection. The JVM doesn't tend to waste time collecting garbage when it hasn't exhausted memory, so it'll accumulate until it does.
Not sure about your numbers, and our use of space - I do all testing on VMs with 1GB of heap with no problems on multi-gigablyte worlds with multiple real and simulated users. Using heap isn't using memory - loading lots of chunks generates lots of garbage, which drives the need for garbage collection. The JVM doesn't tend to waste time collecting garbage when it hasn't exhausted memory, so it'll accumulate until it does.
There are two different types of heap space -- new, and tenured -- and they behave differently.
Collecting tenured space is expensive.
Collecting new space is cheap.
New space itself is broken up into eden and survivor.
You want eden to be big enough for all the temporary junk.
Making eden bigger does not make collections take longer. It just reduces the frequency of collecting new.
Once eden fills up, new is collected. Now you want survivor to be big enough for all surviving junk.
Once survivor fills up, objects are sent to tenured.
You do not want temporary junk in tenured.
The bigger tenured is, the longer it takes to collect the garbage there.
The JVM doesn't tend to waste time collecting garbage when it hasn't exhausted memory, so it'll accumulate until it does.
Which tells me you're using the default, throughput collector -- which will put your entire server on "hold" during collections.
Once you get a collection that takes 30 seconds or more (I saw 90 seconds once), everyone is disconnected.
To avoid that "put the world on hold", you want to use CMS. That can do garbage collections at the same time the world is running -- so now Java tries to do the collections before it runs out, instead of waiting until the last moment.
Warning: According to the docs at Oracle, unwanted early promotion of temporaries to tenured in CMS collections are more expensive than with the standard throughput collectors. CMS collection has more overhead, does more work, but can use all your cores, and from my testing (small server, 4 users top) has better performance for Minceraft.
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
We do process the X-Forwarded-For header, but we don't trust it if it is coming from a server that isn't local (since a user can provide a bogus X-Forwarded-For field as easily as a legitimate proxy can). I'll look at adding an option to provide a whitelist of proxy addresses.
Did you get a chance to look at this yet?
Rollback Post to RevisionRollBack
HappyDiggers is a small Minecraft community with several different servers: Adventure, Arena PvE, Feed The Beast, Skyblock, Small World, Towny, Prison, Vanilla and Snapshot.
Dynmap is running great. I am getting some weird stuff though.
1. Sometimes players are shown at the spawn and their position never updates or it can also get stuck somewhere and then never update again. Reconnecting to the server does not solve this, only a server restart does. This seems to happen after the player dies and respawns. After that their location icon is permanently at spawn until server restart.
2. The nether map is not slicing. I have the maximumheight setting to 70 (default was 127 and didn't work with that either). Yet it still renders without slicing.
Hey, this plugin looks fantastic, i just wanted to ask what you would recommend your server's specs be to run this plugin without lag issues? From common sense and what ive read in the reply section it seems fairly server-intensive. My favorite server has an online map extremely similar to the kind in the screenshots, but it's less feature-rich and only gets updated once a month if you're lucky because the server owner does it manually with another program that apparently makes his computer nearly unusable for at least a day. Assuming the server can handle it without lag this looks like a fantastic plugin to add.
Hey, this plugin looks fantastic, i just wanted to ask what you would recommend your server's specs be to run this plugin without lag issues? From common sense and what ive read in the reply section it seems fairly server-intensive. My favorite server has an online map extremely similar to the kind in the screenshots, but it's less feature-rich and only gets updated once a month if you're lucky because the server owner does it manually with another program that apparently makes his computer nearly unusable for at least a day. Assuming the server can handle it without lag this looks like a fantastic plugin to add.
If you were reading my reports of slow performance ignore them. Dynmap does not lag the server or cause any performance issues. My problem was actually ExtraBiomesXL (which is now fixed in a patch).
Hellos! awesome mod btw:) been using for a long time. I do have a question, its there a way to tell dynmap not to render mystcraft worlds? i only want main world nether and twilight forest to render.
thxs in advance
/manu
Best thing to do is to set your good worlds to explicitly use the template you want them to use (assuming they are doing so) by setting them in worlds.txt, and then switch 'deftemplatesuffix' to something bogus. This will cause new worlds to get a 'null' template, preventing any maps from being associated with them.
Dynmap is running great. I am getting some weird stuff though.
1. Sometimes players are shown at the spawn and their position never updates or it can also get stuck somewhere and then never update again. Reconnecting to the server does not solve this, only a server restart does. This seems to happen after the player dies and respawns. After that their location icon is permanently at spawn until server restart.
2. The nether map is not slicing. I have the maximumheight setting to 70 (default was 127 and didn't work with that either). Yet it still renders without slicing.
Best thing to do is to set your good worlds to explicitly use the template you want them to use (assuming they are doing so) by setting them in worlds.txt, and then switch 'deftemplatesuffix' to something bogus. This will cause new worlds to get a 'null' template, preventing any maps from being associated with them.
Let me ask a different version of that:
Lets say I have different sets of templates for different types of Mystcraft ages (no cave maps if the world doesn't have caves, or a different set if it's a caveworld (nether-like), etc)
How would I tell it which set of templates to use for each age?
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Hey, this plugin looks fantastic, i just wanted to ask what you would recommend your server's specs be to run this plugin without lag issues? From common sense and what ive read in the reply section it seems fairly server-intensive. My favorite server has an online map extremely similar to the kind in the screenshots, but it's less feature-rich and only gets updated once a month if you're lucky because the server owner does it manually with another program that apparently makes his computer nearly unusable for at least a day. Assuming the server can handle it without lag this looks like a fantastic plugin to add.
Depends more on the size of your server for other reasons (e.g. number of players and the associated mods). I do all testing on a virtual linux machine with 1GB configured for the JVM heap ( -Xmx1024M ), usually with 5 simulated users. The biggest 'lag' component (which we cannot specifically control) is the lag associated with loading chunks - running with your world data on a slow hard drive is bad for MC in general, and worse with us banging around asking for chunks beyond what your players need. You can gate the impact of us loading chunks (at the expense of render speed) by setting the 'maxchunkspertick' setting down to lower numbers - this will, as its name implies, keep us from trying to load more than N chunks during the same tick. The other popular option, when doing fullrenders, is to set 'fullrenderplayerlimit' to non-zero: this will cause fullrenders to suspend when the number of logins is at or above the setting (e.g. 'fullrenderplayerlimit: 1' would make it suspend fullrenders whenever 1 or more players are logged in).
Lets say I have different sets of templates for different types of Mystcraft ages (no cave maps if the world doesn't have caves, or a different set if it's a caveworld (nether-like), etc)
How would I tell it which set of templates to use for each age?
Logically, any defined world will have a default set of settings, derived from the template that is associated with its environment type (normal, nether, skylands) - the settings are inherited from the template of the same name as the environment, by default
How is "environment" determined?
If I could get it to tell that age #13 is a nether style cave world, and use that ...etc.
With regard to the dmap commands:
When any of the editing commands are used, the existing configuration will be transferred into the 'worlds.txt' file (whether or not the existing maps were based on worlds.txt or on the default templates). New worlds will still be initialized using templates, but once the configuration has been migrated to 'worlds.txt', further updates to the templates will not automatically be reflected to the existing worlds.
I'm almost always going to want worlds to use templates. I might want to have something in addition to a template, but the idea of "I've fixed a template, but world X based on that template won't see my update" makes it a no-go for me. So the dmap commands are just out. (Yes, I already tried them, found that they didn't listen to updates to the templates, and wound up having to toss and restart.)
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Hey, I'm a new user here (Minecraft 1.4.5 and dynmap 1.2, Forge 6.4) and just testing out on a SMP game running locally, with the local dynmap web server. When browsing to the local server ,http://localhost:8123, I get a completely black/blank screen. Viewing source shows that the server is running and serving the home page, and I can browse to the subfolders and pull up the .js and .css files without a problem.
Everything seems to be installed and configured correctly, the mod works and I ran a full update within my world. The tiles are created correctly in the /web/tiles/<world> folder, and indeed I can browse to the /tiles folder and confirm that the server is running and has access to the appropriate folders.
The problem seems to be a JavaScript error or something that I can't seem to track down, there's just nothing that gets rendered in the web browser. Thanks for all your work and support for this mod but any help would be greatly appreciated!
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Alright, do you have any sort of blocking software?
Noscript, or anything of that kind?
Which browser are you using?
No blocking software/add-ons of any kind, can duplicate the problem in both Chrome 23.0.1271.97 m and IE9 (fully updated) and browsing to the machine from Safari on an iPhone. Same black screen, title of the page comes up as you'd expect "Minecraft Dynamic Map" but nothing displayed.
I should mention, this is with vanilla 1.4.5, tried with both an existing world after running a full render, and starting a new world completely from scratch. The tiles are being created just fine, just nothing is served up.
One wrinkle is that I have my Minecraft folder in a non-standard location, using MagicLauncher and a custom APPDATA environment setting. But since the webserver is obviously able to access its files and the tiles directory I assume that the path isn't the problem since the relative paths seem to be working?
i just sent you a PM having only 5-10 chunks show up, is this normal or am i doing something wrong? O_o
82.46.48.195:8123
youll see what i mean
http://pastie.org/pr...g0oqaidj3xyd2qq
this is the error i'm getting spammed with, have no idea what its related to.
i think its something to do with forge.
cheers
Mike.
Memory. Dynamic Maps chews up eden space like there was a flood coming.
Here's the command line I use to start up java when doing re-renders of existing worlds
http://pastebin.com/YyZv40z1
The key point: Allocating 1 gig just to new space, 200 MB per survivor, 600 MB to eden.
Roughly, that means that 100 MB of temporary objects can exist at any time, and every 600 MB of allocation it attempts to determine what temporaries are still in use. If more than 100 MB of temporaries are around, it will start tenuring them. As long as the total temporary is under 200 MB, Java will be happy.
Unrestrained world renders consume this much.
Throttling the renders prevents this, but slows down the rendering too much for me.
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Is there any fix without disabling ThermalExpansion?
Edit: Thanks for the response, really love dynmap
www.darkserver.co.uk - check out our minecraft servers!
No luck reproducing this with current FTB Beta A and v1.2 release code for Forge 6.0.1. Exception shows nothing associated with dynmap. I've rendered 4 newly generated worlds without problems.
Edit: looking at the code throwing the exception (excuse the decompile)
The error is on the 'else' path - his myGrid is null, which he checks for on the 'if' path but then assumes is OK on the other path (so, if myGrid is null, you get an exception). Not sure how or why it would be, but all we do is load and then enqueue an unload - once the unload gets processed, this method gets called and breaks because of that bit of logic. Removing his mod will understandably avoid the problem, but all we're doing is provoking it to show.
Not sure about your numbers, and our use of space - I do all testing on VMs with 1GB of heap with no problems on multi-gigablyte worlds with multiple real and simulated users. Using heap isn't using memory - loading lots of chunks generates lots of garbage, which drives the need for garbage collection. The JVM doesn't tend to waste time collecting garbage when it hasn't exhausted memory, so it'll accumulate until it does.
There are two different types of heap space -- new, and tenured -- and they behave differently.
Collecting tenured space is expensive.
Collecting new space is cheap.
New space itself is broken up into eden and survivor.
You want eden to be big enough for all the temporary junk.
Making eden bigger does not make collections take longer. It just reduces the frequency of collecting new.
Once eden fills up, new is collected. Now you want survivor to be big enough for all surviving junk.
Once survivor fills up, objects are sent to tenured.
You do not want temporary junk in tenured.
The bigger tenured is, the longer it takes to collect the garbage there.
Which tells me you're using the default, throughput collector -- which will put your entire server on "hold" during collections.
Once you get a collection that takes 30 seconds or more (I saw 90 seconds once), everyone is disconnected.
To avoid that "put the world on hold", you want to use CMS. That can do garbage collections at the same time the world is running -- so now Java tries to do the collections before it runs out, instead of waiting until the last moment.
Warning: According to the docs at Oracle, unwanted early promotion of temporaries to tenured in CMS collections are more expensive than with the standard throughput collectors. CMS collection has more overhead, does more work, but can use all your cores, and from my testing (small server, 4 users top) has better performance for Minceraft.
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Did you get a chance to look at this yet?
HappyDiggers is a small Minecraft community with several different servers: Adventure, Arena PvE, Feed The Beast, Skyblock, Small World, Towny, Prison, Vanilla and Snapshot.
I just tried banning my own IP. It seems like I can still access the dynmap even after an IP ban :/
1. Sometimes players are shown at the spawn and their position never updates or it can also get stuck somewhere and then never update again. Reconnecting to the server does not solve this, only a server restart does. This seems to happen after the player dies and respawns. After that their location icon is permanently at spawn until server restart.
2. The nether map is not slicing. I have the maximumheight setting to 70 (default was 127 and didn't work with that either). Yet it still renders without slicing.
Here is an image of how it is rendering without slicing: http://gyazo.com/1b6...9fe2cf24e896b89
If you were reading my reports of slow performance ignore them. Dynmap does not lag the server or cause any performance issues. My problem was actually ExtraBiomesXL (which is now fixed in a patch).
Best thing to do is to set your good worlds to explicitly use the template you want them to use (assuming they are doing so) by setting them in worlds.txt, and then switch 'deftemplatesuffix' to something bogus. This will cause new worlds to get a 'null' template, preventing any maps from being associated with them.
1) I'd need to know about your configuration
2) How did you set the maximum height?
Let me ask a different version of that:
Lets say I have different sets of templates for different types of Mystcraft ages (no cave maps if the world doesn't have caves, or a different set if it's a caveworld (nether-like), etc)
How would I tell it which set of templates to use for each age?
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Depends more on the size of your server for other reasons (e.g. number of players and the associated mods). I do all testing on a virtual linux machine with 1GB configured for the JVM heap ( -Xmx1024M ), usually with 5 simulated users. The biggest 'lag' component (which we cannot specifically control) is the lag associated with loading chunks - running with your world data on a slow hard drive is bad for MC in general, and worse with us banging around asking for chunks beyond what your players need. You can gate the impact of us loading chunks (at the expense of render speed) by setting the 'maxchunkspertick' setting down to lower numbers - this will, as its name implies, keep us from trying to load more than N chunks during the same tick. The other popular option, when doing fullrenders, is to set 'fullrenderplayerlimit' to non-zero: this will cause fullrenders to suspend when the number of logins is at or above the setting (e.g. 'fullrenderplayerlimit: 1' would make it suspend fullrenders whenever 1 or more players are logged in).
To be explicit, you can manually set the template for the world name corresponding to each age in 'worlds.txt' OR do so by using the /dmap command (see https://github.com/webbukkit/dynmap/wiki/World-and-template-settings and https://github.com/webbukkit/dynmap/wiki/Configuring-Maps-and-Worlds-using-dmap, respectively).
My configuration.txt is default EXCEPT for the following value:
tiles-rendered-at-once: 4
From testing it a bunch, it seems like it stops updating a players location, health, and armor after they die and respawn.
I set the maximum height in the nether.txt with this line:
maximumheight: 70
With everything set at the defaults, it does not render the nether sliced.
I am using dynmap 1.2 and forge 6.4.1.430
Oh and also, I am assuming this is being caused by the world gen and has nothing to do with dynmap right? >> http://gyazo.com/ae1ecfca67bb0c47cc708ce728173752
Ok:
How is "environment" determined?
If I could get it to tell that age #13 is a nether style cave world, and use that ...etc.
With regard to the dmap commands:
I'm almost always going to want worlds to use templates. I might want to have something in addition to a template, but the idea of "I've fixed a template, but world X based on that template won't see my update" makes it a no-go for me. So the dmap commands are just out. (Yes, I already tried them, found that they didn't listen to updates to the templates, and wound up having to toss and restart.)
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Everything seems to be installed and configured correctly, the mod works and I ran a full update within my world. The tiles are created correctly in the /web/tiles/<world> folder, and indeed I can browse to the /tiles folder and confirm that the server is running and has access to the appropriate folders.
The problem seems to be a JavaScript error or something that I can't seem to track down, there's just nothing that gets rendered in the web browser. Thanks for all your work and support for this mod but any help would be greatly appreciated!
Noscript, or anything of that kind?
Which browser are you using?
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
No blocking software/add-ons of any kind, can duplicate the problem in both Chrome 23.0.1271.97 m and IE9 (fully updated) and browsing to the machine from Safari on an iPhone. Same black screen, title of the page comes up as you'd expect "Minecraft Dynamic Map" but nothing displayed.
I should mention, this is with vanilla 1.4.5, tried with both an existing world after running a full render, and starting a new world completely from scratch. The tiles are being created just fine, just nothing is served up.
One wrinkle is that I have my Minecraft folder in a non-standard location, using MagicLauncher and a custom APPDATA environment setting. But since the webserver is obviously able to access its files and the tiles directory I assume that the path isn't the problem since the relative paths seem to be working?
Still waiting for a response here.
Also: I noticed Vanilla walls(cobblestone walls ect.) are not showing up on dynmap. Are they not yet supported?