1. Les noms de fournisseurs
doivent être en minuscules, comporter au plus 64 caractères et ne contenir que
des lettres, des chiffres, _, . ou -. Les priorités doivent être des
nombres finis compris entre -100000 et 100000.
Enregistrer un fournisseur serveur
domain vaut player, inventory, dispatch ou actions. L’enregistrement
doit provenir d’une ressource externe. Il renvoie true en cas de succès, ou
false accompagné d’une raison stable et lisible lorsque le descripteur est
rejeté.
Chaque descripteur requiert :
Descripteur joueur
kind peut valoir success, error, warning ou inform. Traitez les types
inconnus comme informatifs.
Descripteur d’inventaire
AddItem doit renvoyer exactement true après avoir accepté l’opération.
Renvoyez false pour un inventaire plein, un objet inconnu, des métadonnées
invalides ou tout autre refus.
Descripteur de dispatch
kind et le payload neutres vers votre ressource de dispatch.
Renvoyez false uniquement lorsque le signalement a été rejeté ; nil compte
comme accepté après un callback réussi.
Descripteur d’actions
_, et comporter au plus 64 caractères.
RunAction doit renvoyer exactement true après avoir terminé ou accepté
l’action ; il est facultatif pour un fournisseur dont SupportedActions est
vide.
Validez source, la distance par rapport à npcCoords, les permissions, les
identifiants, les montants et tous les params côté serveur. Le nom de l’action
ne vaut pas autorisation.
Le même descripteur déclare les observations serveur que l’intégration peut
signaler (voir Observations serveur) :
Namespacecorrespond à^[a-z][a-z0-9]{1,15}$et est requis dès queObservationsn’est pas vide. Il préfixe chaque clé sur le réseau (myserver:item_given), de sorte qu’une clé serveur ne puisse jamais reproduire un type d’événement intégré.Observationsassocie jusqu’à 32 clés (^[a-z][a-z0-9_]{0,31}$) à une définition comportant jusqu’à 8fields, nommés comme des clés et typésstring,integer,numberouboolean, ainsi qu’untemplateavec au moins l’une des langues proposées par le tableau de bord (la langue du PNJ est utilisée, sinon l’anglais, sinon la première déclarée). Chaque ligne comporte au plus 400 caractères sans caractères de contrôle, ses{placeholders}nomment des champs déclarés, et elle ne contient aucune autre accolade. Un modèle de texte est aussi dimensionné par son rendu dans le pire des cas — chaque occurrence d’espace réservé à la valeur la plus large de son champ (64 caractères pour unstring, 21 pour unnumber, 17 pour uninteger, 5 pour unboolean) — qui doit rester dans la limite de 912 caractères.
RegisterProvider : un descripteur qui
enfreint une règle est rejeté avec la raison, et rien n’est enregistré.
Désenregistrer un fournisseur serveur
État côté serveur
apiVersionetruntimeEpoch;selected, une correspondance compacte par domaine ;domains, incluant pour chacun le réglage, l’état, la raison, le fournisseur sélectionné et tous les candidats enregistrés.
selected, disabled, unavailable, ambiguous ou degraded.
Un échec de callback dégrade le fournisseur sélectionné ; un callback réussi
ultérieur efface l’état d’échec.
Enregistrer un fournisseur d’interaction client
Add et Remove sont requis. Progress est facultatif. Add doit renvoyer
exactement true lorsque l’enregistrement réussit. Progress renvoie
exactement true une fois terminé et false en cas d’annulation ou d’échec.
watchedResources liste les dépendances dont le démarrage ou l’arrêt doit
déclencher une réévaluation du fournisseur.
apiVersion, runtimeEpoch, le réglage, l’état,
la raison et le fournisseur sélectionné.

