Lanzar tokens
Los lanzar tokens son credenciales temporales utilizadas para validar la conexión técnica entre el launcher y el juego durante el inicio. Su objetivo es permitir que el juego confirme que fue ejecutado mediante Launcher Forge y que el token entregado por el launcher sigue siendo válido.Un launch token funciona como un pase temporal de inicio entre el launcher y el runtime del juego.
Qué valida un launch token
La validación conecta cuatro componentes:- El launcher de escritorio.
- El backend de Launcher Forge.
- El ejecutable del juego.
- La integración de validación instalada en el juego.
- El registro de usuarios finales.
- El inicio de sesión dentro del launcher.
- La propiedad de un juego.
- El canje de CD keys.
- La biblioteca del jugador.
Flujo general
Diagrama de arquitectura
Resumen del proceso
1. El launcher solicita el token
Cuando el jugador selecciona Play, el launcher realiza una solicitud al backend para generar un token temporal asociado al juego.Endpoint de generación
:gameId identifica el juego que será iniciado.
Ejemplo conceptual:
2. El backend genera un token temporal
El backend crea un token con una duración breve. En el flujo actual, el token tiene un TTL aproximado de:3. El launcher inicia el juego
Después de recibir el token, el launcher ejecuta el juego y lo añade a los argumentos del proceso. Contrato de inicio:4. El juego lee el argumento
Durante el inicio, la integración del juego debe buscar el parámetro:- Leer los argumentos del proceso.
- Detectar
--launchToken=.... - Extraer el token.
- Confirmar que no esté vacío.
- Enviarlo al backend de validación.
5. El juego envía el token al backend
El juego envía el token en el cuerpo de una solicitudPOST.
Cuerpo de la solicitud
6. Respuesta válida
Cuando la validación termina correctamente, el backend devuelve una respuesta con el estado y los datos validados.Contrato de respuesta
Campos disponibles
La conexión se considera validada cuando la solicitud termina correctamente y
data.valid es true.7. Token inválido o expirado
Cuando el token es inválido, ya fue utilizado fuera del flujo esperado o superó su tiempo de vida, el backend responde con401 Unauthorized.
Comportamiento recomendado ante un error
Cuando la validación falla, el juego debería:- Detener el flujo que requiere una conexión validada.
- Mostrar un mensaje breve y comprensible.
- Permitir cerrar el juego o volver a una pantalla segura.
- Registrar únicamente la información técnica necesaria.
- Evitar imprimir el token completo.
- El token.
- Cabeceras de autorización.
- URLs privadas.
- Respuestas internas completas.
- Trazas del backend.
Estados que debe controlar la integración
La integración debería distinguir al menos estos estados:Flujo lógico del juego
Buenas prácticas de seguridad
Trátalo como una credencial temporal
Aunque tenga una vida útil breve, el launch token debe protegerse mientras exista. No lo guardes en:- Archivos de configuración.
- Bases de datos locales.
- Preferencias del jugador.
- Logs de producción.
- Capturas de pantalla.
- Mensajes de error.
No confíes solamente en el argumento
Un usuario puede iniciar manualmente un ejecutable con un argumento inventado. El juego debe enviar el valor al backend y esperar una respuesta válida.No reutilices tokens
El juego no debería almacenar el launch token para utilizarlo en futuros inicios. Cada inicio desde el launcher debe generar un nuevo token.Controla la expiración
El launcher debe iniciar el juego inmediatamente después de generar el token. El juego debe comenzar la validación tan pronto como sea posible durante su inicialización.Maneja errores de red
Una falla de conexión no debe interpretarse como una validación correcta. Distingue entre:- Token inválido.
- Token expirado.
- Backend no disponible.
- Timeout.
- Respuesta inesperada.
Integración con motores
La lógica general es la misma para todos los motores:- Leer
--launchToken. - Extraer el token.
- Enviar
{ token }al backend. - Revisar el código HTTP.
- Confirmar
success. - Confirmar
data.valid. - Continuar o rechazar el flujo.
Unreal Engine
Configura el plugin, lee el token durante el inicio y valida la conexión desde Unreal Engine.
Unity
Configura el paquete, lee los argumentos y valida la conexión desde Unity.
Lista de verificación
Antes de publicar una build destinada a distribución, comprueba:- El juego lee
--launchToken. - El token se extrae sin incluir caracteres adicionales.
- La solicitud utiliza el cuerpo
{ "token": "..." }. - El backend responde con el contrato esperado.
data.validdebe sertrue.- Los errores
401se controlan correctamente. - Los errores de red no se tratan como éxito.
- El token no aparece en logs de producción.
- El juego muestra un mensaje controlado cuando la validación falla.
- La validación se prueba iniciando el juego desde el launcher.
La integración está lista cuando el juego puede distinguir correctamente entre un inicio validado, un token inválido, un token ausente y un error de conexión.
Siguiente paso
Selecciona la integración correspondiente al motor de tu juego:Integrar con Unreal Engine
Implementa el flujo de launch tokens con el plugin de Launcher Forge para Unreal Engine.
Integrar con Unity
Implementa el flujo de launch tokens con el paquete de Launcher Forge para Unity.
