1. Nazwy dostawców muszą być pisane małymi
literami, mieć co najwyżej 64 znaki i zawierać wyłącznie litery, cyfry, _, .
lub -. Priorytety muszą być skończonymi liczbami z przedziału od -100000 do
100000.
Rejestracja dostawcy serwerowego
domain to player, inventory, dispatch lub actions. Rejestracja musi
pochodzić z zewnętrznego zasobu. Zwraca true przy powodzeniu albo false wraz
ze stałym, czytelnym dla człowieka powodem, gdy deskryptor zostanie odrzucony.
Każdy deskryptor wymaga:
Deskryptor gracza
kind może być success, error, warning lub inform. Nieznane rodzaje
traktuj jako informacyjne.
Deskryptor ekwipunku
AddItem musi zwrócić dokładnie true po przyjęciu operacji. Zwróć false
przy pełnym ekwipunku, nieznanym przedmiocie, nieprawidłowych metadanych lub
każdym innym odrzuceniu.
Deskryptor dispatch
kind i payload na wywołania swojego zasobu dispatch.
Zwróć false tylko wtedy, gdy zgłoszenie zostało odrzucone; nil po udanym
callbacku liczy się jako przyjęcie.
Deskryptor akcji
_ oraz mieć co najwyżej 64 znaki. RunAction musi zwrócić dokładnie
true po wykonaniu lub przyjęciu akcji; jest opcjonalne dla dostawcy, którego
SupportedActions jest puste.
Waliduj na serwerze source, odległość od npcCoords, uprawnienia,
identyfikatory, kwoty oraz wszystkie params. Nazwa akcji nie jest
autoryzacją.
Ten sam deskryptor deklaruje obserwacje serwerowe, które integracja może
zgłaszać (zobacz Obserwacje serwerowe):
Namespacepasuje do^[a-z][a-z0-9]{1,15}$i jest wymagane, gdy tylkoObservationsjest niepuste. Poprzedza każdy klucz przesyłany po sieci (myserver:item_given), więc klucz serwera nigdy nie pokryje się z wbudowanym typem zdarzenia.Observationsmapuje do 32 kluczy (^[a-z][a-z0-9_]{0,31}$) na definicję z maksymalnie 8fields, nazwanymi jak klucze i typowanymi jakostring,integer,numberlubboolean, oraztemplatez co najmniej jednym z języków oferowanych w panelu (używany jest język NPC, w przeciwnym razie angielski, a w ostateczności pierwszy zadeklarowany). Każda linia ma co najwyżej 400 znaków bez znaków sterujących, jej{placeholders}nazywają zadeklarowane pola i nie zawiera innych nawiasów klamrowych. Szablon jest też mierzony według najgorszego przypadku renderowania — każde wystąpienie symbolu zastępczego w najszerszej wartości jego pola (64 znaki dlastring, 21 dlanumber, 17 dlainteger, 5 dlaboolean) — który musi mieścić się w 912 znakach.
RegisterProvider: deskryptor łamiący regułę
jest odrzucany wraz z powodem i nic nie zostaje zarejestrowane.
Wyrejestrowanie dostawcy serwerowego
Status serwera
apiVersioniruntimeEpoch;selected, zwięzłą mapę według domen;domains, w tym każde ustawienie, stan, powód, wybranego dostawcę i wszystkich zarejestrowanych kandydatów.
selected, disabled, unavailable, ambiguous lub degraded.
Błąd callbacku degraduje wybranego dostawcę; późniejszy udany callback czyści
stan błędu.
Rejestracja klienckiego dostawcy interakcji
Add i Remove są wymagane. Progress jest opcjonalne. Add musi zwrócić
dokładnie true, gdy rejestracja się powiedzie. Progress zwraca dokładnie
true po ukończeniu oraz false po anulowaniu lub niepowodzeniu.
watchedResources wymienia zależności, których uruchomienie/zatrzymanie ma
wywołać ponowną ocenę dostawcy.
apiVersion, runtimeEpoch, ustawienie, stan, powód
oraz wybranego dostawcę.

