Saltar al contenido principal

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 en Config.Frameworks.esx.adminGroups).
  • QBCore — grupos admin, god (configurable en Config.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
CampoDescripción
enabledtrue si fiverank_metrics="1" y el token es válido.
nonceContador incremental de heartbeats enviados.
failuresFallos consecutivos. Si > 0, el sistema reintenta con backoff exponencial (hasta 5 min entre intentos).
playersJugadores 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: F6 por defecto.
  • Comando de chat: /fivepanel.
  • Cambiar tecla por defecto: edita Config.Behavior.panelKey = 'F7' en config.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 #source y 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ónDescripción
KickDrop in-game. Se abre un modal para escribir el motivo (mínimo 3 caracteres).
BanBan 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ónDescripción
EspectarActiva 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 aTeletransporta al staff a las coordenadas actuales del jugador.
TraerTeletransporta al jugador a las coordenadas actuales del staff.
RevivirLevanta al jugador del suelo (NetworkResurrectLocalPlayer).
CurarRestaura HP máxima + 100 de armor.
CongelarInmoviliza al jugador en su posición actual.
DescongelarLibera 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.