UltraBorder
UltraBorder is a server plugin with an optional Fabric client mod. It supports circular or square world borders and freely aligned, two-sided walls.
Features
- One custom border per world:
circleorsquare, with a configurable center and radius. - Any number of named straight or diagonal walls per world.
- Finite or infinite width and finite or full-world height.
- Two-sided collision for movement and teleports.
- Bypass permission:
ultraborder.bypass. - With the client mod: GPU-rendered surfaces using Minecraft's animated vanilla world-border texture and rendering pipeline.
- Rendering up to the client's effective render distance, independent of entity distance and particles.
- Without the client mod: the plugin remains usable and displays particles as a fallback. Square borders still use Minecraft's native world border.
- The client mod can be optional or required by the server administrator.
- Configuration is stored in
plugins/UltraBorder/config.yml. - Command tab completion is included.
Compatibility
- Server: designed for Paper and based only on Bukkit API classes. Spigot should also be compatible, but has not yet been runtime-tested.
- Client mod: requires Fabric Loader and Fabric API versions compatible with the Minecraft version used by the server.
- Players without the client mod may join when
client-mod.requiredis set tofalse.
Installation
- Place the built UltraBorder server-plugin JAR in the server's
pluginsdirectory. - Optionally install the matching UltraBorder client-mod JAR, Fabric Loader, and Fabric API on each client.
- Start or restart the server.
By default, the client mod is optional.
Client Mod Requirement
The requirement can be configured permanently in plugins/UltraBorder/config.yml:
client-mod:
required: false
handshake-timeout-ticks: 100
kick-message: "§cThe UltraBorder client mod is required on this server."
disable-particles-for-modded-players: true
required: false: players with and without the client mod may join.required: true: players without a compatible client mod are disconnected after the handshake timeout.handshake-timeout-ticks: time allowed for the client mod handshake. Twenty ticks equal approximately one second.disable-particles-for-modded-players: disables the fallback particles for players using the client mod.
The setting can also be changed while the server is running:
/ub modrequired <true|false>
This command saves the new value to the configuration file.
Commands
/ub border create <circle|square> <radius> [centerX centerZ]
/ub border center <x> <z>
/ub border radius <radius>
/ub border shape <circle|square>
/ub border info
/ub border delete
/ub pos1 [x y z]
/ub pos2 [x y z]
/ub wall create <name> [infiniteWidth] [infiniteHeight]
/ub wall center <name> <x> <z>
/ub wall infinitewidth <name> <true|false>
/ub wall infiniteheight <name> <true|false>
/ub wall info <name>
/ub wall list
/ub wall delete <name>
/ub modrequired <true|false>
/ub reload
Running /ub pos1 or /ub pos2 without coordinates uses the player's current position. For walls with finite height, the two Y coordinates define the lower and upper edges.
Permissions
ultraborder.admin
ultraborder.bypass
ultraborder.admin: grants access to UltraBorder administration commands. It is assigned to server operators by default.ultraborder.bypass: allows a player to cross all configured borders and walls.
Rendering
The unmodified Minecraft client can natively display only one axis-aligned square world border. Circular borders, diagonal walls, and multiple independent walls cannot be transmitted as native world borders through the vanilla protocol.
The optional Fabric client mod therefore builds circles and walls as world geometry. It uses Minecraft's built-in forcefield texture and world-border rendering pipeline. No particles or entities are used for the modded rendering, so entity distance does not affect its visibility.
Players without the mod receive the server-side particle fallback for circular borders and walls. Collision remains enforced by the server in both cases.
Building
Build and test the server plugin:
mvn test package
Build the Fabric client mod on Windows:
cd client-mod
gradlew.bat build
On Linux or macOS:
cd client-mod
./gradlew build
The build output contains a server-plugin JAR and a client-mod JAR. Their exact names and locations may vary between versions and build configurations.
Example
Create a circular border centered at 0, 0 with a radius of 1,000 blocks:
/ub border create circle 1000 0 0
Create an infinitely wide and infinitely high wall using the player's current positions:
/ub pos1
/ub pos2
/ub wall create middle true true
