/plugin na publicznym originie API. Połączenie zawsze inicjuje serwer gry — nie wystawia on żadnego portu przychodzącego.
Uwierzytelnianie
Handshake namespace przekazuje:- klucz jest aktywny, typu
plugini maorders:write; - klucz jest przypisany do sklepu, a
serverIdnależy do tego samego sklepu; - autor klucza nadal ma dostęp do sklepu.
unauthorized — bez informacji, który warunek zawiódł. Klucz tworzysz w panelu (preset Plugin Minecraft), zobacz API z kluczem.
Zdarzenia (protokół v1)
Backend wysyła pełny replay zaległości po każdym połączeniu oraz push po opłaceniu lub zmianie statusu zamówienia. Powtórzone
order:deliver jest normalne — o prawie do wykonania decyduje atomowy claim i lokalny journal, nie samo otrzymanie eventu.
Stany bezpieczeństwa
Plugin musi prowadzić lokalny journal zapisywany zfsync:
1
Claim
order:claim przełącza zamówienie z paid lub dispute na processing. Warunkową zmianę w bazie wygrywa tylko jedna instancja.2
EXECUTING
Zapisz i zsynchronizuj
EXECUTING przed pierwszą komendą.3
AWAITING_ACK
Po ostatniej komendzie zapisz i zsynchronizuj
AWAITING_ACK.4
Complete
order:complete przełącza zamówienie na completed. Lokalny wpis usuwasz dopiero po ACK.- wpis
AWAITING_ACK→ ponów tylkoorder:complete, nie komendy; - wpis
EXECUTING→ nie powtarzaj komend; wyślijorder:uncertain, co uruchamia ręczną weryfikację.
Nie usuwaj journalu, żeby „odblokować” zamówienie. W panelu sprawdź faktyczny stan gracza i rozstrzygnij wpis ręcznie:
retry czyści claim po stronie aplikacji i pozwala na nowy push, complete uznaje dostawę bez powtarzania komend.Komendy i placeholdery
API formatuje komendy produktu, zanim wyśle świeży snapshot zwycięzcy claimu. Plugin dostaje gotowe komendy — nie podstawia niczego sam.
Wyrażenia liczy ograniczony parser — nie są wykonywane jako kod. Progi
quantityTiers, wariant komend i bonus pakietu rozstrzyga API. Plugin powinien dodatkowo odrzucać komendy, których pierwsze słowo jest na liście blockedCommands.
Gracz online
GdyrequireOnline jest ustawione, wykonaj komendy dopiero po wykryciu właściwego nicku na dozwolonym serwerze. Lokalna kopia, która długo czekała, musi zostać sprawdzona przez order:verify — tak, by anulowane lub zwrócone zamówienie nie zostało wykonane ze starego eventu. Jeśli warunek dostawy nie jest spełniony po claimie, oddaj go przez order:release.
Dalej
Plugin na serwerze
Instalacja i konfiguracja oficjalnego pluginu.
Zamówienia
Statusy zamówień i ręczna weryfikacja w panelu.
API z kluczem
Klucze typu
plugin i ich zakres.Błędy i limity
Limity i ponawianie po stronie REST.