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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.