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 Apr 28, 2013MCPC+ I have this error:
-
View User Profile
-
Send Message
Posted Apr 27, 2013@Crafter6432
You can specify a higher frequency with the command, as per the info at the first link above.
-
View User Profile
-
Send Message
Posted Apr 26, 2013How can i run /wb fill faster than 20chunks/s ?
-
View User Profile
-
Send Message
Posted Apr 25, 2013@Uberorb
Yes, as you might expect it is: worldborder.*
-
View User Profile
-
Send Message
Posted Apr 24, 2013does worldborder have a superperm.* that gives access to all the commands?
-
View User Profile
-
Send Message
Posted Apr 23, 2013Really helpful plugin.. been using it for god knows how long xD Thanks for keeping it updated
-
View User Profile
-
Send Message
Posted Apr 23, 2013@Bawss_666
See the setcorners command, which takes as input two sets of X&Z corner coordinates.
-
View User Profile
-
Send Message
Posted Apr 22, 2013@Brettflan
I didn't test trim yet but fill is working now. Many thanks!
-
View User Profile
-
Send Message
Posted Apr 22, 2013I love the idea of this plugin!
BUT: Why can't you do so that we would be able to mark 4 points to set the world border?
It would make it a lot easier ;)
Regards, Bawss
-
View User Profile
-
Send Message
Posted Apr 22, 2013Great, thanks a lot!
-
View User Profile
-
Send Message
Posted Apr 22, 2013@mineartofficial
-
View User Profile
-
Send Message
Posted Apr 22, 2013@saxons12
It already does that when checking each player. If a player is in a world with no border set, it moves on to the next player then. The plugin is well optimized already.
If you want to make suggestions you're welcome to look through the source first.
And as I said below, I don't believe WorldBorder is causing any lag on your server in the first place.
The further data you posted shows WorldBorder making no impact on your server with those event listeners either. By the way, I've run it through the "timings" profiler myself a few times as I developed the plugin.
-
View User Profile
-
Send Message
Posted Apr 22, 2013Some simple API for checking if a location/chunk is inside the border would be great.
-
View User Profile
-
Send Message
Posted Apr 22, 2013Here is some more data:
WorldBorder v1.7.1 PlayerTeleportEvent Time: 110802729 Count: 3761 Avg: 29460 Violations: 0 ChunkLoadEvent Time: 17700591 Count: 65011 Avg: 272 Violations: 0 PlayerPortalEvent Time: 172010 Count: 5 Avg: 34402 Violations: 0 Total time 128675330 (0s)
If it helps :)
I am also sending the full reports via PM.
-
View User Profile
-
Send Message
Posted Apr 22, 2013@Brettflan
Hi thanks for the detailed answer. I know that WorldBorder is doing such a good job at resources. But I might have some suggestions, only 1 world has a border on my server out of 6, so it does now have to check coordinates if the player is not in that world. Also i used this command to see if it helps: "/wb delay 20". I will report back.
If you have any other ideas to bring lag down please do share them with me.
Thanks for awsome plugin!
-
View User Profile
-
Send Message
Posted Apr 21, 2013@HermitTurtle
Confirmed, thanks for the report. I'm about to upload a bugfix release for that.
In the meantime, you can make it run correctly if you specify the world name when confirming it, i.e. "/wb worldName fill confirm".
-
View User Profile
-
Send Message
Posted Apr 21, 2013I'm having some issues with the FILL command:
The [worldname] argument seems to get ignored. The command only generates the world I am currently in.
-
View User Profile
-
Send Message
Posted Apr 21, 2013@Puseidr
You can do that using the wshape command to override the default shape for specified worlds.
@saxons12
The plugin is about as high performance as you can get for what it does; it has less impact than other plugins which do the same thing. It should cause no actual lag whatsoever, even on a server with 400 players all on at the same time. With that many players on simultaneously though I'm not surprised you have lag problems.
About your report there, a couple of things:
That shouldn't be causing you lag.
Finally, you can configure the plugin to run the border checks less frequently using the delay command. That probably won't help with your lag problem, but it might be worth a shot anyway. By default the border checking task runs every 5 ticks, so every 1/4 of a second. So for example you could change it to run every 10 ticks (1/2 a second) by:
/wb delay 10
-
View User Profile
-
Send Message
Posted Apr 21, 2013could you add the feature to see the border shape per world? so you can add some round borders and some maps have edged borders?
-
View User Profile
-
Send Message
Posted Apr 21, 2013I really adore this plugin! But ituses too much resources when 400 players are online with Spigot. It is the 5. plugin causing most of the lag at my server. Could you do some performance echantments?
Here is the report from NoLagg examine:
Total duration: 957.826 ms / 6000 ticks Average duration: 0.16 ms/tick Selected task: Task #8 Plugin: WorldBorder Location: com.wimbli.WorldBorder.BorderCheckTask