AoW SMP runs on PaperMC 1.21.8 with 21 third-party plugins handling the load-bearing fundamentals — Bedrock cross-play translation, the economy, land claims, skills, the web map, and analytics — while our 20 custom in-house plugins handle gameplay flavor on top. Every plugin here is a well-known, actively maintained community project, picked for stability on Paper 1.21.x and clean interop. Nothing on this page is mocked or reinvented; we use the real upstream builds.
1Cross-play stack
Four plugins work in series to let Bedrock players join a Java server. A Bedrock client talks UDP RakNet to
Geyser, which translates it into a Java protocol stream; ViaVersion brings that stream up
to Paper 1.21.8; Floodgate handles the Xbox-account login without requiring a Java account; and
ViaBackwards handles edge cases for older clients. This is the layer that makes play.aowmc.com
work for everyone on both Java 25565 and Bedrock 19132.
The core of the cross-play stack. Geyser listens on UDP 19132, speaks Bedrock's RakNet protocol,
and translates every packet into Java-edition equivalents before handing them off to the rest of the pipeline.
Configured with auth-type=floodgate and — importantly — use-direct-connection: false so the
translated stream is routed through ViaVersion instead of being injected straight into Paper.
Adds: /geyser reload / dump / version commands (op).
Role: The reason Bedrock players exist on AoW at all.
Lets Bedrock players authenticate via their Microsoft/Xbox account while the server stays
online-mode=true. Floodgate gives every Bedrock player a synthetic Java UUID and tags their
username with a . prefix in-game (so Steve on Bedrock appears as .Steve to
Java players), keeping the two namespaces from colliding.
Adds: /floodgate (linking & info, mostly op-only).
Role: Security + identity glue so we don't have to run a cracked server.
ViaVersion translates the emulated Java client version Geyser produces up to Paper 1.21.8's protocol. This is the piece that lets us upgrade Paper independently of Geyser's internal "target" version without breaking Bedrock joins, and it's what made Bedrock connections stable through the 1.21.x patch chain.
Adds: /viaversion (op).
Role: Protocol shim sitting between Geyser and Paper.
Companion to ViaVersion. Translates Paper 1.21.8 packets downward for clients connecting on an older Java protocol. We keep it installed for resilience: Java players on a slightly older client release can still connect cleanly during the brief windows between Mojang updates and our Paper bumps.
Adds: /viabackwards (op).
Role: "Old client? Still fine" insurance.
Bedrock client → UDP 19132 → Geyser → ViaVersion → Paper 1.21.8.
See the diagram on the Cross-play page for the full route, including why
use-direct-connection must be false.
2Economy & essentials
The day-one player experience — homes, warps, teleports, the money — is handled by the EssentialsX family bridged through Vault, with a server-wide auction house and player chest shops on top.
Provides homes, teleports, kits, messaging, AFK detection, the player list, and the actual economy ledger
(/balance, /pay, /eco). Everything else in this section either
extends Essentials or reads/writes its economy via Vault.
Adds: /home /sethome /tpa /tpaccept /back
/warp /pay /balance /msg /afk
/list /kit /help and many more.
Role: The base survival toolkit — Bedrock players use these too (prefixed names like .Steve work everywhere).
Companion module that owns /spawn and /setspawn, including first-join spawn
handling. Pairs with our custom the SafeSpawn module in AoWInfra plugin (which scans for a safe block and cancels
monster spawns inside the spawn radius) and AoWWelcome (which dispatches new players to spawn
on their first join).
Adds: /spawn /setspawn.
Role: Owns the spawn coordinate; our custom plugins decorate the spawn experience.
Vault is the abstraction layer that lets any plugin read and modify the economy without depending on
EssentialsX directly. AoWDaily pays out streak rewards by shelling out to eco give through
this layer; GlobalMarketplace and QuickShop both move balances through it.
Adds: no player commands; pure API.
Role: Money plumbing — the universal joint between Essentials and every plugin that touches balances.
A modern auction-house plugin that opens a clean GUI for listing and buying items across the whole server. Crucially for AoW, it is Bedrock-Forms aware — Bedrock players get a native Forms UI instead of a confusing chest-GUI fallback, which is the difference between "usable" and "abandoned" on a cross-play server.
Adds: /ah (with sublists like list, sell).
Role: The market. The pulse of the economy.
Players run their own physical shops by attaching a sign to a chest — buy, sell, or both. Hikari is the actively maintained fork of QuickShop and handles 1.21.x cleanly. Combined with GlobalMarketplace this gives AoW two complementary markets: local physical shops you walk to, and a global auction house you open from anywhere.
Adds: /qs (create/edit shops; mostly sign-driven).
Role: Player-built marketplaces in the world.
3Protection & admin
Land claims, region protection, the world-edit hammer, the rollback tool, and the permissions backbone — the boring-but-critical layer that keeps griefing impossible and ops sane.
Players claim chunks by clicking two corners with a golden shovel; nothing inside a claim can be broken,
opened, or stolen by anyone the owner hasn't trusted. Friends are added with /trust, removed with
/untrust, and the claim list is browsable with /claimslist. Lightweight, no command
syntax to learn — exactly what cross-play needs.
Adds: /trust <p> /untrust <p> /claimslist /abandonclaim.
Role: The anti-grief default — every survivor uses it.
The serious tool for protecting fixed locations — spawn, warps, public farms, future event arenas. Where GriefPrevention is the player-facing claim system, WorldGuard is the op-facing region system with fine-grained flags (PvP on/off, block-break deny, mob-spawn deny, etc.).
Adds: //region family (op only).
Role: Spawn and admin region protection.
The classic mass-edit tool — select two points, then copy, paste, replace, smooth, generate. We changed the
selection wand from the default wooden_axe to a blaze_rod so that survival players
can keep chopping trees with wooden axes without accidentally pos-1'ing themselves into a confused mess.
Adds: //pos1 //pos2 //copy //paste //set
//replace (op).
Role: Staff/build edits. Wand is blaze_rod, not wooden_axe.
Logs every block placement, break, container access, and player interaction. If someone griefs through a hole
in a claim, you find it with /co inspect, identify the culprit and time window, and roll it back
with /co rollback. We've never lost a build to grief; this is why.
Adds: /co inspect /co lookup /co rollback /co restore (op).
Role: Time machine for the world.
The permissions backbone. Every player gets the member rank on first join (our
AoWWelcome plugin does the dispatch with lp user <p> parent add member),
and op-only commands and per-plugin reload commands are gated through standard
plugin.* permission nodes here.
Adds: /lp family (op).
Role: Who can do what — the single source of truth.
4Gameplay
The two plugins that change how the game feels to play — a full skills/progression tree and player graves to take the sting out of dying.
Adds a full RPG-style skills layer over vanilla — mining, farming, foraging, fighting, fishing, and more, each with their own XP bar and a node-based skill tree of perks. Pairs naturally with our custom loot plugins: AoWMining awards bonus drops on ore breaks and AoWFishing rewards Luck of the Sea, both stacking on top of skill levels.
Adds: /skills /skills top.
Role: The progression layer.
When you die, your items drop into a persistent gravestone at the death location instead of scattering on the
ground (and despawning). Walk back, right-click, recover. Works hand-in-glove with our custom
AoWDeathBook, which stores your last 5 deaths and offers /backtrack to point you
back toward the most recent one.
Adds: no player commands by default (graves are entity-driven).
Role: "Dying is a setback, not a wipe."
/deaths (AoWDeathBook) lists where → /backtrack points the way. No frantic /home spam.
5World & performance
The world pre-generation tool and the web map. Both are run-once-and-forget at install time, then quietly serve the server for the rest of its life.
Generates chunks ahead of time so that when players walk to fresh territory, the server isn't doing the expensive terraingen work live. With AoW's mix of vanilla 1.21 + Terralith + the heavy chunk-populate work our custom the flora module in AoWWorldGen, the ore-vein module in AoWWorldGen, and the structure module in AoWWorldGen plugins do on new chunks, pre-gen is the difference between "smooth exploration" and "chunky chunky chunky".
Adds: /chunky (op).
Role: Run once at world setup; afterwards exploration is buttery.
Renders a Google-Maps-style top-down view of the world, served from an internal HTTP server on port
the map service. Lightweight, fast, no 3D rendering cost. The public endpoint is map.aowmc.com and a 3D
BlueMap option is on the roadmap as a possible alternate or addition.
Adds: /squaremap (op).
Role: The live world map. Internal map service.
6Info & UI
Floating signs, the tab list, server analytics, and the placeholder system everyone else reads from. These four sit quietly in the background and make the rest of the stack composable.
Lets staff drop floating text in the world for spawn signage, warp labels, shop instructions, and event banners. Supports PlaceholderAPI directly, so a hologram can display live data like "Online: N" or a player's balance without any extra glue code.
Adds: /dh (op).
Role: Spawn signage and labels.
Replaces the vanilla tab list with a fully customizable header/footer, sortable columns, and nameplate customization. Reads PlaceholderAPI placeholders for live values (ping, online count, player rank), which is how the AoW tab shows what it shows.
Adds: /tab (op).
Role: What you see when you hit Tab.
A full analytics suite — playtime, retention, peak online, deaths, kills, sessions, server TPS — exposed as a
web dashboard. Pairs nicely with our custom AoWBoard in-game leaderboards
(/top playtime|mobkills|deaths|jumps) which serve the at-a-glance version while Plan handles the
deep dive.
Adds: /plan (op).
Role: "How is the server actually doing?" — the dashboard.
The universal placeholder format used by everyone above. Lets DecentHolograms show TAB-supplied data, lets TAB show AuraSkills data, lets Plan show Essentials data — all without each plugin needing to know about every other plugin. Zero player commands, huge plumbing value.
Adds: /papi (op).
Role: The connective tissue. Everything reads from it.
7Quick reference table
All 21 third-party plugins, version-locked. This is the canonical list — any drift between this and the live
/opt/mcserver/plugins/ directory is a bug.
| # | Plugin | Version | Category | Headline |
|---|---|---|---|---|
| 1 | Geyser-Spigot | 2.10.1-SNAPSHOT | Cross-play | Bedrock <-> Java bridge |
| 2 | Floodgate | 2.2.5-SNAPSHOT | Cross-play | Xbox login w/o Java account |
| 3 | ViaVersion | 5.10.1-SNAPSHOT | Cross-play | Protocol up-translation |
| 4 | ViaBackwards | 5.10.1-SNAPSHOT | Cross-play | Older-client down-translation |
| 5 | EssentialsX | 2.22.0 | Economy | Homes, teleports, economy |
| 6 | EssentialsSpawn | 2.22.0 | Economy | /spawn /setspawn |
| 7 | Vault | 1.7.3-b131 | Economy | Economy API bridge |
| 8 | GlobalMarketplace | 2.1-SNAPSHOT | Economy | Auction house (Bedrock Forms aware) |
| 9 | QuickShop-Hikari | 6.2.0.11 | Protection/Admin | Player chest shops |
| 10 | GriefPrevention | 16.18.7 | Protection/Admin | Golden-shovel claims + trust |
| 11 | WorldGuard | 7.0.17+2370-e42d8bc | Protection/Admin | Region protection |
| 12 | WorldEdit | 7.4.4-beta-01+b969a7f7e | Protection/Admin | In-game editor (wand=blaze_rod) |
| 13 | CoreProtect | 23.2 | Protection/Admin | Block log + rollback |
| 14 | LuckPerms | 5.5.57 | Protection/Admin | Ranks & permissions |
| 15 | AuraSkills | 2.3.12 | Gameplay | Skills + skill trees |
| 16 | AxGraves | 1.29.0 | Gameplay | Death graves |
| 17 | Chunky | 1.4.40 | World/Perf | Pre-generation |
| 18 | squaremap | 1.3.12 | World/Perf | Web map (map service) |
| 19 | DecentHolograms | 2.10.0 | Info/UI | Floating text |
| 20 | TAB | 6.1.0 | Info/UI | Tab list + nameplates |
| 21 | Plan | 5.7 | Info/UI | Player analytics dashboard |
| — | PlaceholderAPI | 2.12.2 | Info/UI | Placeholder backbone (counted above) |
8How they interact with our custom plugins
The third-party stack is the foundation; our 20 custom in-house plugins stack cleanly on top. A few highlights of the seams:
., e.g. .Steve
VaultAoWDaily pays via eco give
LuckPermsAoWWelcome adds member on first join
EssentialsSpawnthe SafeSpawn module in AoWInfra cancels monster spawns within radius
AuraSkillsAoWMining and AoWFishing stack bonus drops on top
AxGravesAoWDeathBook records the location for /backtrack
PlaceholderAPIread by DecentHolograms, TAB, and Plan
GlobalMarketplacethe guidebook/onboarding module in AoWInfra has a tappable /ah button
The rule for every custom plugin is the same: paper-api dep only — no compile-time imports of Vault, LuckPerms, Floodgate, or anything else from this page. When a custom plugin needs to do something through a third-party — pay money, grant a rank, detect a Bedrock player — it calls a command or uses a published API at runtime, never an import. That's what keeps the foundation swappable.