Features
Detailed explanation of Technified Adonis plugin features.
Bidirectional Sync
The plugin syncs moderation actions in both directions.
Dashboard to Game
When you ban/mute someone from the Technified dashboard:
- Next time they try to join, they're checked against the API
- Banned players are kicked with a ban message
- Muted players have Adonis mute applied
- The ban/mute appears in Adonis
:bansand:muteslists
Game to Dashboard
When you use Adonis commands like :ban or :mute:
- The action is detected by the plugin
- It's synced to the Technified API
- Appears in Dashboard > Roblox > Moderation
- Can be managed from the dashboard
Echo Prevention
The plugin prevents infinite sync loops:
- Actions from the API are marked to prevent re-syncing back
- Adonis actions are only synced once
- No duplicate bans or mutes
Permission Sync
Staff permissions from Technified automatically apply in Adonis.
How It Works
- Staff member joins the game
- Plugin queries Technified API for their permissions
- Maps Technified level to Adonis level
- Sets their Adonis admin level
Permission Mapping
| Technified Level | Role Example | Adonis Level | Adonis Rank |
|---|---|---|---|
| 10 | Creator | 900 | Creators |
| 7-9 | Owner/Head | 300 | HeadAdmins |
| 3-6 | Admin/Super | 200 | Admins |
| 1-2 | Moderator | 100 | Moderators |
| 0 | Player | 0 | Players |
Caching
- Permissions are cached for 5 minutes
- Reduces API calls for performance
- Use
:tsyncto force refresh
Coexistence with Adonis Settings
The plugin adds to existing permissions:
- Adonis config permissions still work
- API permissions override when higher
- Group permissions still function
Ban Sync
Full synchronization of bans between Adonis and Technified.
Startup Sync
When the server starts:
- Plugin fetches all active bans from API
- Adds them to Adonis
Settings.Bannedlist - They appear in Adonis
:banscommand - Banned players kicked on join
Real-Time Sync
When players join:
- Ban status checked against API
- If banned, player is kicked immediately
- Ban message shows reason, expiry, and moderator
Ban Message Format
===== BANNED FROM THIS GAME =====
Reason: Exploiting
Expires: 2024-03-20 15:00:00 UTC
Banned by: AdminName
Appeal at: https://technified.xyz
=================================Adonis Ban Integration
When using Adonis :ban:
:ban Player1 1h GriefingThe plugin:
- Detects the ban command
- Parses duration (
1h) and reason (Griefing) - Syncs to Technified API
- Ban appears in dashboard
Mute Sync
Full synchronization of mutes between Adonis and Technified.
Startup Sync
When the server starts:
- Plugin fetches all active mutes from API
- Adds them to Adonis
Settings.Mutedlist - They appear in Adonis mute commands
Real-Time Sync
When players join:
- Mute status checked against API
- If muted, Adonis mute is applied
- Player cannot chat
Adonis Mute Integration
When using Adonis :mute:
:mute Player1 30m SpammingThe plugin:
- Detects the mute command
- Parses duration and reason
- Syncs to Technified API
- Mute appears in dashboard
Session Tracking
Track when staff are playing your game.
How It Works
- Staff member joins (above minimum level)
- Session start logged to API
- Session appears in Dashboard > Roblox > Staff Activity
- When they leave, session end is logged
- Duration calculated automatically
What's Tracked
- Staff Roblox username and ID
- Game name and Place ID
- Session start time
- Session end time
- Total duration
Minimum Level
Configure which staff to track:
SESSION_MIN_LEVEL = 100, -- Moderators and aboveOptions:
100- All moderators and above200- Admins and above only300- HeadAdmins and above only
Action Logging
Log all moderation and admin commands to Technified.
Logged Moderation Commands
| Command | Category |
|---|---|
| kick | moderation |
| ban | moderation |
| unban | moderation |
| mute | moderation |
| unmute | moderation |
| warn | moderation |
| jail | moderation |
| shutdown | moderation |
Logged Admin Commands
| Command | Category |
|---|---|
| fly, unfly | admin |
| tp, teleport | admin |
| god, ungod | admin |
| speed, walkspeed | admin |
| heal, kill | admin |
| freeze, unfreeze | admin |
| invisible, visible | admin |
| noclip, clip | admin |
| and many more... | admin |
Log Data
Each logged action includes:
- Who performed it (Roblox ID and username)
- What command was used
- Who was targeted (if applicable)
- The reason (if provided)
- Raw command text
- Place ID and Universe ID
- Timestamp
Viewing Logs
Logs appear in Dashboard > Logs > Audit Logs with filter for Roblox actions.
Game Registration
The plugin registers your game with Technified on startup.
Registered Information
- Place ID
- Universe ID
- Game Name
- Creator ID
- Plugin Version
- Server Job ID
Benefits
- Dashboard shows which games are connected
- Filters moderation by game
- Tracks plugin versions across games
Automatic Cleanup
The plugin cleans up when players leave:
- Session ended and logged
- Permission cache cleared
- Echo prevention markers cleared
- Memory freed
This ensures no memory leaks during long server uptimes.
Error Handling
The plugin handles errors gracefully:
API Failures
- Operations continue if API is unavailable
- Errors logged to console
- Stats track error count
- Retries on next opportunity
Missing Players
- Handles players leaving during async operations
- No errors for disconnected players
- Safe cleanup of state
Invalid Data
- JSON parsing protected with pcall
- Handles malformed API responses
- Falls back to defaults when needed