What is ACE?
ACE (Access Control Entry) is FiveM’s built-in permission system that controls who can execute commands and access resources.Flexible
Grant permissions by individual, group, or resource
Hierarchical
Create permission groups with inheritance
Granular
Control access to specific commands and features
Persistent
Configured in server.cfg, survives restarts
Permission Concepts
Principals
A principal is an entity that can have permissions:- Players: Identified by Steam, License, Discord, etc.
- Resources: Each resource is a principal
- Groups: Collections of principals
ACEs (Access Control Entries)
An ACE is a permission rule:- principal: Who gets the permission
- object: What they can access
- allow/deny: Grant or revoke access
Groups
Groups organize principals and inherit permissions:Basic Setup
Creating Admin Group
1
Find Your Steam ID
- Visit https://steamid.io
- Enter your Steam profile URL
- Copy your Steam ID64
- Format as:
identifier.steam:YOUR_STEAM_ID
2
Add to server.cfg
3
Restart Server
Permissions are loaded on server start. Restart to apply.
4
Verify In-Game
Connect and try an admin command:
Permission Hierarchy
Create a hierarchy of permission groups for different staff ranks:Assigning Ranks
Inheritance: If
group.admin has add_principal group.admin group.staff, admins automatically get all staff permissions too.Mythic Framework Permissions
Core Admin Permissions
Moderator Permissions (Limited)
Support Permissions (Very Limited)
Resource-Level Permissions
Control which resources can access sensitive functions:Command-Specific Permissions
Grant access to individual commands:Player Identifier Types
FiveM supports multiple identifier types. Use the most stable for your needs:- Steam ID
- License
- Discord
- IP Address
Format:
identifier.steam:110000XXXXXXXXPros:- Most stable and unique
- Recommended for primary identification
- Required for Steam authentication
- Players must have Steam open
- Use steamid.io
- Console:
print(GetPlayerIdentifier(source, 0))
Finding Player Identifiers
Dynamic Permission Management
Mythic Framework includes runtime permission management:In-Game Commands (if mythic-admin installed)
Programmatic Permission Checks
Troubleshooting
Permission Not Working
Permission Not Working
Problem: Player has permission in server.cfg but can’t use commandSolutions:
-
Verify server restart:
- Permissions are loaded on start
- Must restart server after changes
-
Check identifier format:
-
Verify identifier is correct:
-
Check permission syntax:
Can't Find Steam ID
Can't Find Steam ID
Problem: Don’t know player’s Steam IDSolutions:
-
Use steamid.io:
- Enter Steam profile URL
- Copy SteamID64
-
Server console when player connects:
-
Create identifier command:
Permission Denied for Resource
Permission Denied for Resource
Error:
Resource mythic-xyz attempted to use restricted commandCause: Resource trying to use function it doesn’t have permission forSolution:Inheritance Not Working
Inheritance Not Working
Problem: Player in group but doesn’t get group permissionsSolutions:
-
Check principal assignment:
-
Verify group has permissions:
-
Check order in server.cfg:
Security Best Practices
Least Privilege
Grant minimum permissions needed. Don’t give everyone admin.
Use Groups
Organize permissions in groups. Easier to manage than individual permissions.
Regular Audits
Review permissions monthly. Remove ex-staff, inactive admins.
Separate Duties
Different roles for different functions (moderation vs development).
Document Changes
Keep a log of who was given permissions and when.
Test Permissions
Test with alt account before granting to real players.
Complete Example Configuration
View Full Permission Setup
View Full Permission Setup
Next Steps
Server Configuration
Complete server.cfg guide
Resource Management
Resource load order and dependencies
Environment Variables
Configure server environment
Discord Webhooks
Set up logging webhooks