Roblox Integration
Adonis Plugin
Features

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:

  1. Next time they try to join, they're checked against the API
  2. Banned players are kicked with a ban message
  3. Muted players have Adonis mute applied
  4. The ban/mute appears in Adonis :bans and :mutes lists

Game to Dashboard

When you use Adonis commands like :ban or :mute:

  1. The action is detected by the plugin
  2. It's synced to the Technified API
  3. Appears in Dashboard > Roblox > Moderation
  4. 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

  1. Staff member joins the game
  2. Plugin queries Technified API for their permissions
  3. Maps Technified level to Adonis level
  4. Sets their Adonis admin level

Permission Mapping

Technified LevelRole ExampleAdonis LevelAdonis Rank
10Creator900Creators
7-9Owner/Head300HeadAdmins
3-6Admin/Super200Admins
1-2Moderator100Moderators
0Player0Players

Caching

  • Permissions are cached for 5 minutes
  • Reduces API calls for performance
  • Use :tsync to 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:

  1. Plugin fetches all active bans from API
  2. Adds them to Adonis Settings.Banned list
  3. They appear in Adonis :bans command
  4. Banned players kicked on join

Real-Time Sync

When players join:

  1. Ban status checked against API
  2. If banned, player is kicked immediately
  3. 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 Griefing

The plugin:

  1. Detects the ban command
  2. Parses duration (1h) and reason (Griefing)
  3. Syncs to Technified API
  4. Ban appears in dashboard

Mute Sync

Full synchronization of mutes between Adonis and Technified.

Startup Sync

When the server starts:

  1. Plugin fetches all active mutes from API
  2. Adds them to Adonis Settings.Muted list
  3. They appear in Adonis mute commands

Real-Time Sync

When players join:

  1. Mute status checked against API
  2. If muted, Adonis mute is applied
  3. Player cannot chat

Adonis Mute Integration

When using Adonis :mute:

:mute Player1 30m Spamming

The plugin:

  1. Detects the mute command
  2. Parses duration and reason
  3. Syncs to Technified API
  4. Mute appears in dashboard

Session Tracking

Track when staff are playing your game.

How It Works

  1. Staff member joins (above minimum level)
  2. Session start logged to API
  3. Session appears in Dashboard > Roblox > Staff Activity
  4. When they leave, session end is logged
  5. 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 above

Options:

  • 100 - All moderators and above
  • 200 - Admins and above only
  • 300 - HeadAdmins and above only

Action Logging

Log all moderation and admin commands to Technified.

Logged Moderation Commands

CommandCategory
kickmoderation
banmoderation
unbanmoderation
mutemoderation
unmutemoderation
warnmoderation
jailmoderation
shutdownmoderation

Logged Admin Commands

CommandCategory
fly, unflyadmin
tp, teleportadmin
god, ungodadmin
speed, walkspeedadmin
heal, killadmin
freeze, unfreezeadmin
invisible, visibleadmin
noclip, clipadmin
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