GrzybcioRynek

Admin Tools

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

Kompatybilne z: GrzybcioRynek 1.0.3Minecraft 26.2Web 0.1.0

Na podstawie kodu GrzybcioRynek 1.0.3 i web 0.1.0.

Wymagane: market.admin (default: op). Wejście: /market admin. Bez podkomendy — lista składni na czacie (tekst zahardkodowany, nie messages.*).

list

/market admin list

Wypisuje wszystkie aktywne oferty: #id, nick, cena Vault, Material × amount.

inspect <id>

/market admin inspect 42

Nagłówek: messages.admin.inspect-header ({id}). Potem (hardcoded): sprzedawca + UUID, item, cena, timestamp, nexoId, oraxenId, czy oferta jest zarezerwowana.

Brak oferty / złe ID: Nie znaleziono oferty. / Nieprawidłowe ID.

remove <id>

/market admin remove 42

MarketManager.removeListing jako admin: item wraca do sprzedawcy z powodem admin-removed. Zarezerwowana oferta: buy.listing-locked.

forceexpire <id>

/market admin forceexpire 42

Natychmiastowe wygaśnięcie: zdjęcie oferty, czyszczenie ulubionych, zwrot z powodem expired. Sukces: Oferta wygaszona. Porażka: Nie znaleziono oferty.

refund <tx-id> [reclaim]

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

Tylko TX w stanie COMPLETED bez error zaczynającego się od REFUND.

  1. Pobierz od sprzedawcy sellerReceived (jeśli > 0).
  2. Wpłać kupującemu tę kwotę (albo pełne price, gdy sellerReceived == 0).
  3. Ustaw error = REFUND:<timestamp>, stan ROLLED_BACK.

reclaim: próbuje zabrać item z ekwipunku kupującego (jeśli online) i wrzuca kopię do skrzynki sprzedawcy (admin-refund). Jeśli kupujący itemu nie ma, i tak depozyt do skrzynki sprzedawcy — komunikat to zaznacza.

Nieudany withdraw sprzedawcy przerywa refund (bez zmiany TX). Nieudany deposit kupującego cofa withdraw sprzedawcy.

selftest [seller] [buyer]

/market admin selftest /market admin selftest GraczA GraczB

Bez nicków: spawn FakePlayer SellerBot i BuyerBot (FakePlayerFactory), MarketSelfTest.run, potem despawn. Jeśli spawn się nie uda: użyj wariant z dwoma online graczami.

Obaj muszą być różni i online. To test integracyjny na żywym Vault / magazynie — nie używaj na produkcji z prawdziwymi kontami bez świadomości skutków (tworzy oferty i TX).

reload

To samo co /market reload: wymaga market.reload lub market.admin.

Warning

Zablokowane, gdy hasReservedListings() — trwa zakup. Najpierw backup .bak, potem reload YAML, na końcu removeExpiredListings.

Sukces: messages.reload.success.

Tab complete

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