Documentación
MCSManager
Conecte un panel MCSManager y Provibr aprovisiona, controla e importa servidores de juego en él. Esta página cubre lo que difiere de los demás paneles de juego.
Clave de API
MCSManager se autentica con una única clave de API: ni un cliente OAuth2 ni un par de claves. Cree una en el panel, dentro de la propia cuenta, y péguela en Provibr junto con la URL del panel.
- Host: la URL completa del panel con el puerto, por ejemplo http://panel.example.com:23333. MCSManager usa HTTP sin cifrar en el 23333 de forma predeterminada, y no hay puerto que Provibr pueda añadir sin adivinar.
- Clave de API: la clave de 32 caracteres que genera el panel. Hay una clave por usuario del panel y crear una segunda sobrescribe la primera, así que conviene dar a Provibr un usuario propio en lugar de la cuenta de trabajo diario.
- Huella TLS (opcional): solo para un host https://, para fijar el certificado.
La clave debe pertenecer a un administrador: crear, modificar y eliminar instancias son rutas exclusivas de administrador, así que una clave de un usuario corriente puede leer el panel pero no aprovisionar nada. Provibr lo comprueba al probar la conexión, no en el primer pedido. Además es un mandato amplio: la misma clave abre el gestor de archivos y la gestión de usuarios del panel, y esa es la segunda razón para darle un usuario propio.
Transporte
MCSManager sirve HTTP sin cifrar en el puerto 23333 y no trae certificado propio. Si el panel está detrás de un reverse proxy con TLS, rellene la huella de ese proxy; el agente confía entonces en ese único certificado en lugar de desactivar la verificación. Se lee con:
openssl s_client -connect <host>:443 </dev/null 2>/dev/null | \
openssl x509 -noout -fingerprint -sha256Deje el campo vacío con un certificado de una autoridad pública, y también cuando el panel solo sea accesible por http: una huella junto a una dirección http se rechaza, porque no hay certificado que fijar. Un panel en http sin cifrar funciona, pero la clave de API y todo lo que hace la integración viajan entonces sin cifrar.
Instancias
Una instancia de MCSManager es en esencia un comando de inicio y un directorio de trabajo. No hay egg, ni código de juego, ni plantilla con variables, así que Provibr no construye un servidor a partir de una entrada de catálogo: el comando de inicio viene del plan de juego que se define.
Planes
Un plan de juego lleva el comando de inicio y, si el servidor lo necesita, cómo detenerlo. El pedido se hace mediante un plan: lo que se ejecuta viene del plan, y el daemon en el que aterriza viene de los ajustes de la integración, o se elige solo cuando el panel tiene uno único.
- Comando de inicio: obligatorio. Nada más decide qué se ejecuta, así que, a diferencia de un panel con eggs, no hay valor por defecto al que recurrir.
- Comando de parada: opcional. Vacío significa ^C, la notación propia de MCSManager para SIGINT y el valor por defecto del panel; un servidor de Minecraft quiere stop.
- Tiempo de espera de parada: opcional. Vacío significa el valor por defecto del panel, 10 segundos, tras los cuales el daemon interviene de forma dura.
Ubicación
MCSManager sí lista sus daemons e informa de la memoria total de cada uno, así que el motor de ubicación tiene un techo real con el que ordenar, más de lo que ofrecen PufferPanel y GameAP. En un panel con un solo daemon, que es la instalación corriente, el agente lo elige y no hay nada que rellenar.
Suspensión
MCSManager suspende mediante una fecha de caducidad puesta en la instancia, y el propio panel la hace cumplir: el daemon se niega a arrancar una instancia cuyo plazo ha pasado. Eso convierte a esta en la suspensión honesta: quien entre directamente en la interfaz de MCSManager no puede arrancar un servidor suspendido por Provibr, y en PufferPanel y GameAP eso no es así.
- La suspensión también detiene el servidor. El barrido propio del panel se ejecuta una vez por hora, así que sin ese segundo paso una instancia en marcha seguiría funcionando hasta sesenta minutos después de suspenderla.
- Reanudar restaura la caducidad anterior en lugar de borrarla. Si ya había una fecha puesta, borrarla convertiría la instancia, en silencio, en una que nunca caduca.
Docker
MCSManager ejecuta una instancia de dos maneras: como proceso simple en un pty o dentro de un contenedor Docker. Todo límite de recursos que conoce el panel pertenece a la segunda: memoria, CPU y disco. Un proceso simple corre sin cgroup, sin techo de memoria y sin cuota de disco.
Lo que Provibr no hace
No hay consola: la terminal de MCSManager va por socket.io con un heartbeat propio en lugar de un websocket simple, y la dirección de daemon que devuelve el panel es una local que un agente situado en otro sitio no alcanza. Tampoco hay gráficas de uso. CPU y memoria son medidas reales, pero el disco está fijado a cero en el daemon y la red falta por completo, así que dos de las cuatro gráficas se quedarían en cero para siempre. La reinstalación se rechaza con un motivo legible, porque MCSManager solo reinstala desde un preajuste y Provibr no crea desde uno. Crear, arrancar, detener, reiniciar, matar, leer el estado, suspender, reanudar, eliminar e importar instancias existentes sí funciona todo.