Permisos ACE en FiveM: la guía completa para asegurar tu servidor
Gestionar quién puede hacer qué en un servidor FiveM es la base de todo proyecto serio. Dar derechos de administrador a cualquiera o dejar comandos sensibles accesibles para todos es la mejor manera de ver cómo su servidor se descontrola.
El sistema ACE (Access Control Entry) es el sistema de permisos nativo de FiveM. Te permite crear grupos (admin, moderador, policía, VIP…), asignarles derechos específicos y gestionar todo de manera jerárquica. En esta guía, revisamos todo lo que necesitas saber para configurar tus permisos correctamente.
¿Qué es exactamente el sistema ACE?
ACE es el sistema de permisos integrado en FiveM. Te permite:
- Controlar el acceso a comandos y funcionalidades
- Crear grupos con diferentes niveles de derechos
- Gestionar los permisos de manera jerárquica (un admin hereda los derechos de un moderador, etc.)
- Asegurar los recursos y comandos sensibles
Todo se configura en el archivo server.cfg de tu servidor.
Los tres conceptos a entender
Antes de lanzarte a la configuración, es necesario entender tres nociones esenciales.
1. El Principal (la identidad)
Es lo que identifica a un jugador o un grupo. Puede ser:
identifier.steam:110000xxxxxx # Identificador Steam
identifier.license:xxxxxx # Licencia Rockstar
identifier.discord:xxxxxx # ID Discord
identifier.fivem:xxxxxx # ID FiveM
group.admin # Un grupo
2. El ACE (el permiso)
Es el derecho que otorgas o niegas:
command.kick # Permiso para kick
command.ban # Permiso para ban
resource.admin_menu # Acceso a un recurso específico
3. Allow / Deny
Autorizas (allow) o niegas (deny) el permiso.
La herencia entre grupos
Es lo que hace que el sistema ACE sea realmente práctico. Un grupo puede heredar los permisos de otro grupo.
Por ejemplo, si tienes esta jerarquía:
superadmin → admin → moderador → soporte
Un superadmin tiene automáticamente todos los permisos de admin, que tiene todos los de moderador, y así sucesivamente. No necesitas copiar los mismos permisos en todas partes.
FiveM trata los permisos en este orden:
- Permisos específicos del jugador (identifier)
- Permisos de grupo (group)
- Permisos heredados
La sintaxis básica
Todo se realiza en tu server.cfg. Aquí están los comandos esenciales:
# Dar un permiso a un grupo o un jugador
add_ace <principal> <permiso> <allow/deny>
# Agregar un jugador a un grupo
add_principal <identifier> <group>
# Hacer que un grupo herede de otro
add_ace group.admin group.moderator allow
Configuración simple: un solo admin
Si estás comenzando y solo quieres darte los derechos de admin, aquí está lo mínimo:
# Crear el grupo admin con todos los comandos
add_ace group.admin command allow
# Agregarte al grupo admin (reemplaza con tu ID de Steam)
add_principal identifier.steam:110000xxxxxx group.admin
Con esto, tienes acceso a todos los comandos. Simple, pero no muy refinado en términos de gestión de derechos.
Configuración completa: estructura jerárquica
Aquí hay una configuración más seria con varios niveles de permisos:
####################################
# PERMISOS GLOBALES
####################################
# Bloquear los comandos peligrosos para todos por defecto
add_ace builtin.everyone command.restart deny
add_ace builtin.everyone command.stop deny
add_ace builtin.everyone command.exec deny
####################################
# SUPERADMIN (propietario del servidor)
####################################
add_ace group.superadmin command allow
add_ace group.superadmin txadmin allow
add_principal identifier.steam:110000xxxxxx group.superadmin
####################################
# ADMIN
####################################
# El admin hereda los derechos de moderador
add_ace group.admin group.moderator allow
# Permisos específicos de admin
add_ace group.admin command.restart allow
add_ace group.admin command.stop allow
add_ace group.admin command.start allow
add_ace group.admin command.refresh allow
add_ace group.admin command.ensure allow
add_ace group.admin command.setjob allow
add_ace group.admin command.giveitem allow
add_ace group.admin command.givemoney allow
add_ace group.admin command.car allow
add_ace group.admin command.dv allow
add_ace group.admin command.tp allow
add_ace group.admin command.bring allow
add_ace group.admin command.unban allow
add_principal identifier.steam:110000yyyyyy group.admin
####################################
# MODERADOR
####################################
# El moderador hereda los derechos de soporte
add_ace group.moderator group.support allow
# Permisos de moderación
add_ace group.moderator command.kick allow
add_ace group.moderator command.ban allow
add_ace group.moderator command.warn allow
add_ace group.moderator command.mute allow
add_ace group.moderator command.spectate allow
add_ace group.moderator command.goto allow
add_ace group.moderator command.announce allow
add_principal identifier.steam:110000zzzzzz group.moderator
add_principal identifier.discord:123456789 group.moderator
####################################
# SOPORTE
####################################
add_ace group.support command.tp allow
add_ace group.support command.tpto allow
add_ace group.support command.bring allow
add_ace group.support command.revive allow
add_principal identifier.steam:110000aaaaaa group.support
####################################
# VIP (ventajas sin derechos de admin)
####################################
add_ace group.vip vip.priority allow
add_ace group.vip vip.customskin allow
add_ace group.vip vip.spawnvehicle allow
add_principal identifier.steam:110000bbbbbb group.vip
Los diferentes tipos de identificadores
ID de Steam (recomendado)
Es el más fiable y el más utilizado:
add_principal identifier.steam:110000xxxxxx group.admin
Para encontrar el ID de Steam de un jugador:
- El jugador se conecta al servidor
- Escribe
statusen la consola del servidor - Localiza la línea con su apodo y copia el identificador
steam:xxxxx
ID de Discord
add_principal identifier.discord:123456789012345678 group.admin
Para encontrarlo: activa el modo desarrollador en Discord, luego haz clic derecho en el usuario → Copiar ID.
Licencia Rockstar
add_principal identifier.license:xxxxxxxxxxxxxx group.admin
ID de FiveM
add_principal identifier.fivem:xxxxxx group.admin
A evitar: La identificación por IP (
identifier.ip:xxx) no se recomienda ya que las IP cambian regularmente.
Permisos para los trabajos (servidor RP)
En un servidor de roleplay, puedes crear permisos específicos por trabajo:
# Policía
add_ace group.police police.menu allow
add_ace group.police police.armory allow
add_ace group.police police.handcuff allow
add_ace group.police police.vehicle allow
# EMS
add_ace group.ems ems.menu allow
add_ace group.ems ems.vehicle allow
add_ace group.ems command.revive allow
add_ace group.ems command.heal allow
# Mecánico
add_ace group.mechanic mechanic.menu allow
add_ace group.mechanic mechanic.repair allow
En tus scripts, luego verificas el permiso:
if IsPlayerAceAllowed(source, 'police.armory') then
-- El jugador puede acceder a la armería
end
Restringir el acceso a un recurso
Puedes bloquear un recurso entero y solo permitirlo a ciertos grupos:
# Bloquear admin_menu para todos
add_ace builtin.everyone resource.admin_menu deny
# Autorizar solo a los admins
add_ace group.admin resource.admin_menu allow
Configuración con txAdmin
Si usas txAdmin para gestionar tu servidor, debes otorgar los permisos correspondientes:
# Acceso completo a txAdmin
add_ace group.superadmin txadmin allow
add_principal identifier.steam:110000xxxxxx group.superadmin
# Acceso limitado (ver sin poder modificar)
add_ace group.admin txadmin.view allow
add_ace group.admin txadmin.control allow
Integración con ESX y QBCore
Con ESX
ESX tiene su propio sistema de grupos en la base de datos, pero puede funcionar con ACE:
add_ace group.admin command.setjob allow
add_ace group.admin command.givemoney allow
add_principal identifier.steam:xxx group.admin
No olvides también poner el grupo en admin en la tabla users de tu base de datos ESX.
Con QBCore
QBCore utiliza los permisos ACE de forma nativa:
add_ace group.god command allow
add_ace group.admin qbcore.admin allow
Y en qb-core/server/main.lua, agrega tus identificadores en la configuración de permisos.
Comandos útiles para probar
Verificar si un jugador tiene un permiso
En la consola F8 o la consola del servidor:
test_ace steam:110000xxxxxx command.kick
Devuelve true o false.
Listar todos los permisos activos
list_aces
Resolver problemas comunes
Los permisos no se aplican
- Reinicia completamente el servidor (no solo
refresh) - Verifica la ortografía exacta de los identificadores (sensible a mayúsculas y minúsculas)
- Usa
statuspara ver los identificadores de los jugadores conectados
El orden es importante
Siempre crea el grupo antes de agregar jugadores:
# ❌ Mal orden
add_principal identifier.steam:xxx group.admin
add_ace group.admin command allow
# ✅ Buen orden
add_ace group.admin command allow
add_principal identifier.steam:xxx group.admin
Conflicto con ESX/QBCore
Si un comando es denegado a pesar de los permisos ACE correctos, el script en sí puede tener su propio sistema de verificación. Verifica la configuración del script correspondiente.
Buenas prácticas de seguridad
Principio del menor privilegio
No otorgues más permisos de los estrictamente necesarios:
# ❌ Demasiado amplio
add_ace group.moderator command allow
# ✅ Preciso
add_ace group.moderator command.kick allow
add_ace group.moderator command.ban allow
add_ace group.moderator command.warn allow
Protege los comandos críticos
# Bloquear para todos por defecto
add_ace builtin.everyone command.restart deny
add_ace builtin.everyone command.stop deny
add_ace builtin.everyone command.exec deny
# Autorizar solo a los superadmins
add_ace group.superadmin command.restart allow
add_ace group.superadmin command.stop allow
Documenta tu configuración
Comenta tu server.cfg para que puedas encontrarlo:
# ===== GRUPO ADMIN =====
# Puede gestionar a los jugadores y los recursos
# No puede detener/reiniciar el servidor
add_ace group.admin command.kick allow
# ...
En resumen
El sistema ACE de FiveM es poderoso y flexible una vez que se comprende su lógica. Los puntos clave a recordar:
- Utiliza grupos en lugar de permisos individuales
- Aprovecha la herencia para no repetirte
- El ID de Steam es el identificador más fiable
- Aplica el principio del menor privilegio
- Siempre prueba tus permisos después de modificarlos
¿Necesitas un servidor FiveM para implementar todo esto? OuiHeberg ofrece planes de alojamiento FiveM con acceso completo a tus archivos de configuración para gestionar tus permisos ACE como desees.

