1

Pitch: DigitaRoyale - Game de Digitação (Processo de construção) - Fable

Salve, pessoal!

Quero compartilhar com vocês um projeto que acabei de colocar no ar: o DigitaRoyale. É um jogo multiplayer de digitação (tipo um "battle royale" de teclado) rodando em um ambiente 3D.

Mais do que o jogo em si, o foco desse projeto foi colocar em prática algumas ferramentas de infraestrutura e comunicação em tempo real.

A Stack:

Backend & Real-time: Node.js puro com Express e Socket.IO para sincronizar os eventos de digitação e o estado do jogo entre os clientes.

Frontend: HTML/CSS/JS base com Three.js para a renderização do ambiente 3D.

Persistência: Optei por algo super leve, mantendo o estado de pontuação máxima em um arquivo ranking.json.

O Desafio de Infraestrutura (A parte legal):
Para o deploy, decidi fugir das plataformas PaaS tradicionais e fazer o self-hosting.
Subi o projeto em uma VPS da Hostinger utilizando o Coolify. Ao invés de usar o proxy reverso padrão do Coolify (Traefik/Caddy), configurei o container expondo a porta 7272 e criei as regras de proxy reverso e SSL diretamente no NGINX da máquina com Certbot.

Como o Coolify gerencia as aplicações via containers Docker (usando Nixpacks para o build do Node), o arquivo ranking.json se perdia a cada deploy. A solução foi configurar um File Mount (volume) apontando para o diretório físico da VPS, garantindo a persistência do ranking mesmo quando o container é recriado.

Convite:
O jogo está no ar! Fica o convite para vocês testarem a latência do Socket.IO, tentarem quebrar o jogo ou simplesmente ver quem tem o WPM (Words Per Minute) mais alto.

🔗 Link para jogar: https://digitaroyale.dantas-dev.com

Qualquer feedback sobre o código, a stack ou a estrutura de rede é muito bem-vindo!

Carregando publicação patrocinada...