GrzybcioRynek

Admin Tools

/market admin subcommands — list, inspect, remove, forceexpire, refund, selftest, reload.

Compatible with: GrzybcioRynek 1.0.3Minecraft 26.2Web 0.1.0

Based on GrzybcioRynek 1.0.3 and web 0.1.0 source.

Required: market.admin (default: op). Entry: /market admin. Without a subcommand — syntax list on chat (hardcoded text, not messages.*).

list

/market admin list

Lists all active listings: #id, nick, Vault price, Material × amount.

inspect <id>

/market admin inspect 42

Header: messages.admin.inspect-header ({id}). Then (hardcoded): seller + UUID, item, price, timestamp, nexoId, oraxenId, whether the listing is reserved.

Missing listing / bad ID: Nie znaleziono oferty. / Nieprawidłowe ID.

remove <id>

/market admin remove 42

MarketManager.removeListing as admin: item returns to the seller with reason admin-removed. Reserved listing: buy.listing-locked.

forceexpire <id>

/market admin forceexpire 42

Immediate expiry: remove listing, clear favorites, return with reason expired. Success: Oferta wygaszona. Failure: Nie znaleziono oferty.

refund <tx-id> [reclaim]

/market admin refund 3f2a-… /market admin refund 3f2a-… reclaim

Only TX in state COMPLETED without an error starting with REFUND.

  1. Withdraw sellerReceived from the seller (if > 0).
  2. Deposit that amount to the buyer (or full price when sellerReceived == 0).
  3. Set error = REFUND:<timestamp>, state ROLLED_BACK.

reclaim: tries to take the item from the buyer's inventory (if online) and puts a copy in the seller's mailbox (admin-refund). If the buyer does not have the item, a deposit to the seller's mailbox still happens — the message notes that.

Failed seller withdraw aborts the refund (no TX change). Failed buyer deposit reverses the seller withdraw.

selftest [seller] [buyer]

/market admin selftest /market admin selftest GraczA GraczB

Without nicks: spawn FakePlayer SellerBot and BuyerBot (FakePlayerFactory), MarketSelfTest.run, then despawn. If spawn fails: use the variant with two online players.

Both must be different and online. This is a live Vault / storage integration test — do not use on production with real accounts without understanding the effects (creates listings and TX).

reload

Same as /market reload: requires market.reload or market.admin.

Warning

Blocked when hasReservedListings() — a purchase is in progress. First backup .bak, then reload YAML, finally removeExpiredListings.

Success: messages.reload.success.

Tab complete

With market.admin: list, inspect, remove, forceexpire, refund, selftest, reload. For inspect/remove/forceexpire: <id>. For refund: <transaction-id>.