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 Jul 3, 2013Yeah, so horses can bypass the border, effectively making this plugin useless now.
-
View User Profile
-
Send Message
Posted Jul 3, 2013@Plyskeen
I did say I'll look into it soon in relation to horses; in case it wasn't clear, I'll be checking all vehicle types.
-
View User Profile
-
Send Message
Posted Jul 3, 2013Do you plan to fix the "Could not pass event PlayerTeleportEvent" issue ?
You can reproduce the boat dupe bug by trying to pass the limit on a boat.
It's critical IMO and I need to know if I stay with WB or try an other border system temporarily.
-
View User Profile
-
Send Message
Posted Jul 3, 2013@Disconsented
Well obviously you now have at least one issue relating to insufficient RAM, and I did point you to the official CraftBukkit wiki article regarding memory requirements. Sorry, but the problem is clearly on your end.
-
View User Profile
-
Send Message
Posted Jul 3, 2013@Brettflan
I am using MCPC+ and have yet to have any issues relating to RAM nor can I get more due to budget constraints :)
-
View User Profile
-
Send Message
Posted Jul 3, 2013@Disconsented
CraftBukkit servers should have a bare minimum of 768 MB memory, with at least 1 GB recommended.
http://wiki.bukkit.org/Administering_A_Craftbukkit_Server#Pick_your_Operating_System.2C_Memory.2C_and_RAM.21
-
View User Profile
-
Send Message
Posted Jul 3, 2013@Brettflan
My server only has 512 MB allocated to it and usage hovers at around 300MB (+/- 50MB) so I cannot run the task due to not enough memory not being available.
-
View User Profile
-
Send Message
Posted Jul 3, 2013@Disconsented
The Fill should run regardless and actually work more smoothly with nobody on the server. What problem are you actually having?
-
View User Profile
-
Send Message
Posted Jul 3, 2013Is it possible to force the fill to run when there are no players around? The way the server is setup the fill command cannot run otherwise.
-
View User Profile
-
Send Message
Posted Jul 2, 2013@SPUK1
Not WorldBorder, whatever the case. It would be down to CraftBukkit.
-
View User Profile
-
Send Message
Posted Jul 2, 2013What it could be, that is after the trim all the animals gone?
-
View User Profile
-
Send Message
Posted Jul 2, 2013@Plyskeen
Probably the same as the horse error.
@pookshuman
A chunk can't be trimmed if it's in visual range of a player on the server. It needs to be unloaded if it's in memory before it can be trimmed. Further, generally if that fails (like if you're standing next to it) you would get an error during the Trim process.
-
View User Profile
-
Send Message
Posted Jul 2, 2013@Brettflan
I was not using dymap when I used the trim command. I was standing next to the chunks that should have been trimmed. Here is a full walkthrough: I disabled dynmap, restarted my server, trimmed the chunks with /wb world_nether trim 200 0 and then after it said it was complete I flew around and saw structures that were created by players in chunks that should have been trimmed. I saw this with the client, not dynmap.
Also, here is a looooong error
I don't know what event is causing it. Possibly horses. http://pastie.org/8105731
-
View User Profile
-
Send Message
Posted Jul 2, 2013@Brettflan
Same bug with latest Craftbukkit dev build.
-
View User Profile
-
Send Message
Posted Jul 2, 2013I still need to check into riding horses across the border.
@SPUK1
This plugin doesn't interact with mobs in any way, except when one is ridden across the border by a player.
@pookshuman
It works. Perhaps you're using dynmap and are unaware that you need to restart your entire server and run a fullrender in dynmap afterward to get it to properly show those chunks as being gone?
@Plyskeen
Spigot and other custom Bukkit builds aren't officially supported. They often have bugs and problems not present in CraftBukkit and I have no interest in keeping up with them.
-
View User Profile
-
Send Message
Posted Jul 2, 2013Not trimming with 1.6 dev build of bukkit
The command works, and it says "x number of chunks trimmed" but it is not actually working. The chunks are not being trimmed
-
View User Profile
-
Send Message
Posted Jul 2, 2013I can confirm crash bug when using a horse to cross the border: 2013-07-02 21:54:21 [SEVERE] Could not pass event PlayerTeleportEvent to WorldBorder v1.7.2 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463) at net.minecraft.server.v1_6_R1.PlayerConnection.a(PlayerConnection.java:453) at net.minecraft.server.v1_6_R1.EntityPlayer.enderTeleportTo(EntityPlayer.java:785) at net.minecraft.server.v1_6_R1.EntityLiving.l(EntityLiving.java:1064) at net.minecraft.server.v1_6_R1.EntityHuman.setPassengerOf(EntityHuman.java:308) at net.minecraft.server.v1_6_R1.EntityPlayer.setPassengerOf(EntityPlayer.java:466) at org.bukkit.craftbukkit.v1_6_R1.entity.CraftEntity.leaveVehicle(CraftEntity.java:385) at com.wimbli.WorldBorder.BorderCheckTask.checkPlayer(BorderCheckTask.java:62) at com.wimbli.WorldBorder.WBListener.onPlayerTeleport(WBListener.java:21)
-
View User Profile
-
Send Message
Posted Jul 2, 2013@JDawgss
It's pretty much working on 1.6.1. However, you might want to prevent people from using horses, as they can be used to bypass the border.
-
View User Profile
-
Send Message
Posted Jul 2, 2013I got this when trying to pass the limit on a boat :
[SEVERE] Could not pass event PlayerTeleportEvent to WorldBorder v1.7.2b org.bukkit.event.EventException
Then tons of boats spawns in the water, emergency fix is needed I think.
Spigot 1.6.1 and WB 1.7.2b.
-
View User Profile
-
Send Message
Posted Jul 2, 2013@JDawgss
Working fine on 1.6; You should be okay :)