Discussion in 'Archived: Plugin Releases' started by Brettflan, Apr 4, 2011.
For more info, head over to the WorldBorder page on BukkitDev.
ok tested and does can you add perm nodes to allow certain poeple to cross the border
very useful plugin if ^^ added will be amazing
Not planned, sorry.
this works great, thanks! Was using BorderGuard, but when you have more then 2 worlds, it keeps removing random entries in the config causing your borders to disappear. 5 worlds strong, all working as intended!
oh right :/ thanks anyways
Can you make it configurable so that certain users can bypass the border?
Just realized you said that wasn't planned. You should really consider it, it is the only reason why I do not use this border plugin.
The primary purpose of this plugin is to prevent your worlds from growing past a certain size and being Columbus-ed to death. Allowing certain users past the border seems to defeat that purpose. Further, and perhaps more importantly, having it discriminate between users would take more computation on every single border check, and this plugin is also geared towards speed (being lower impact / higher performance than BorderGuard "Turbo", no matter what tripe the author of it would have you believe).
I switched from borderguard lite to this about 5 days ago. Today the borders stopped working, no errors, nothing. I,ll let you figure out what happened after that. Switched back to borderguard, which ive never had issues with.
actually i just planned to switch to worldborder because i have the exact same issue u are currently having with borderguard...
both plugins have the same flaw?
Did you update CB, or any other plugins? 5 days ago was pre-1.7.3 and things could have changed in the code.
But on the same note, I am having no issues with everything up date (CB 974)
I havent updated anything except minor changes in a few plugins. If you read back this issue was reported before.
I'm running this plugin on a 400+ server.
I use WorldBorder on my own server (which frequently maxes out at 30 players on at a time) and I've never had the borders crap out on it.
A report of "they just go away" isn't particularly useful. If you run the /wb list command, does it still list your borders? Does an error show up in your server console/log?
Thanks for this handy plugin!
@Brettflan, Are you aware of this severe error?
I haven't seen any problems caused by it, but... I suppose it's worth another minor release:
The next planned release will have a command which generates all missing map chunks inside the border. That will take a bit of work, so no promises on when it'll be ready.
After that I'll be working on a command to trim off chunks which are outside the border. Definitely no promises there.
The fill functionality is coming along very nicely. I've got it fully working now, though it needs a bit more polishing and dummy-proofing before I release it.
Once consideration (possibly just a quirk of the c10t map utility I use), which you'll notice happens in normal circumstances on the very edges of maps as they grow from user exploration: snow does not appear to load/display initially. It is in fact there and will show up when a player is exploring and gets close enough to the area, but before a player gets anywhere near the area it will not be shown. You can tell areas that should have snow by where ice is.
So anyway, here's an example of a newly created map with a 512 radius round border set. No players ever actually stepped foot into it, and the new fill command was run on it from the console with default settings. The default fill settings include a 176 block padding added to the radius, so players shouldn't normally ever be able to see far enough beyond the displayed edges to generate new chunks. Anyway, before and after:
Before ......................... After
You can clearly see in the "After" image that certain details aren't initially shown (snow, trees, flowers, etc.); they are there, as mentioned it just doesn't show up until a player gets close. It seems like the generation process doesn't add those details yet with the Bukkit function I'm using. There may be other details which are likewise not shown until a player gets near. Not sure why it does that. I probably won't be able to, but I'll try to find a way around that minor nuisance.
EDIT: by the way, it'll probably be another couple days or so before I release it, just so you guys have an estimate.
Well, good news. I figured out how to get the server to properly populate the newly generated terrain with trees, snow, ponds, etc.
Here's another 512 radius round border as an example, the Before image being freshly generated and the After image being just after the fill command has completed:
Before ......................... After
For a small 512 radius round border like the one above, on my VM system running at the highest rate possible, it takes about a minute to complete at roughly 77 chunks processed per second (5183 chunks had to be generated for the above world). The rate at which it generates is configurable though, so you can for example run it on a live world at a lower rate to hopefully not cause much if any lag for your players.
Of course, with larger borders and with lower generation rates, it can potentially end up taking quite a lot of time to complete.
So, I've got it basically completely working with all desired features, but I want to give it one final lick of polish before releasing it. Seeing as I'm tired of messing with it for today, I should be releasing it tomorrow.
That's completely awesome! There is an external program that edits the level.dat file, changes the spawn point and then starts and stops the server to cause it to generate data, but it has to (obviously) be run offline. This would run right in-game and could be set to run while the server is actually live! I love it!
that would be greatly appreciated. I have trouble using the offline program and would love to get rid of those pesky randomly generated chunks way outside borders
Well, small speed bump: I've found that there appears to be a memory leak in the chunk generation process in Bukkit. It's not hugely noticeable normally, but when you're rapidly generating tens of thousands of chunks, that's when it really becomes noticeable.
On my VM with 1 GB of memory allocated to CraftBukkit (2 GB memory total available to the VM), the fill process would crash with an OutOfMemoryError at a bit over 24000 chunks processed. That's with it unloading chunks as it went along and with no more chunks currently loaded when it died than a fresh world (only 560 chunks constantly loaded, actually, while a fresh normal world starts with 625 chunks loaded). That's also with the world and player data being forcibly saved to disk every 10 seconds. I even tried getting the system to do garbage collection every 10 seconds with no better result. It just runs out of memory.
What specifically indicates it's a memory leak in the Bukkit chunk generation process? If I start the server back up after it crashes and run the fill process again, it loads and unloads existing chunks at a very fast rate and with no change in memory usage until it gets out to where it needs to actually generate new chunks again, then the same steady memory drain happens again.
So, the long shot: I need to work on it a bit more so that it hopefully can detect when it's about to run out of memory, notify you of the fact, and temporarily stop the fill process. I then hope to have it store its fill progress to the configuration file so that after you restart the server, you can have it continue where it left off.
Annoying but sadly necessary.
OK then, the Bukkit team seem to have fixed the memory leak, but the fill process was still managing after a while to use memory faster than Java's garbage collector could clean up after it, eventually leading to an OutOfMemoryError (as before).
I have it monitoring memory usage now though, and if the available memory drops below 100 MB, it will automatically pause the process. It will then automatically continue if/when available memory gets back above 500 MB.
Also, as planned, if it's in the process and you shut the server down, it will automatically continue around where it left off.
So, all that done and fairly thoroughly tested on several worlds (one of them partially filled, the rest brand new): 1.3.0 is incoming in the next couple of hours.
Very much looking forward to the update!
OK then, here you go.
So, say you want to fill in the world "world" as quickly as possible, out to whatever sized border you have set on it: /wb world fill 1000
It will tell you a bit about what it's doing, and require you to confirm that you want it to begin. You can also pause and cancel the process.
Hey I don't know if this has been done yet but,
a staffmember of mine came up with the idea that the border at one side of the map teleports you to the otherside of the map. I believe terraria also does it like that (not sure). Some kind of loop, I hope you understand what I'm talking about ^^.
Would it be possible to add this feature in the future?
Whenever I type /wb fill it just brings up the help page. Any reason why?
I've considered it in the past, but it seemed to me that it would be pretty jarring to suddenly teleport to completely different terrain, perhaps dropped into water or conversely moved from swimming/boating onto dry land. Probably not going to happen, but... it's a remote possibility.
I'm currently working on other projects (Factions at the moment, mostly), but pretty soon I'm going to look at proper world trimming to complement the fill functionality. That one I expect to be a real struggle, since I'll likely end up trying to come up with my own world data file editing method.
Since I haven't seen any bug reports, can I assume that the fill command is working perfectly for everyone, then?
EDIT: of course as soon as I write that, one shows up.
Are you sure you're running 1.3.0? It shows the help page if it doesn't recognize the command.
I am unable to fill my world because the world name has a space in it. Can this be fixed? Thanks
For the time being, simply go to the world in question in-game and run the command without specifying a world.
I'll see about adding support for entering a world name inside quotation marks (i.e. "World Omega" with the quotation marks).
Separate names with a comma.