Admin & Moderation Interfaces
Relevant source files
The following files were used as context for generating this wiki page:
The Admin and Moderation interfaces provide tools for server management, player discipline, and world manipulation. These systems allow authorized users to handle player reports (tickets), modify the game world in real-time through build modes, and manage administrative permissions via SQL-backed databases.
Moderators use these interfaces to communicate with players and centralize server governance. The project relies on the tgui framework to render these tools, ensuring a responsive and interactive experience for staff members.
Administrative Systems and Permissions
The project supports both legacy text-based and SQL-based administrative systems. The ADMIN_LEGACY_SYSTEM flag determines if the server uses admins.txt or a database for loading staff members.
Admin Database Schema
The SQL system utilizes specific tables to manage staff ranks and whitelists. Ranks define what "flags" (permissions) an administrator possesses.
Server Configuration for Staff
Staff behavior is controlled via config/config.txt. Key options include:
- AUTOADMIN_RANK: The default rank assigned to users if autoadmin is enabled.
- ANNOUNCE_ADMIN_LOGOUT: Sends a message to the staff channel when an admin disconnects.
- ALLOW_ADMIN_OOCCOLOR: Permits admins to set custom colors for Out-Of-Character chat.
Sources: config/config.txt:87-88, config/config.txt:304-306, config/config.txt:320-321
Moderation Tools
Ticket Management
Moderators use the Ticket Manager to handle "Admin Helps" (ahelps) from players. This interface organizes reports into a searchable list and facilitates direct communication between staff and players.
| Feature | Description |
|---|---|
| Urgent Ahelps | Pings admins via Discord webhooks when a player is alone on a server or requires immediate attention. |
| Ticket Manager UI | A tgui interface that lists active, pending, and closed tickets. |
| Admin PMs | Specialized private messaging systems, occasionally using maptext popups for visibility. |
Sources: config/config.txt:203-205, config/config.txt:495-500, tgui/packages/tgui/interfaces/TicketManager/index.tsx
Central Command Reporting
Admins can generate official "Command Reports" that appear as announcements to the crew. This interface allows for customization of the sender name, sound effects, and visual presentation.
Build Mode (World Modification)
Buildmode is a specialized administrative interface for real-time map editing. It provides different "modes" that change how staff interact with the game world via mouse clicks.
Buildmode Controls and Modes
The system uses a manager to switch between behaviors and update the staff user interface.
| Mode | Function | Left Click Effect | Right Click Effect |
|---|---|---|---|
| Basic | Structural edits | Upgrade Turf (Space -> Floor -> Wall) | Downgrade/Delete Turf |
| Advanced | Path spawning | Place instance of chosen atom path | Delete object |
| Fill | Area filling | Fill region with atom path | Cancel selection |
| Var Edit | Property editing | Modify atom variables | Reset variables to default |
| Boom | Explosions | Trigger explosion | Configure size |
Sources: code/modules/buildmode/README.md:1-120
Middleware and Preference Hijacking
Moderators can utilize "Middleware" to inject data or hijack specific player actions. This is primarily used for advanced administrative debugging and preference management.
The Admin and Moderation interfaces ensure server stability by providing staff with direct control over player behavior and the physical game environment. These tools are integrated with Discord and SQL databases to provide a persistent management layer across round restarts.