Admin Panel
Admin Panel
Section titled “Admin Panel”Open with /kssa admin (requires ks.shop.admin).
The panel is a tabbed UI with four sections.
Shops tab
Section titled “Shops tab”Server-wide shop list with search + filters.
- Search field — partial match on shop name (case-insensitive)
- Filter buttons — toggle visibility:
ALL— every shopPLAYER— only player-ownedADMIN— only admin shopsOPEN— only currently open
- Pagination — 10 rows per page, prev/next buttons
Per row: shop name, type badge, owner name, rating, item count, status. Click a row to drill into shop details (planned), or use chat commands for actions.
Players tab
Section titled “Players tab”Per-player roll-up.
- Player name, total shops owned, total revenue, last seen
- Useful for monitoring marketplace concentration (“who owns 30 shops?”)
Transactions tab
Section titled “Transactions tab”Recent buy/sell history server-wide.
- Buyer / seller, item, quantity, total, timestamp
- Filter by shop name, item, or time window
Useful for forensics (“did this player exploit a price?”).
Rentals tab
Section titled “Rentals tab”Full rental-slot management.
- Search field — partial match on slot display name
- Filter buttons:
ALL— every slotVACANT— currently no renterAUCTION— auction round runningRENTED— actively rented
- Pagination — 8 rows per page
Per row:
- Slot name + mode badge (FIXED green / AUCTION gold)
- State + renter username + remaining time, OR auction ends-in
- Price/day or current high bid
Per-row actions:
EXPIRE(orange) — runs the normal expiry path immediately. For a rented slot: renter gets mailbox refund, slot becomes vacant. For an auction slot in a round: forces a finalisation as ifauction_ends_athad elapsedDELETE(red) — removes the slot entirely. If currently rented, refunds the renter via the normal expiry path first
Common admin workflows
Section titled “Common admin workflows”Force-close an abusive shop
Section titled “Force-close an abusive shop”- Open admin panel -> Shops tab
- Search for the shop name, note its UUID
- Chat:
/kssa closeplayer <shopId> Reason: economy abuse - Owner can no longer sell. Shop nameplate shows
[CLOSED].
Refund + delete a player’s shop
Section titled “Refund + delete a player’s shop”/kssa deleteplayer <shopId>Owner gets all items + balance via mailbox. NPC despawns. Shop row deleted.
Take over a hot spot for a server event
Section titled “Take over a hot spot for a server event”/kssa forceexpirerental <slotId> -> tenant gets refund/kssa deleterental <slotId> -> slot removed entirely/kssa createrental NewEventSlot 0 1 -> 0g/day for 1 day, free for the eventAudit recent activity
Section titled “Audit recent activity”/kssa admin-> Transactions tab- Filter by time window
- Look for outliers (very high prices, repeated identical sales, etc.)
Bulk-respawn stuck NPCs after a chunk corruption
Section titled “Bulk-respawn stuck NPCs after a chunk corruption”/kssa respawnnpcsDespawns all tracked NPCs in the current world, then respawns them from the persisted shop data. Recovers from chunk-restored ghost NPCs without a full server restart.