Sobre el proyecto

ioGame es un framework de red en Java diseñado para juegos en línea, IoT y sistemas internos que requieren conexiones persistentes. Enfatiza una arquitectura sin bloqueos, asíncrona y basada en eventos que admite clústeres y distribución de manera nativa, sin necesidad de middleware o bases de datos externas—solo una JVM. Las características clave incluyen: - **Ligero**: JAR pequeño (~15 MB), inicio rápido (<1 segundo), bajo consumo de memoria. - **Arquitectura flexible**: Diseño en tres partes (Servidor Externo, Broker/Puerta de Enlace, Servidor de Lógica de Juego) que puede ejecutarse de forma independiente o fusionada, adaptándose a cualquier tipo de juego. - **Escalado dinámico**: Añadir o eliminar servidores sobre la marcha, permitiendo actualizaciones sin tiempo de inactividad. - **Clúster descentralizado**: Clúster de brokers autoorganizado sin maestro, sin punto único de fallo. - **Soporte multiprotocolo**: Un solo código base admite TCP, WebSocket y UDP simultáneamente; extensible a KCP, QUIC, etc. Los protocolos de datos (Protobuf, JSON) se cambian con una sola línea. - **Trazado distribuido de enlace completo**: IDs de traza únicos entre máquinas y procesos. - **Modelos de comunicación ricos**: Solicitud/respuesta, difusión, bus de eventos y más, todos capaces de operar entre procesos. - **Seguridad de subprocesos por jugador**: El framework garantiza concurrencia sin bloqueos para jugadores individuales. - **Generación de código**: Escriba Java una vez, genere SDKs de cliente para Godot, UE, Unity, Cocos Creator, React, Vue, Angular, etc. - **Amigable para desarrolladores**: Codificación estilo MVC, validación JSR380, aserciones, protocolos intercambiables en caliente, afinidad de mismo proceso y depuración de un solo proceso con múltiples servidores. - **Seguro por diseño**: Los servidores de lógica nunca exponen puertos, inmunes a ataques de escaneo de puertos. - **Java moderno**: Requiere JDK 21+, utilizando ZGC generacional para pausas de submilisegundos. ioGame se publica bajo AGPL 3.0, con el compromiso de al menos diez años de mantenimiento activo a partir del 01-03-2022. Es adecuado tanto para servidores de juegos como para aplicaciones IoT, manejando millones de conexiones.