Seguridad
Cómo protege EN-PausaMenu tu servidor y qué archivos puedes editar
Lógica en el servidor
El cliente no calcula dinero, trabajos, rankings ni recompensas: solo muestra lo que recibe. Aunque un jugador manipule su interfaz, no puede cambiar su dinero ni su trabajo.
Peticiones protegidas
Todas las peticiones del menú al servidor pasan por un filtro que:
- Limita cada petición por jugador (por defecto, una cada 750 ms; ajustable con
ServerConfig.Security.CallbackCooldownMs). - Aplica límites más estrictos a las acciones sensibles: cambiar, borrar o dejar un trabajo (1,5 s) y consultar el avatar de Discord (5 s).
- Valida los datos recibidos, como los nombres de trabajo.
- Aísla los errores para que una petición malformada no rompa el recurso.
- Avisa en la consola tras
AbuseLogThresholdpeticiones rechazadas seguidas:
[EN-PausaMenu] Posible spam de callbacks: Jugador (ID 12) en "getPlayerData".Multitrabajo seguro
El grado siempre se lee del servidor y nunca se acepta el que envía el cliente. Solo se aceptan trabajos y grados que existen en tu framework y que cumplen tus reglas (IgnoredJobs, WhitelistJobs).
Secretos fuera del cliente
- El token del bot y el webhook se leen con convars de servidor (
set, nosetr). config_server.luanunca se envía a los jugadores.- Al cliente solo se envían los datos visibles de los premios; los detalles de entrega se quedan en el servidor.
Código protegido
Los archivos principales se distribuyen cifrados con Cfx Asset Escrow. Estos archivos quedan abiertos para que los edites:
| Archivo | Para qué |
|---|---|
config.lua | Configuración de cliente |
config_server.lua | Configuración de servidor |
client/cl_custom.lua | Tus integraciones de cliente |
server/sv_custom.lua | Tus integraciones de servidor |
ui/images/ | Logo e imágenes |
Licencia
Cada compra da licencia para un servidor, a través de Cfx.re. Queda prohibido redistribuir, revender o compartir el recurso, o eludir sus protecciones. Cada copia se vincula a la cuenta del comprador.
