Sobre o projeto
ioGame é um framework de rede Java projetado para jogos online, IoT e sistemas internos que exigem conexões persistentes. Ele enfatiza uma arquitetura sem bloqueios, assíncrona e orientada a eventos que suporta clustering e distribuição prontos para uso, sem precisar de middleware externo ou bancos de dados — apenas uma JVM.
As principais características incluem:
- **Leve**: Jar pequeno (~15 MB), inicialização rápida (<1 segundo), baixo consumo de memória.
- **Arquitetura flexível**: Design em três partes (Servidor Externo, Broker/Gateway, Servidor de Lógica de Jogo) que podem rodar de forma independente ou fundidos, adaptando-se a qualquer tipo de jogo.
- **Escalabilidade dinâmica**: Adicione ou remova servidores em tempo real, permitindo atualizações sem tempo de inatividade.
- **Clustering descentralizado**: Cluster de broker sem mestre, auto-organizável, sem ponto único de falha.
- **Suporte a múltiplos protocolos**: Uma única base de código suporta TCP, WebSocket, UDP simultaneamente; extensível a KCP, QUIC, etc. Protocolos de dados (Protobuf, JSON) alternáveis com uma única linha.
- **Rastreamento distribuído de link completo**: IDs de rastreamento únicos entre máquinas e processos.
- **Modelos de comunicação ricos**: Requisição/resposta, broadcast, barramento de eventos e mais, todos com capacidade entre processos.
- **Segurança de thread por jogador**: O framework garante concorrência sem bloqueios para jogadores individuais.
- **Geração de código**: Escreva Java uma vez, gere SDKs de cliente para Godot, UE, Unity, Cocos Creator, React, Vue, Angular, etc.
- **Amigável ao desenvolvedor**: Codificação estilo MVC, validação JSR380, asserções, hot-swap de protocolos, afinidade no mesmo processo e depuração de múltiplos servidores em um único processo.
- **Seguro por design**: Servidores de lógica nunca expõem portas, imunes a ataques de varredura de portas.
- **Java moderno**: Requer JDK 21+, aproveitando o ZGC Geracional para pausas abaixo de milissegundo.
ioGame é lançado sob AGPL 3.0, com o compromisso de pelo menos dez anos de manutenção ativa a partir de 2022-03-01. É adequado tanto para servidores de jogos quanto para aplicações de IoT, lidando com milhões de conexões.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.