❄ zFrostBoats
A Paper.io-style FFA minigame: ride ice boats, claim territory, cut trails, and be the last alive.
By zArrowTan, part of Arrow Plugins.
A Paper.io-style FFA minigame: ride ice boats, claim territory, cut trails, and be the last alive.
By zArrowTan, part of Arrow Plugins.
zFrostBoats drops your players onto a frozen arena in boats that slide on artificial ice physics. Leave your territory and you trail colored ground behind you. Loop back to your own land and everything you enclosed becomes yours. Cross a rival's live trail and they shatter, box in their last block and they're out. Last player standing wins. Everything is procedurally generated and config-driven, with many matches running at once in a single world. No schematics, no teams, just fast free-for-all territory warfare.
The waiting lobby before a match
The lobby on the plugin's built-in platform, generated for you
No required dependencies. zFrostBoats runs on its own. A few optional plugins make it even better:
- FastAsyncWorldEdit speeds up arena block placement (falls back to batched placement without it) (link)
- PacketEvents sharpens boat input handling for precise controls (link)
- PlaceholderAPI for placeholders across scoreboards, tab, and chat (link)
- Claim territory: leave a colored trail outside your land, close the loop, and everything inside floods to your color
- Cut your rivals: cross another player's active trail and they shatter, losing everything they hadn't secured
- Encircle to eliminate: reduce a rival to their last block and take it to knock them out
- Stay safe on your own ground: you're only vulnerable the moment you leave your territory and start a trail
- Mutual kills are fair: two players who hit each other on the same tick both go down, no ping tiebreak
⛸ Ice-Physics Boats
Boats glide with real momentum: they coast and decay when you let off, and build speed as you steer. The physics are fully programmatic, so it feels the same on any surface, no special blocks or resource pack required. With PacketEvents installed, boat input is read straight from the client for precise forward, reverse, and idle control, and it falls back cleanly to a vanilla estimate when PacketEvents isn't present.
🏟 Multi-Arena, One World
- Many matches at once: independent match "slots" all run in a single host world, allocated and cleaned up automatically
- Fully procedural: arenas and lobbies are generated from config, so there are no schematics to paste or maps to build
- Efficient: only active match chunks are force-loaded, and released the moment a match frees up
Joining an open match slot
Pick how matches are won, server-wide:
- Last Standing: outlive everyone else
- Time Limit: highest territory percentage when the clock runs out
- Race to %: first to claim a target share of the arena
- Hybrid: a time limit with a shrinking arena in the final 30 seconds
- Persistent player stats, stored from day one
- In-game leaderboards via
/zfb top, with a personal stats menu - Storage your way: SQLite out of the box with zero setup, or MySQL/MariaDB to share stats across servers
- PlaceholderAPI:
%zfrostboats_...%placeholders for scoreboards, tab, and chat
The personal stats menu
Hovering the Wins stat for a detailed breakdown
The Wins leaderboard
- Sidebar scoreboard, boss bar, action bar, and tab styling, all built in
- Clean GUIs for stats, leaderboards, and admin slot info
- Named color styles: define gradients and colors once in
styles.ymland reuse them everywhere - Fully translatable: every player-facing string runs through the language system, with English as the fallback
Base command
/zfb (alias /zfrostboats).Players
/zfb join,/zfb leavejoin or leave a match/zfb listsee running matches/zfb stats [player]view stats/zfb topopen the leaderboard
Admin
/zfb admin reloadreload config/zfb admin setworld <world>/setboundsset up the host world/zfb admin info/force-stop <slotid>inspect or stop a match/zfb admin leavepoint set|toggle|info|clearmanage the leave destination
zfrostboats.playjoin and play (default: true)zfrostboats.adminadmin commands (op)zfrostboats.admin.setbounds,.leavepoint,.reloadgranular admin access
- Minecraft: 1.21.x
- Server software: Spigot, Paper, or any Paper fork
- Java: 21 or higher
- Storage: SQLite out of the box, MySQL or MariaDB optional
Full setup and configuration guides are in the documentation. Need help, found a bug, or want to suggest a feature? Join the Discord.
