01 The lay of the land
AoW SMP runs Paper 1.21.8 on Java 21 (Temurin), backed by a 4 vCPU / 16 GB Hostinger VPS with a 8 GB heap tuned via Aikar flags. The stack is 6 consolidated in-house packs plus ~21 third-party. This page is for operators — everything below assumes shell access to the box and op (or LuckPerms-granted) permissions in-game.
02 Becoming an operator
There are two ways to act as staff: server-level op and rank-based permissions via LuckPerms 5.5.57. Op is the blunt instrument; LuckPerms is how you run day-to-day staff.
Granting op from the console
From the server console (no slash prefix needed at the console) or as an existing op in-game:
op Steve
deop Steve
Steve joins as
.Steve. Always include the dot when targeting Bedrock accounts:
op .Steve, lp user .Steve parent add mod, etc.
Op vs LuckPerms — which to use
| Use op when… | Use LuckPerms when… |
|---|---|
| You need full unrestricted access right now (yourself / co-owner). | You want scoped, revocable staff ranks (mod, helper, builder). |
| Bootstrapping the server before ranks are set up. | Granting a single permission node without full op. |
03 Ranks with LuckPerms
LuckPerms drives every rank, prefix and permission on AoW. Manage it in-game with
/lp or from the web editor.
/lp user .Steve parent set mod — replace all rank parents with mod.
/lp user Steve parent add builder — stack a group on top.
/lp user Steve permission set essentials.fly true
/lp creategroup helper then /lp group helper permission set ...
/lp group mod meta setprefix "&c[Mod] "
/lp editor — opens a one-time link to a full GUI; apply to save back.
/lp sync to pull changes into the live server without a restart.
04 Spawning Champions
The Fractured Veil is the centerpiece. As an operator you can hand-place any titled Champion for events, testing, or just to terrorize the regulars. The command:
/champions spawn <tier> <mob> [title] [stars] [subtitle]
| Arg | Meaning |
|---|---|
tier | One of the 8 tiers: anomalous, fledgling, veteran, elite, champion, legend, mythic, cataclysm. |
mob | Vanilla mob type, e.g. zombie, skeleton, chicken, creeper, enderman. |
title | Optional. A species archetype title; omit to roll one that fits the mob. |
stars | Optional. Ascension stars 0–5 (each +30% HP/dmg). |
subtitle | Optional. One of the 12 sub-titles, e.g. blessed, enriched, ascendant. |
# A straightforward Elite chicken (Queen of the Roost / Sir Cluckalot themed)
/champions spawn elite chicken
# Fully rolled — random tier, mob, title, everything
/champions spawn random
# A Legend zombie with 3 Ascension stars
/champions spawn legend zombie 3
# A Blessed Elite skeleton that drops Veilweaver tomes
/champions spawn elite skeleton blessed
# An Enriched Mythic pig — 2x loot, for a loot-drop event
/champions spawn mythic pig enriched
05 Tuning the AoW systems
Every in-house plugin ships its own config and a reload command. The pattern is consistent: edit the config, then reload that one plugin — no full restart needed.
# Generic shape — replace <plugin> with the plugin's command root
/<plugin> reload
# e.g. reload the Champions / Fractured Veil config
/champions reload
| Where it lives | What it holds |
|---|---|
plugins/<PluginName>/config.yml | The main tunables for each in-house plugin. |
plugins/Champions/ | Fractured Veil config — base spawn chance, tier weights, Fracture Level, Blood Moon cadence. |
plugins/AuraSkills/ | RPG skill XP curves and abilities (AuraSkills 2.3.12). |
plugins/GriefPrevention/ | Claim block rates and limits (GriefPrevention 16.18.7). |
0.05, multiplied by
night ×1.8, beyond 500 blocks ×1.5, Fracture Level (1 + lvl×0.15),
and Blood Moon ×3. Nudge the base rather than the multipliers if you just want "more / fewer
champions overall".
/reload confirm reloads every plugin and
is risky on a 95-plugin stack — prefer the per-plugin reload command.
06 CoreProtect — rollback & lookup
CoreProtect 23.2 logs every block change, container access and kill. Use it to undo griefing and investigate.
/co inspect (or /co i) — then punch / right-click blocks to see history.
/co lookup u:Steve t:3d — what Steve did in the last 3 days.
/co rollback u:Griefer t:6h r:30 — undo Griefer's last 6h within 30 blocks.
/co restore u:Griefer t:6h r:30 — reverse a rollback if you overshot.
/co rollback u:.Griefer t:6h r:30. Always preview with
/co lookup before you roll back — radius and time stack and can revert legit builds.
07 WorldEdit & WorldGuard
WorldEdit 7.4.4 for terrain edits, WorldGuard 7.0.17 for protected regions. The WorldEdit selection wand is a blaze rod.
//wand # gives you the blaze_rod selection tool
# left-click pos1, right-click pos2 to select a region
//set stone # fill the selection
//replace dirt grass_block
//copy # then //paste at a new location
//undo
# With a WorldEdit selection made:
/rg define spawn
/rg flag spawn pvp deny
/rg flag spawn mob-spawning deny
/rg addmember spawn .Steve
mob-spawning deny
region keeps Champions from ambushing brand-new players at the hub while leaving the wild fully dangerous.
08 Pre-generating chunks (Chunky)
Chunky 1.4.40 pre-generates terrain so players aren't generating lag in real time. Run it off-hours; it auto-throttles but still uses CPU.
/chunky world minecraft:overworld
/chunky radius 5000
/chunky start
# check progress / pause:
/chunky progress
/chunky pause
09 Web map (squaremap)
squaremap 1.3.12 renders the live web map served at map.aowmc.com (behind nginx + Let's Encrypt). It updates incrementally, but you can force a full render after big terrain changes.
# Full render of the overworld
/squaremap fullrender minecraft:overworld
# Cancel a running render if needed
/squaremap cancelrender minecraft:overworld
10 Restart, logs & backups
The server runs as a systemd service named minecraft. Operate it from the VPS
shell.
systemctl restart minecraft
# status / stop / start
systemctl status minecraft
systemctl stop minecraft
systemctl start minecraft
# Live server log via the systemd journal
journalctl -u minecraft -f
# last 200 lines
journalctl -u minecraft -n 200
Backups live in /opt/backups. Check what's there before relying on a restore:
ls -lh /opt/backups
systemctl stop minecraft, copy, then start again — or flush an
in-game save first.
11 Gotchas worth memorizing
A few sharp edges specific to this stack and version. Learn these and you'll save yourself a confused half-hour.
advance_time in 1.21. If you want to freeze or resume the day/night
cycle, it's /gamerule advance_time false — not the older doDaylightCycle name.
/time. To set vanilla time you must namespace it:
/minecraft:time set day, /minecraft:time add 1000. Plain /time goes
to Essentials and may not do what you expect.
.realtime. This is not something you need to "fix" on the server.
. prefix
(Geyser-Spigot 2.10.1 + Floodgate 2.2.5). Any admin command that targets a Bedrock player needs the dot —
op, LuckPerms, CoreProtect, WorldGuard members, the lot.
12 Operator quick reference
The whole admin toolkit in one place.
| Task | Command |
|---|---|
| Grant op | op .Steve |
| Set a rank | /lp user .Steve parent set mod |
| LuckPerms web editor | /lp editor |
| Spawn an Elite chicken | /champions spawn elite chicken |
| Spawn a fully random champion | /champions spawn random |
| Reload a plugin's config | /<plugin> reload |
| Rollback grief | /co rollback u:.Griefer t:6h r:30 |
| WorldEdit wand | //wand (a blaze_rod) |
| Define a region | /rg define spawn |
| Pre-gen chunks | /chunky radius 5000 then /chunky start |
| Full map render | /squaremap fullrender minecraft:overworld |
| Restart server | systemctl restart minecraft |
| Tail logs | journalctl -u minecraft -f |
| Backups location | /opt/backups |
| Set vanilla time | /minecraft:time set day |
| Freeze day/night | /gamerule advance_time false |