Todos los proyectos
SoftwareInfraestructura y DevOps

CrzGames - RCNET (motor de servidor de juego)

Motor servidor C++ para UDP, microservicios y orquestación

Un motor servidor modular para arquitecturas multijugador modernas.

La necesidad del cliente

Contexto

CrzGames necesitaba un motor servidor robusto para servicios multijugador y backend de juego.

Problema

Montar manualmente red, seguridad, orquestación y comunicación entre servicios añade mucha complejidad operativa.

Objetivo

Entregar una base servidor única, industrializada y versionada alrededor de RCNETCore.

Lo que está en juego

  • Garantizar builds reproducibles en los OS soportados

  • Estabilizar la comunicación UDP, HTTP e inter-servicios

  • Integrar de forma nativa los flujos Kubernetes/Agones

La solución propuesta

Qué se construyó

RCNET en C++17 con CMake, dependencias fijadas y CI/CD automatizada.

Por qué esta elección

El diseño modular permite evolucionar el motor sin romper integraciones de servidores de juego.

Cómo responde a la necesidad

Bootstrap de dependencias desde dependencies.txt, ejemplos cliente/servidor, API pública en include y docs versionadas.

Funcionalidades clave

  • Base RCNETCore en C++17

  • UDP con RCENet y HTTP/HTTPS con cpp-httplib

  • Comunicación inter-servicios con NATS

  • Integración Agones SDK + gRPC para orquestación Kubernetes

  • Pipelines de release con versionado y changelog automáticos

Resultados

  • Base backend unificada para proyectos CrzGames

  • Despliegues más fiables en Windows, Linux y macOS

  • Menor coste de mantenimiento backend a largo plazo

Stack técnico

Decisiones técnicas usadas en este proyecto.

C++17CMakeGitHub ActionsRCENetOpenSSLcpp-httplibNATS C ClientlibsodiumAgones SDKgRPC

¿Tienes una necesidad similar?

Hablemos de tu proyecto. Te ayudo a adaptar este enfoque a tu propio contexto.