Comandos
FR Guard expone comandos de consola y de chat, y un panel NUI completo para el staff.
¿Quién puede usar los comandos?
Por defecto:
- ESX — grupos
admin,superadmin,mod(configurable enConfig.Frameworks.esx.adminGroups). - QBCore — grupos
admin,god(configurable enConfig.Frameworks.qbcore.adminGroups). - Standalone — permiso ACE
fiverank.admin. - Consola del servidor — siempre tiene acceso.
Dar permiso a alguien sin grupo admin:
add_ace identifier.discord:123456789012345678 fiverank.admin allow
Staff extra sin ACE (por Discord ID):
set fiverank_staff_discord_ids "506000000000000021,123000000000000045"
O en config.lua → Config.Detections.staffDiscordIds. Estos jugadores también quedan exentos de los detectores automáticos.
Comandos de consola
fiverank_status
Muestra el estado actual del recurso.
> fiverank_status
[FiveRank Guard] ─── STATUS ─────────────────────
framework : esx
language : es
cache entries : 47
checks (1h) : 142
rejections (1h): 2
─────────────────────────────────────────────────
Úsalo para verificar que el recurso está online y el framework detectado es correcto.
fiverank_clear_cache
Vacía la caché de chequeos. La próxima vez que un jugador se conecte, FR Guard le hará un chequeo nuevo ignorando el resultado anterior.
> fiverank_clear_cache
[FiveRank Guard] cache vaciada
Cuándo usarlo: después de banear o desbanear a alguien y quieres que el cambio surta efecto en la próxima reconexión sin esperar el TTL de 5 min.
fiverank_recheck <serverID>
Re-chequea a un jugador ya conectado ignorando la caché. Si está baneado o su riesgo ha cambiado desde que entró, FR Guard lo kickea automáticamente.
> fiverank_recheck 12
[FiveRank Guard] re-check 12 (Carlos) → BANNED → kick
12 es el server ID del jugador (el número de la lista de jugadores de FiveM).
fiverank_metrics_status
Muestra el estado del módulo de métricas en vivo.
> fiverank_metrics_status
[FiveRank Guard] metrics enabled=true · nonce=4287 · failures=0 · players=42/64
| Campo | Descripción |
|---|---|
| enabled | true si fiverank_metrics="1" y el token es válido. |
| nonce | Contador incremental de heartbeats enviados. |
| failures | Fallos consecutivos. Si > 0, el sistema reintenta con backoff exponencial (hasta 5 min entre intentos). |
| players | Jugadores actuales / slots máximos. |
fiverank_add_staff <discordId>
Añade en caliente un Discord ID a la lista de staff exento de detecciones, sin reiniciar el recurso.
> fiverank_add_staff 506000000000000021
[FiveRank Guard] 506000000000000021 añadido a staffDiscordIds en caliente.
El cambio persiste hasta el próximo restart del recurso. Para hacerlo permanente, añádelo en config.lua → Config.Detections.staffDiscordIds.
Panel staff in-game — /fivepanel
El panel NUI de FR Guard permite al staff moderar sin salir del juego. Fondo semitransparente: el mundo sigue siendo visible detrás.
Cómo abrirlo
- Tecla rápida:
F6por defecto. - Comando de chat:
/fivepanel. - Cambiar tecla por defecto: edita
Config.Behavior.panelKey = 'F7'enconfig.lua. Solo se aplica la primera vez que carga el keymap — el jugador puede reasignarla en FiveM → Ajustes → Controles del teclado → "FiveRank Guard".
Pestaña: Jugadores online
Cada jugador conectado aparece como una tarjeta con:
- Avatar con iniciales generadas del nombre.
- Badge
#sourcey badge de ping con color semáforo (verde / amarillo / rojo). - Badge Discord — presente (morado) o ausente.
- Badge FiveRank — dorado si tiene cuenta vinculada; gris discontinuo si no.
- Pill de riesgo animado — verde (limpio) → amarillo (warn) → naranja (suspicious) → rojo parpadeante (critical).
- Score numérico de riesgo.
- Discord ID completo debajo del nombre.
Buscador en tiempo real por nombre o ID (filtrado local, sin petición de red).
Acciones por jugador
Moderación clásica (siempre disponible):
| Acción | Descripción |
|---|---|
| Kick | Drop in-game. Se abre un modal para escribir el motivo (mínimo 3 caracteres). |
| Ban | Ban temporal o permanente con motivo. Crea el ban en la API de FiveRank + kickea al jugador. |
Acciones in-game (requieren Config.Behavior.allowStaffMovementActions = true):
| Acción | Descripción |
|---|---|
| Espectar | Activa modo espectador apuntando al jugador. El botón se marca en rojo mientras está activo. Si el target se desconecta, el espectado termina automáticamente. |
| Ir a | Teletransporta al staff a las coordenadas actuales del jugador. |
| Traer | Teletransporta al jugador a las coordenadas actuales del staff. |
| Revivir | Levanta al jugador del suelo (NetworkResurrectLocalPlayer). |
| Curar | Restaura HP máxima + 100 de armor. |
| Congelar | Inmoviliza al jugador en su posición actual. |
| Descongelar | Libera el movimiento del jugador. |
Pestaña: Bans activos
Lista de todos los bans activos en el servidor con buscador (por nombre, Discord ID o razón). Permite Revocar un ban directamente desde el panel, sincronizado con la API web.
Salvaguardas de seguridad
- Doble validación
isStaff()en cliente y servidor — ninguna acción puede ejecutarse solo desde el lado cliente. - Rate-limit de 1,5 s por administrador — anti-spam de acciones.
- Broadcast al staff — cada acción se notifica en tiempo real a todos los admins conectados:
[FivePanel] Admin → Target (acción). - Notificación al jugador objetivo en chat:
[FiveRank Staff] Has sido curado/movido/revivido/congelado por un administrador. - No se permite auto-target en
bring/goto/spectate. - Si el target se desconecta durante una acción en curso, el sistema cancela limpiamente.
Desactivar las acciones in-game
Si prefieres que el staff solo pueda hacer Kick y Ban (por ejemplo, en un servidor roleplay estricto donde los movimientos forzados rompen la narrativa):
Config.Behavior.allowStaffMovementActions = false
Esto elimina los botones de movimiento del panel. Kick y Ban siguen disponibles.