API backend oficial y sistema de autenticación para CreadorCraft Adventure, optimizada para la máxima eficiencia mediante transferencia de datos binarios puros (application/octet-stream), diseñada para soportar dispositivos retro (J2ME / MIDP 2.0) y modernos (Android / PC).
- Node.js & Express: Servidor HTTP de alto rendimiento.
- PostgreSQL (
pg): Base de datos relacional para almacenamiento persistente y atómico de cuentas y tokens. - Discord.js: Integración de bot para el sistema de inicio de sesión seguro (
/login) y eliminación de cuentas (/deletelogin). - Criptografía Nativa (
crypto): Generación segura de MasterTokens (32 bytes) y tickets temporales (6 bytes). - Seguridad de Red: Protección anti-spam con
express-rate-limitadaptada a respuestas binarias y soporte para CORS.
La especificación completa del protocolo binario de red, estructura de paquetes (DataPackets), tipos de datos y flujos de juego se encuentra alojada en el siguiente repositorio oficial:
👉 CreadorCraft Adventure Protocol Documentation
Todos los endpoints de autenticación operan estrictamente bajo peticiones binarias mediante application/octet-stream:
POST /wakeup: Endpoint de activación para mantener activo el servicio (ej. en Render), respondiendo un único byte (0x01).POST /login: Canjea el código temporal de 6 bytes generado por el bot de Discord por unMasterTokenpermanente de 32 bytes.POST /get-ticket: Valida elMasterTokende 32 bytes y la IP del servidor de juego para emitir un ticket temporal de 6 bytes (válido por 12 segundos).POST /verify-ticket: Utilizado por los servidores de juego para verificar el ticket de 6 bytes y obtener de forma segura eldiscordIdy el nombre de usuario del jugador.
Para desplegar y ejecutar este proyecto correctamente (en local o en Render), debes configurar las siguientes variables de entorno:
| Variable | Descripción |
|---|---|
DATABASE_URL |
Cadena de conexión completa a tu base de datos PostgreSQL. |
DISCORD_BOT_TOKEN |
Token secreto de autenticación de tu aplicación en el Discord Developer Portal. |
PORT (Opcional) |
Puerto de escucha del servidor (asignado automáticamente por Render). |
- Crea un nuevo Web Service en Render conectado a este repositorio.
- Configura los comandos de compilación y ejecución:
- Build Command:
npm install - Start Command:
npm start
- Build Command:
- Añade las variables de entorno (
DATABASE_URLyDISCORD_BOT_TOKEN) en el panel de configuración de Render.