-
Los amigos
Desde sus casas, con el nombre del servidor.
-
Router
Solo tiene abiertos los puertos de los servidores encendidos, con reglas creadas por la automatización.
-
DNS en Cloudflare
Un nombre por servidor, que solo existe mientras está encendido. Sin proxy: los juegos no hablan HTTP.
-
Publicador automático
Cada minuto pregunta al panel qué está encendido y ajusta router y DNS. En el router solo puede tocar sus propias reglas.
-
Discord
Un canal donde cada servidor tiene su mensaje de estado: encendido o apagado, quién está dentro, la dirección y el enlace para entrar.
-
Web pública de los servidores
Una sola página con los servidores en vivo, agrupados por juego, con «Copiar» y «Conectar con Steam», quién está en Discord y las normas. No enlaza al panel de AMP.
-
Panel de gestión del bot
Solo desde casa o la VPN, detrás de la puerta interna con doble factor. Desde aquí se dan de alta los servidores que AMP ya publica y se edita cómo salen.
-
Hipervisor
Corte de luz incluido: sin SAI, el servidor se apaga de golpe.
-
Proxy de Minecraft
Un solo puerto para todos los Minecraft: según el nombre con el que entras, te manda a un mundo u otro.
-
Cortafuegos del contenedor
Entrada bloqueada salvo los puertos declarados. El panel los sincroniza cada cinco minutos; el panel y SSH, solo desde casa.
-
Panel de AMP
Desde donde se encienden, apagan y configuran los servidores. Ya no se publica en internet.
-
Bot de estado
Lee el panel con un usuario sin privilegios y mantiene al día los mensajes de Discord y la web pública.
- JavaScript / TypeScript
- Docker
-
Minecraft con mods
El servidor principal, con casi noventa mods, varios de ellos de rendimiento.
-
Otros Minecraft
Mundos más pequeños, detrás del mismo proxy.
-
Juegos de Steam
Servidores dedicados que se encienden cuando alguien quiere jugar.
-
Gestor de instancias
Cada servidor es un contenedor Docker propio. El gestor los arranca, los para y los actualiza.
- Linux (Debian, Alpine, Arch)
-
Cuatro discos en espejo
Venían con la caché de escritura apagada. Encendida y guardada en el propio disco: las escrituras con fsync, de 108 a 946 por segundo.
- ZFS
- Linux (Debian, Alpine, Arch)
-
CPU en un solo procesador
El hipervisor daba hilos de los dos procesadores: Java tenía la memoria en uno y el trabajo en otro. Ahora el contenedor usa seis núcleos de uno solo.
-
Java ajustado
Memoria reservada desde el arranque, páginas grandes y sin limpiezas forzadas cada 5 segundos. La compresión, solo una vez: en el proxy.
-
Caché de ZFS en RAM
Ya servía más del 98 % de las lecturas: no hacía falta tocarla.
-
Fichero de usuarios
Donde AMP guarda cuentas y permisos. Con un corte de luz a mitad de escritura, se queda vacío.
-
Copia cada 30 minutos
Desde el hipervisor, fuera del contenedor, las 100 últimas versiones.
- Linux (Debian, Alpine, Arch)
-
Comprobar la copia
Una copia vacía o con «{}» no cuenta como copia: el script la rechaza y avisa.
- Linux (Debian, Alpine, Arch)
-
Monitorización
Vigila el contenedor y los procesos de los servidores.