Permissions
Technified Admin uses a permission level system to control access to commands and features.
Permission Levels
| Level | Name | Typical Role |
|---|---|---|
| 0 | Player | Regular player, no admin |
| 1 | VIP | Special player status |
| 2 | Moderator | Basic moderation |
| 3 | Admin | Extended moderation |
| 4 | SuperAdmin | Server management |
| 5 | HeadAdmin | Full control |
| 6 | Owner | Game owner |
| 10 | Creator | Unrestricted (bypasses all checks) |
Permission Sources
Permissions are determined in this priority order:
1. API Permissions (Highest Priority)
Permissions set in the Technified dashboard sync to the game.
How it works:
- Player joins the game
- Game queries Technified API for permissions
- API returns permission level based on dashboard settings
- Player receives that permission level
Benefits:
- Manage permissions from dashboard
- Changes apply without game restart
- Consistent across all your games
- Audit trail of permission changes
2. Group Permissions
Permissions based on Roblox group rank.
Config.Permissions.GroupPermissions = {
[12345678] = { -- Your group ID
[255] = 6, -- Owner rank
[200] = 5, -- HeadAdmin rank
[100] = 3, -- Admin rank
[50] = 2, -- Moderator rank
},
}How it works:
- Player joins the game
- System checks their rank in specified groups
- Highest matching permission is applied
3. Fallback Permissions (Lowest Priority)
Direct user ID to permission mapping for when API is unavailable.
Config.Permissions.FallbackPermissions = {
[123456789] = 6, -- Your Roblox UserId
[987654321] = 3, -- Another admin
}Use cases:
- Game owner always has access
- Backup when API is down
- Testing without API
Permission Hierarchy
Higher levels can target lower levels, but not vice versa:
- Level 3 can kick Level 2, but not Level 4
- Level 5 can ban Level 4, but not Level 6
- Level 10 (Creator) bypasses all restrictions
Command Permissions
Each command has a minimum permission level:
Level 2 (Moderator)
:kick- Kick players:mute- Mute players:unmute- Unmute players:warn- Warn players:fly- Flight mode:speed- Walk speed:tp- Teleport:freeze- Freeze players:heal- Heal players
Level 3 (Admin)
:ban- Ban players:unban- Unban players:god- God mode:invisible- Invisibility:noclip- Noclip mode:chatlog- View chat logs
Level 4 (SuperAdmin)
:permban- Permanent ban:clearwarnings- Clear warnings:announce- Announcements:serverlock- Lock server
Level 5 (HeadAdmin)
:shutdown- Shutdown server:admin- Give temp admin:unadmin- Remove temp admin
Level 6+ (Owner)
- All commands available
- Can target anyone
- Full system access
Temporary Admin
Give temporary in-game admin with :admin:
:admin Player1 2 -- Give Moderator level
:admin Helper 3 -- Give Admin level
:unadmin Player1 -- Remove temp adminNotes:
- Temp admin lasts until player leaves
- Cannot give higher level than your own
- Logged to dashboard if connected
Dashboard Integration
When connected to Technified API:
Setting Up Permissions
- Go to Dashboard > Staff Management
- Create staff roles with permission levels
- Add staff members and assign roles
- Permissions sync to game automatically
Permission Mapping
Dashboard staff roles map to in-game levels:
| Dashboard Level | In-Game Level |
|---|---|
| 1-2 | 2 (Moderator) |
| 3-4 | 3 (Admin) |
| 5-6 | 4 (SuperAdmin) |
| 7-8 | 5 (HeadAdmin) |
| 9-10 | 6 (Owner) |
Real-Time Sync
- Permission changes in dashboard apply immediately
- No game restart required
- 5-minute cache for performance
Best Practices
Principle of Least Privilege
- Start staff at lowest necessary level
- Promote based on trust and need
- Review permissions regularly
Use Dashboard for Production
- Easier management
- Audit trail
- Consistent across games
- No code changes needed
Fallback for Critical Access
- Always set game owner in fallback
- Ensures access if API is down
- Use for emergency access
Group Permissions for Scale
- Good for public games
- Automatic based on group rank
- Scales with your team
Checking Permissions
In-Game
:staff- See online staff and levels:info <command>- See required level- Admin Panel shows everyone's level
Via Code
-- Get player's permission level
local level = _G.Technified.GetPermissionLevel(player)
-- Check if player is staff
local isStaff = _G.Technified.IsStaff(player)
-- Check if can target another player
local canTarget = _G.Technified.CanTarget(executor, target)