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 Dec 6, 2013@CollinDesigns
Did you run it in-game or from the server console? You should get progress reports from whichever one you used the command from.
Other than that, no idea. I don't recall anybody else having ever reported a problem like that and I can't think of any reason it might have such a problem.
-
View User Profile
-
Send Message
Posted Dec 6, 2013@Brettflan
Any idea what can cause it then? Its neither showing ingame progress :s
-
View User Profile
-
Send Message
Posted Dec 6, 2013@CollinDesigns
There hasn't been any change to how the Fill process outputs progress messages.
-
View User Profile
-
Send Message
Posted Dec 6, 2013I'm running a fill command in my 1.7 world but i don't see any update on how much % is done in the console like i did when i did this in 1.6.4.
And i can't stay in game since i crash though server doesn't.
Any idea what i need to do?
-
View User Profile
-
Send Message
Posted Dec 6, 2013@CloudKidZ
Setting the borders up like that between normal and nether worlds does work to line them up with each other, yes.
Even if they manage to create a portal that would lead outside the border, by default WorldBorder will move the target location for the portal to the closest spot inside the border. Additionally any attempts to teleport outside the border are likewise redirected inside the border, and any movement outside the border will of course "knock the player back" inside the border.
-
View User Profile
-
Send Message
Posted Dec 5, 2013I had a quick question. How do make the border in the overworld and the nether match up. Do you just divide by 8, make a portal at spawn, go to the nether and set a 8x smaller world border there?
I'm just wondering if a player could use the nether to bypass the overworld border. Say on a factions server, go far in the nether, portal to the overworld, now you're outside the world border and can build an unraidable base.
Has anyone tested this?
I appreciate your help, and echo the others that the fill command is a huge time-saver for server owners!!
Misty HadesPortal.com
-
View User Profile
-
Send Message
Posted Dec 5, 2013This plugin is an absolute must for world size management. The fill command is a godsend. Thanks for making my life as a server admin so much easier!
-
View User Profile
-
Send Message
Posted Dec 4, 2013Thank for this plugin. Very usefull to generate new map 1.7.2 without any chunk bug !
-
View User Profile
-
Send Message
Posted Dec 3, 2013Huge Thank You to Brettflan for such a simply beautiful and effective (and intuitive to modify) plugin :)
Also, Thanks to stgram. That did it. It worked! You rock!
-
View User Profile
-
Send Message
Posted Dec 3, 2013Sweet! I got the re-compile to work. Now it does 20 instead of 6 :) Wooot! My first ever Java edit. (beyond hundreds of YML configs lol)
Ok , trying the structure fix...
-
View User Profile
-
Send Message
Posted Dec 3, 2013@stgram
Ok that is twice I've been told that. I'm gonna listen and try it :)
Thank you. I shall let you know.
-
View User Profile
-
Send Message
Posted Dec 3, 2013@PunJedi
Today might be your lucky night. Try this: Move to spigot and set save-structure-info to false. It is a known bukkit flaw, and this fixes it. ;)
-
View User Profile
-
Send Message
Posted Dec 3, 2013@Brettflan
We have an issue with our members generating land and world save dropping all clients. It is like the server is fine and saying "where did everyone go? I was just doing a world save, that's all". Everyone can quickly rejoin and we go about our business. As a fix I do /save-off and every 30 minutes run the save-all , drops everyone, comes back, /save-off repeat.
We have a worldborder of 20,000 so to thwart the drops from world saves we decided to white list server locking everyone out, and run the wb fill. It's been 6 hours now and we are at 21%
If I could get it to run more than the default 6 chunks then save, we could get more generated between the "safety saves". I am aware of the risks that extending or disabling that feature incurs. Just would be cool like, maybe in the config we could set a range of that world-save you have, from like 1 to 50.
I also did exactly as you said but couldnt get the jar to load. I have never messed with java like that before so it was a surprise I made it that far. Sorry for the long response, and thank you for your plugin
-
View User Profile
-
Send Message
Posted Dec 3, 2013@PunJedi
What do you mean about world save being buggy? Please elaborate if possible. It's there for two main reasons, by the way: to save occasionally so that only limited progress is lost if there's an error during generation, and to prevent memory from slowly getting overloaded as can happen if the Minecraft server is constantly generating world chunks without any reprieve.
Your source edit to change the saving interval should work, but rather than trying to replace just the one file in the existing JAR you should build the project (generally best practice to right-click the project in the left list and choose "Clean and Build") and let Netbeans generate a fresh JAR file.
-
View User Profile
-
Send Message
Posted Dec 3, 2013I have our server whitelisted so it can just generate a ton of chunks. Problem is, world save is buggy. I disabled world save so I can just run the world gen (I dont care about "just to be safe") Is there any way to let it just chunk gen and not world save on its own?
Never really messed with java but I tried to edit this line
go ahead and save world to disk every 30 seconds or so, just in case; can take a couple of seconds or more, so we don't want to run it too often if (reportCounter >= 6)
So that if (reportCounter >= 6) would read if (reportCounter >= 20)
I compiled the source project but got fail when I try to replace the WorldFillTask.class inside the WorldBorder.jar.
Using netbeans and no experience :)
-
View User Profile
-
Send Message
Posted Dec 3, 2013Awesome, definitely. Thanks a lot.
-
View User Profile
-
Send Message
Posted Dec 2, 2013I would like to say thank you @Brettflan for the amazing work and dedication put into this plugin. Thank you for providing thousands of servers including mine with this amazing server side feature of a plugin. :)
-
View User Profile
-
Send Message
Posted Dec 2, 2013@stgram
Right. Set a border to cover the area you want filled, then run the Fill command. Note that it does add a padding of 208 blocks beyond the border edge by default (to account for player view range).
Afterwards if you don't need a border maintained you can of course safely remove the plugin.
-
View User Profile
-
Send Message
Posted Dec 2, 2013@Brettflan
But I guess I should first setup a border, then generate, then delete the border? I see no argument for radius directly to the fill command. You could add that to a future release. :)
-
View User Profile
-
Send Message
Posted Dec 2, 2013@stgram
Yes, you can use the Fill command for that.