// servers

Border & zones

Build a real country border for a Minecraft server: preview it on the map, export WorldGuard regions plus per-ring point files plus a ready-to-deploy Skript, and trim the world so it feels infinite but is bounded to the country. You'll find it under Settings as its own Border & zones card, tagged servers, independent of your render settings.

What it is

Border & zones turns one or more real countries into a playable, bounded server world. It draws concentric rings around the land, writes the WorldGuard regions that enforce where players can build, generates a server-side Skript for the live runtime (titles, kill-zone, wall, particle walls), and can trim world generation to the outer ring so everything past the wall stays ungenerated void. Meld produces the geometry, regions, point data, and trim; the server runs the script.

Zones & owners

A zone is a name, one or more countries, a set of WorldGuard owners, and a colour. Countries are typed in with a typeahead drawn from roughly 258 bundled countries. You can add several zones, for example Romania and Moldova, and Meld treats them as one combined landmass, the clump.

Each zone keeps its own actual border for identity (titles and its own WorldGuard region carrying its owners and members). The buffered soft and hard rings, however, are always built around the union of all zones, so you get exactly one soft ring and one hard wall around the whole clump. The wall never runs between two adjacent countries, only around the combined outer edge. Where two zones touch (for example the Romania/Moldova Prut river line), Meld draws an internal line instead.

The rings

Once you preview, the rings appear on the map in distinct colours. Each one means something specific:

RingColourMeaningBuild rule
ActualCyanThe real country border line, per zone. Identity and titles.Inside the country: build allowed
SoftOrange (dashed)The border buffered out by your soft km — the edge of the buildable safe margin.Build allowed up to here
HardYellowBuffered out by hard km — the outer wall and the no-build line.The wall; build denied past here
Internal lineLimeWhere two zones touch (for example the Prut river line between Romania and Moldova).Visual + title trigger only (no region)
Trim edgeFaint greyHard plus a margin — where terrain ends, hidden behind the wall.Generation boundary only

Because soft and hard are built around the union of all zones, there is one soft ring and one hard ring around the entire clump, never a wall slicing between two member countries.

Build rules

The exported regions.yml enforces a simple progression of zones as the player moves outward:

So players build freely across the country and a margin past it, then hit the wall. You set the band widths with the soft km (default 3) and hard km (default 8) controls on the card.

Points & fidelity

The border pts control (range 50–1000, default 700) sets how closely all rings follow the real coast and border. Higher values hug the actual border more tightly and keep the soft and hard buffers smoother.

WorldGuard poly2d regions have no hard point cap — region checks are spatially indexed and only tested when a player is near a region, so a high vertex count costs nothing at rest. At the default ~700 points the ring hugs the real border within a few hundred metres; 1000 is near-exact. Note that the bundled boundary data caps Romania at around 1200 vertices, so the source geometry is the practical ceiling.

What gets exported

Exporting writes everything into <project>/border/:

The regions in regions.yml use priorities so the rules layer correctly: the per-zone identity region sits at priority 12, border_soft (allow) at 8, and border_hard (deny, the wall) at 5, under a global deny.

Coordinates are origin-baked. Every x and z value is already in absolute world block coordinates, with Meld's project origin offset applied. There is no separate OFFSET to add on the server — a known coastal point should line up in-game directly.

The server script (border.sk)

Meld writes border.sk; the server runs it. It provides the live runtime on top of the regions and point files:

The Server-script section on the card exposes the runtime options: kill interval (seconds, default 60), base hearts (default 1), curve, knockback, particle render radius, wall height, and particle update ticks.

Server plugin requirements

The generated border.sk needs these installed on the server before it will run. Confirm each for your exact Minecraft version:

Trim world to ring

Trim world to ring sets the generation plan to only the cells inside the trim ring (the country plus the trim margin past the hard wall). Cells outside the ring stay ungenerated void, hidden behind the wall — and the wall bounces the player back before they ever reach the void edge. The trim margin control (default 5 km) sets how much terrain continues past the hard wall; set it to 0 to cut exactly at the wall.

Trimming asks for confirmation, keeps any cells you've already merged, and leaves the plan editable — you can add or remove cells afterward with the normal grid tools.

How to use

  1. Set the project origin and scale.
  2. Open the Border & zones card.
  3. Add your zones and type their countries.
  4. Set soft/hard/trim km, border pts, owners, and the Server-script options.
  5. Preview — the coloured rings appear on the map.
  6. Export to <project>/border/.
  7. Optionally Trim the world to the ring.
  8. On the server: load the regions with /rg load, drop the point files and border.sk into the Skript scripts folder, install the required plugins, and run /sk reload.

← Back to the docs hub