WorldBorder
Further releases for Spigot 1.13+ are now being posted on the Spigot site. I do not plan to release any further updates here on BukkitDev.
- Full list of Commands and Permissions
- Changelog
- Further Miscellaneous Information
- Source available on GitHub
- Old discussion on main Bukkit forum
If you appreciate this plugin and actually want to see it developed further by me rather than only receiving compatibility updates, you are welcome to
.
Thanks to the following people who have been kind enough to donate: jonDatz, xrobau, Gussi, Dizzy, R. Meijer, FoundationCraft, T. Bronner, R. Thompson, The Pokemon Server, legitplay.net, D. Senff, Vik1395, TagCraftMC, D. Strickner, M. Wilson, Rhythmatic, W. Downey, P. V. Gretener, MiniCraft Server, Cosmic Craft, ScarcityFree.com, polaris_iv (Forge port), matagin, T. Ahokas.
Also thanks to IMathe172I (Lang Lukas) for contributing code to support elliptic and rectangular border shapes, and Indiv0 for contributing code to support border wrapping.
Description
This plugin is intended to efficiently provide a border for each of your worlds, which only people granted special bypass access are allowed beyond. These borders can be round/elliptic or square/rectangular. As the plugin has been written with performance as the most important goal, it should have no performance impact on your server. Additional world trimming and filling commands are available as well.
Older plugins which originally inspired the creation of this one: rBorder and BorderGuard.
Features
- You can set up a separate border for each world, but only one border per world.
- You can have either round/elliptic or square/rectangular borders. Square/rectangular borders are slightly higher performance, round/elliptic borders make for nicer display maps. Different worlds can have different border shapes if you so choose.
- Configuration and border setup is done completely using commands in-game or through the server console. No need to ever edit the config file directly.
- Support for all permission plugins which interface with Bukkit's built-in "superperms" permission system.
- You can fully generate (fill) your world all the way to the border, filling in any missing chunks, including a configurable buffer zone just outside your border.
- You can trim off any world chunks beyond the border, getting rid of extraneous parts, with a configurable buffer zone left just outside your border.
- You can use a bypass command to allow specific players to go beyond all borders.
- Borders can be automatically displayed in DynMap if you use that plugin.
- All plugin data is automatically saved whenever any borders or settings are changed.
- If a player crosses a border while in a vehicle, the momentum of the vehicle is stopped and it is moved back inside the border with the player.
- When a player is moved back inside a border, they will be moved to a safe vertical location if needed.
- Borders for specific worlds can be set to wrap around instead of just knocking back players who cross the border, instead sending them to the opposite edge of the border.
English Tutorial:
Spanish Tutorial:
Of special interest are the Fill command and the Trim command features:

Borders are also displayed automatically by default in DynMap if you have it:


-
View User Profile
-
Send Message
Posted May 14, 2012@Brettflan
But it would be very very important for us. Don't you think you can do it please?
Its enough if just define minX, maxX, minZ and maxZ in the console. I tried to change the code myself but the trim class does not work and its hard for me to understand the rest.
-
View User Profile
-
Send Message
Posted May 14, 2012@Baba43
Sorry, not planned.
-
View User Profile
-
Send Message
Posted May 13, 2012@Brettflan
Hey could you make rectangles possible?
-
View User Profile
-
Send Message
Posted May 12, 2012@GokouZWAR
The amount it waits for is 500 MB, so I can see that would be a problem in your case. I can hardly imagine trying to run a Minecraft server with only 512 MB memory in the first place.
I could allow the memory limits to be changed for the Fill process, but doing so would make it very likely that you'd end up with an OutOfMemory crash if you set the limits to be more permissive like you want.
-
View User Profile
-
Send Message
Posted May 12, 2012I'm having issue with the plugin restarting after saying it has a low memory. I think it attempts the cleanup process but it doesn't ever restart after memory is freed up I am using a very low memory server, (512mb) but it runs fine up till it gets below about 200mb of free memory. When memory returns to somewhere in the 300s it doesn't restart again. I'm forced to continously restart my server to restart it.
Could you at least fix that or make it so we can set the minimum memory requirements so it doesn't shut off so fast for us low memory servers?
-
View User Profile
-
Send Message
Posted May 7, 2012:'( that sucks. Oh well:(
-
View User Profile
-
Send Message
Posted May 7, 2012I have an unfortunate announcement: since I've just closed down my own Minecraft server for various reasons (mostly boiling down to me not having enough time to devote to it), most of my motivation for working on Bukkit plugins is now gone. I most likely will not be actively developing any plugins I'm involved in from this point on. However, I still plan to maintain all plugins as needed for new Bukkit releases and minor bugfixes and such, I just probably won't be adding any major new features or answering much in the way of support questions.
The source will remain available for all plugins, and I'd welcome anyone to take up active development. For Factions, Cayorion / Olof (the original author and still constant contributor for the plugin) will of course remain to develop the plugin and will continue to run the Massivecraft server.
If anyone really wants a particular feature added to one of the plugins I've worked on, I will still consider doing sponsored feature requests; no promises, of course.
Also, for Factions, I plan to try to make sure the 1.7 branch is ready before halting active development on it. There will also be at least one more 1.6.x release before then, probably quite soon. So, this announcement is a bit in advance of me ceasing active development on Factions.
Sorry, guys. Again, I will at least try to bugfix and maintain my plugins for Bukkit updates, but that's about it.
-
View User Profile
-
Send Message
Posted Apr 29, 2012@ccman972
I know of no reason unless something else killed the border checking task or you're running a custom server implementation (maybe Tekkit or similar) that isn't handling server-synchronized thread execution properly or something like that.
A couple of others have reported a similar problem, though I've had no luck in figuring out what other plugin or custom server or whatever might be causing it.
Is the problem consistent? If so, please use /wb debug on and then have someone cross the border and check the server console/log to see what if anything is output. If nothing is output, that in itself would be useful to know as it would indicate the border checking task is indeed not running on your server.
Either way, please post your CraftBukkit build or custom server you're using, and the list of plugins you run on your server.
For reference, someone else having that problem intermittently:
http://dev.bukkit.org/server-mods/worldborder/?comment=205
-
View User Profile
-
Send Message
Posted Apr 27, 2012@cal_97g
It might be when it's generating strongholds and/or abandoned mines or something like that. I don't know for sure since I haven't looked into how the Minecraft world generation code actually works or what the bottlenecks and memory hogs would be.
@piousminion
You can pause/unpause the fill process whenever you want, like it tells you when you run the command. I don't really have time to add in any automatic system to try to detect when your system is busy or whatever.
-
View User Profile
-
Send Message
Posted Apr 27, 2012Any chance you could add a feature to pause the fill command until under a certain limit of players on online? It would be best for me to generate chunks while the server isn't busy.
-
View User Profile
-
Send Message
Posted Apr 26, 2012@Brettflan
Alright thanks, the amount of memory used however seems to skyrocket at certain points in the filling processes.
-
View User Profile
-
Send Message
Posted Apr 26, 2012@cal_97g
Yes, it is. Generating new world chunks requires a substantial amount of memory. Blame Notch if anything since it's his world generation code; he seems to make a good target for blame, anyway.
-
View User Profile
-
Send Message
Posted Apr 26, 2012Hi there, is there a reason your plugin takes up so much RAM on filling a world, is it supposed to?
-
View User Profile
-
Send Message
Posted Apr 25, 2012@JoneKone
What do you mean? People lingering near the edge of a round border shouldn't be stressing your system. The methods and algorithms used are quite efficient.
As I've mentioned before a few times, back when I did some efficiency testing to compare WorldBorder and BorderGuard (finding WorldBorder to be more efficient, of course), I found that a round border took only slightly more time to handle than a square one. This included testing where I moved around near the edge (mainly tested using a player in a minecart on a track with boosters to move them around, but also tested in other situations like constantly trying to cross the border and simply standing still near the center and near the edge). That's why I changed the default border shape to round instead of square, since there was only minimal overhead in processing time.
-
View User Profile
-
Send Message
Posted Apr 25, 2012@Brettflan
"round" world would be nice.. But when ppl start to linger in the edge's of the world and tp arround like what ever.. It becomes a CPU taxing feature :(
It should be a core feature on MineCraft.
-
View User Profile
-
Send Message
Posted Apr 24, 2012@Gravemind2401
That would require monitoring every block change event and checking to see whether each one is inside the border. That would add a fair bit of overhead and potentially contribute to lag. So, not planned, sorry.
@CosmicVoyager
That's a possibility which is still on the table, but it would potentially be confusing to players and CraftBukkit doesn't (or didn't?) handle such long-range teleports into unloaded chunks very well.
@thedazs
If there are no errors reported in your server log, it shouldn't be the fault of WorldBorder.
@hawkfalcon
The fill process uses Bukkit's built-in methods for loading and generating chunks. If there is a problem with the generated chunks, look to CraftBukkit or whatever custom server you're using (Tekkit/CraftBukkit/whatever).
-
View User Profile
-
Send Message
Posted Apr 24, 2012/fill corrupted my world>.< Oh well,I needed a wipe anyway... NOTE: It was a 1.1 map, I think thats why.
-
View User Profile
-
Send Message
Posted Apr 24, 2012@Brettflan
Yes, I do mean Dynmap. Most of the tiles are rendered blank and my map shows as much (as well as the actual files). Also, the fill process is far too quick (gets done in about 15 minutes, but should take hours).
-
View User Profile
-
Send Message
Posted Apr 24, 2012It would be cool if you could make it so that when someone reaches the border they are teleported to the opposite side.
-
View User Profile
-
Send Message
Posted Apr 23, 2012would you be able to make it so no blocks outside the border can be changed?