Nob ~/accessscope

07 · minecraft + redes

AccessScope

¿Qué le responde un servidor de Minecraft a un jugador que intenta entrar?

Una herramienta de diagnóstico: entra a un servidor de Minecraft como lo haría un jugador, observa todo lo que el servidor le responde y lo clasifica, sin adivinar

##Verlo funcionar

##Una sesión real

Se conecta con Mineflayer (en modo offline, sin cuentas de Microsoft) y registra lo que llega: el mensaje de expulsión con sus colores, el MOTD, el ícono, la versión, la marca del servidor y cuánto duró la sesión. Con eso dice si llegó al juego, si hay lista blanca, un baneo, un problema de cuenta o si el servidor no respondió. Antes del primer análisis hay que aceptar un aviso de uso responsable: la herramienta solo mira lo que el servidor responde

##Reglas que votan

La clasificación usa reglas escritas a mano, y votan: si dos reglas apuntan a cosas distintas, el resultado es "ambiguo" en vez de elegir una. Las reglas se agregan una por una con mensajes reales que voy encontrando, como el de un baneo en español que al principio no reconocía. Y un problema de cuenta no se presenta como baneo, porque no es evidencia de eso

##Aislado y cancelable

Cada análisis corre en su propio proceso de Node.js, separado de la app, y se puede cancelar en cualquier momento. Hay 93 pruebas en Python que cubren las reglas, la ejecución y el almacenamiento

##Directo o por Tor

Se puede salir directo o por Tor para comparar qué ve cada ruta. En la prueba con un servidor grande, la respuesta por Tor fue idéntica a la directa

##Una tarjeta para compartir

El resultado se convierte en una imagen: el servidor como aparece en la lista del juego, la skin del jugador y el mensaje del servidor, con fondos a elegir y un editor para acomodar cada parte

~/accessscope · cómo funciona
AccessScope (GTK4 + WebKit)
 │ servicio en Python
 ▼
proceso Node.js aislado (Mineflayer)
 │ directo o por Tor
 ▼
servidor de Minecraft
 │ expulsión · MOTD · ícono · marca · versión
 ▼
reglas que votan
 ├─ todas de acuerdo ─► clasificación
 └─ no coinciden ─────► "ambiguo"

##Bitácora

  1. La baseCada análisis corre en su propio proceso de Node.js, aislado, que se puede cancelar en cualquier momento. Las reglas votan: si dos no se ponen de acuerdo, el resultado es "ambiguo" en vez de adivinar. Probado en vivo contra servidores reales
  2. PulirloTiempos de espera configurables, exportar resultados, pruebas automáticas y una tarjeta en imagen para compartir lo que respondió cada servidor

Una versión chica de las reglas, aquí en tu navegador: escribe un mensaje (admite los códigos § de color) y mira cómo votan. Las reglas de verdad viven en la app y son más