1. Los nombres de proveedor
deben estar en minúsculas, tener como máximo 64 caracteres y contener solo
letras, dígitos, _, . o -. Las prioridades deben ser números finitos entre
-100000 y 100000.
Registrar un proveedor de servidor
domain es player, inventory, dispatch o actions. El registro debe
hacerse desde un recurso externo. Devuelve true si tiene éxito o false más
un motivo estable y legible cuando el descriptor es rechazado.
Todo descriptor requiere:
Descriptor de jugador
kind puede ser success, error, warning o inform. Trata los tipos
desconocidos como informativos.
Descriptor de inventario
AddItem debe devolver exactamente true tras aceptar la operación. Devuelve
false si el inventario está lleno, el objeto es desconocido, los metadatos son
inválidos o por cualquier otro rechazo.
Descriptor de dispatch
kind y el payload neutrales a tu recurso de dispatch. Devuelve
false solo cuando el reporte fue rechazado; nil cuenta como aceptado tras un
callback correcto.
Descriptor de acciones
_, y tener como máximo 64 caracteres. RunAction debe
devolver exactamente true tras completar o aceptar la acción; es opcional para
un proveedor cuyo SupportedActions esté vacío.
Valida source, la distancia a npcCoords, los permisos, los identificadores,
las cantidades y todos los params en el servidor. El nombre de la acción no es
una autorización.
El mismo descriptor declara las observaciones del servidor que la integración
puede reportar (consulta Observaciones del servidor):
Namespacecoincide con^[a-z][a-z0-9]{1,15}$y es obligatorio en cuantoObservationsno esté vacío. Prefija cada clave en el cable (myserver:item_given), de modo que una clave del servidor nunca coincida con un tipo de evento integrado.Observationsasigna hasta 32 claves (^[a-z][a-z0-9_]{0,31}$) a una definición con hasta 8fields, nombrados como las claves y tipados comostring,integer,numberoboolean, y unatemplatecon al menos uno de los idiomas que ofrece el panel (se usa el idioma del NPC; si no, inglés; si no, el primero declarado). Cada línea tiene como máximo 400 caracteres sin caracteres de control, sus{placeholders}nombran campos declarados y no contiene otras llaves. Una plantilla también se dimensiona por su renderizado en el peor caso — cada aparición de un marcador con el valor más ancho de su campo (64 caracteres para unstring, 21 para unnumber, 17 para uninteger, 5 para unboolean) — que debe mantenerse dentro de 912 caracteres.
RegisterProvider: un descriptor que incumple
una regla es rechazado con el motivo y no se registra nada.
Anular el registro de un proveedor de servidor
Estado del servidor
apiVersionyruntimeEpoch;selected, un mapa compacto por dominio;domains, incluyendo para cada uno su ajuste, estado, motivo, proveedor seleccionado y todos los candidatos registrados.
selected, disabled, unavailable, ambiguous o degraded.
Un fallo en un callback degrada el proveedor seleccionado; un callback correcto
posterior limpia el estado de fallo.
Registrar un proveedor de interacción de cliente
Add y Remove son obligatorios. Progress es opcional. Add debe devolver
exactamente true cuando el registro tiene éxito. Progress devuelve
exactamente true al completarse y false si se cancela o falla.
watchedResources enumera las dependencias cuyo inicio/parada debe provocar la
reevaluación del proveedor.
apiVersion, runtimeEpoch, el ajuste, el
estado, el motivo y el proveedor seleccionado.

