Player smoke-test — racked.ru
A regression checklist for "things a default-rank player must be able to do".
Pair with scripts/test-default-perms.sh to spot LP/PAT regressions before
asking the test rig to log in.
Test rig: YOU500 (LuckPerms group default, weight 10). He stays on
default permanently — never elevate him; he is the canary. Operator
gear-loads him via RCON give commands; that's fine and doesn't change
his perms.
When to run: before any of these:
- plugin update (jar swap)
- LuckPerms group/perm change (anything affecting
default, settler, or inheritance)
- ProAntiTab
storage.yml edit (whitelist add/remove)
commands.yml or help.yml edit
- AuthMe / AuthLimbo config change
- After server restart following a config-only change
A — Authentication path (AuthLimbo + AuthMe)
| # |
Step |
Expected |
Pass? |
| A1 |
Log in cold (server restart, fresh session) |
Lands at auth_limbo (0.5 / 128 / 0.5) facing void |
|
| A2 |
Type /login <pw> |
[AuthLimbo] Restoring YOU500 to world(...) in logs; teleported back to last location |
|
| A3 |
Movement keys before /login |
No movement; chat-prompt visible |
|
| A4 |
Re-login within session timeout |
Auto-login, no prompt |
|
B — Help and discovery
| # |
Step |
Expected |
Pass? |
| B1 |
/help |
Branded HelpCommand page 1 (racked.ru header, list of basic commands) |
|
| B2 |
/help 2 (or arrow >>) |
Page 2 with /bal, /pay, /hs, /shop entries |
|
| B3 |
/rules |
Server rules from RULES.md displayed |
|
| B4 |
/list |
Player count + groups (default/Admins) |
|
C — Skin (SkinsRestorer)
| # |
Step |
Expected |
Pass? |
| C1 |
/skin set <name> (e.g. /skin set Notch) |
Skin updates within ~3s |
|
| C2 |
/skin url <https-png-url> |
Custom URL skin applied |
|
| C3 |
/skins (GUI) |
Skin browser opens |
|
| C4 |
/skin clear |
Should be denied (admin-only) |
|
D — Land claiming (Homestead)
| # |
Step |
Expected |
Pass? |
| D1 |
/hs create test1 |
"Successfully created a new region: test1" + clickable hover-link |
|
| D2 |
/hs set target test1 |
"test1 is now set as the target region" |
|
| D3 |
Stand in unclaimed chunk → /claim |
"This chunk is now part of the region test1" |
|
| D4 |
/unclaim (in same chunk) |
"This chunk has been unclaimed" |
|
| D5 |
/hs menu |
Region GUI opens |
|
| D6 |
/region info (or /rg info) |
Region data printed |
|
If D1 returns "Unknown command" or the silent-PAT-block, the PAT whitelist
regressed — see docs/DEFAULT-RANK-COMMANDS-2026-05-07.md §5a.
E — Homes & teleport (Essentials)
| # |
Step |
Expected |
Pass? |
| E1 |
/sethome base |
"Home set" |
|
| E2 |
/home base |
TP to base |
|
| E3 |
/homes |
List of saved homes |
|
| E4 |
/deletehome base |
Home removed |
|
| E5 |
/spawn |
TP to spawn |
|
| E6 |
/back |
TP to prior location |
|
| E7 |
/tp <player> |
Sends TPA request (aliased) |
|
| E8 |
/tpaccept |
Accept incoming TPA |
|
F — Economy (Vault + EZShop + AuctionHouse)
| # |
Step |
Expected |
Pass? |
| F1 |
/bal |
Balance shown |
|
| F2 |
/baltop |
Top-balance leaderboard |
|
| F3 |
/pay <player> <n> |
Transfer succeeds (or "insufficient funds") |
|
| F4 |
/shop |
EZShop GUI opens |
|
| F5 |
/ah (or /auctionhouse) |
AuctionHouse GUI opens |
|
G — Chat (CarbonChat)
| # |
Step |
Expected |
Pass? |
| G1 |
Plain chat message |
Visible to others, prefix per LP rank (Adventurer for default, but operator manages prefix display elsewhere) |
|
| G2 |
/msg <player> hi |
DM delivered, both sides see it |
|
| G3 |
/r hi |
Reply works after a DM |
|
| G4 |
/pm <player> hi (alias) |
Same as /msg |
|
H — Negative tests (must NOT work for default)
| # |
Step |
Expected |
Pass? |
| H1 |
/op |
"Unknown command" or PAT-block |
|
| H2 |
/gamemode creative |
Denied |
|
| H3 |
/give @s diamond 64 |
Denied |
|
| H4 |
/lp ... |
PAT-blocks at execution (lp is global-whitelisted but LP itself denies non-ops) |
|
| H5 |
/hsadmin reload |
Denied (op-only by Homestead plugin.yml) |
|
| H6 |
/skin clear |
Denied (LP false override) |
|
I — Voicechat
| # |
Step |
Expected |
Pass? |
| I1 |
Connect with simple-voice-chat client |
Mic + speaker work |
|
| I2 |
Group chat |
Spatial audio normal |
|
Operator workflow
- Run
bash scripts/test-default-perms.sh > /tmp/perms-before.txt (snapshot).
- Make config / plugin / LP change.
- Run
bash scripts/test-default-perms.sh > /tmp/perms-after.txt.
diff /tmp/perms-before.txt /tmp/perms-after.txt — anything unexpected
means the change had collateral effects on the default group.
- Have YOU500 walk through sections A → I above. Mark Pass/Fail.
- If anything regressed, see
docs/DEFAULT-RANK-COMMANDS-2026-05-07.md
for last-known-good state and fix recipes.
The diff in step 4 is the cheap pre-flight; the YOU500 walk-through is the
authoritative regression test.
What we explicitly are NOT testing here
- Rank-prefix display — operator manages LP prefixes/suffixes manually
(locked behaviour per workspace memory). YOU500 will show "Adventurer"
with
false weight; that's intentional and not a regression.
- Premium Lands plugin — the
/data/plugins/Lands/ config tree exists
but the jar is not loaded. If/when re-installed, this checklist needs a
Lands section.
- AuthMe registration of new accounts — separate flow, not part of the
default-rank smoke test.