rymga Licenses
Tu propio sistema de licencias para el software que vendes. Emite claves, vincúlalas a máquinas, limita funciones según el plan y revoca las que se filtren. Tu aplicación puede comprobarlas desde cualquier lenguaje mediante un sencillo endpoint HTTP con respuestas firmadas imposibles de falsificar.
Qué es
rymga Licenses es un backend de licencias alojado. Dispones de un espacio privado (un tenant) donde defines tus productos, emites claves de licencia para tus clientes y ves cada activación. Tu software llama a un endpoint para preguntar «¿es válida esta clave aquí y ahora?» y recibe un veredicto firmado en el que puede confiar.
No está ligado a ningún lenguaje ni plataforma. Puede integrarse cualquier software capaz de realizar una solicitud HTTPS: un plugin de Java, un servicio de Node, una herramienta de Python, una aplicación de escritorio en C# o un binario de Go. Hay un SDK de Java, sin dependencias; además, el contrato técnico está documentado para que cualquier otro lenguaje pueda integrarse directamente.
- Claves vinculadas al servidor — limita una clave a N máquinas, con un límite de IP por máquina.
- Validación firmada — cada respuesta se firma con tu clave privada y tu aplicación la verifica.
- Planes y funciones habilitadas — desbloquea exactamente aquello por lo que pagó cada cliente.
- Caducidades — licencias perpetuas o limitadas en el tiempo.
- Bloqueo y revocación — invalida de una vez una clave, IP, servidor o cliente en todas partes.
- Panel y bot de Discord — emite y gestiona claves desde un panel o desde Discord.
Conceptos
| Término | Qué significa |
|---|---|
| Tenant | Tu espacio privado, identificado mediante un slug. Tiene sus propias claves, productos y par de claves de firma. |
| Producto | Un software que vendes, identificado mediante un productCode. Cada licencia pertenece a un producto. |
| Clave de licencia | La credencial que entregas a un cliente, por ejemplo RYMGA-XXXX-XXXX-XXXX. |
| Plan | El plan al que pertenece una licencia (por ejemplo, BASIC, PRO). Determina qué se desbloquea. |
| Funciones habilitadas | Un mapa arbitrario devuelto con una clave válida; tu aplicación lo consulta para activar funciones. |
| Límite de servidores | Número de máquinas distintas en las que puede ejecutarse una clave, identificadas mediante una huella serverId como huella. |
| Límite de IP | Número de IP distintas permitidas por cada máquina activada. |
Emitir claves
No necesitas escribir ni una línea de código para crear licencias. Hay dos formas:
- Panel web — crea productos, emite claves, configura niveles, límites y caducidades, y consulta las activaciones. Añade a la lista negra o revoca con un clic.
- bot de Discord — emite y consulta claves, amplía su duración y vincula una clave a un cliente desde tu propio servidor. Los clientes pueden consultar sus claves con
/mylicenses.
Comprobar una clave
Tu software envía la clave, el código de producto y una huella de la máquina al endpoint de validación. El backend responde con un veredicto firmado; tu software verifica la firma y actúa en consecuencia.
- Obtén la clave de licencia del cliente (desde un archivo de configuración, una variable de entorno o un aviso en el primer inicio).
- Calcula un serverId estable para la máquina (consulta API de validación).
- POST al endpoint de validación con un
nonce. - Verifica la firma de la respuesta con la clave pública integrada.
- Confía en el veredicto solo si la firma es válida; después lee
tieryfeatureFlags.
Hazlo al iniciar y periódicamente durante la ejecución, no una sola vez.
Por dónde empezar
- Lee la API de validación para consultar el endpoint, la solicitud y la respuesta.
- Después, lee Verificar la firma — la parte que debe quedar bien implementada.
- ¿Trabajas sobre la JVM? Añade el SDK de Java. Para otros entornos, esa misma página incluye ejemplos HTTP completos y funcionales.