T3-Admin is a SwiftlyS2 plugin that provides a classic admin workflow:
- Admin management via commands and in-game menus
- Punishment system (ban / mute / gag / silence) backed by a database
- Moderation utilities (kick, slay, respawn, team, bring/goto, freeze, noclip)
- Admin chat commands (asay/say/psay/csay/hsay)
- Optional Discord webhook logging for moderation actions
- Translations via
resources/translations/*.jsonc
It includes:
- Admin Menu (
!admin) with:- Server Management
- Player Management
- Fun Commands
- Admin Management
- Database tables auto-created on startup for bans, mutes, gags, admins
- Configurable command aliases and permissions via
config.json
-
📦Download Latest Plugin Version ⇢ Click Here -
⚙️Download Latest SwiftlyS2 Version ⇢ Click Here
- Download/build the plugin.
- Copy the published plugin folder to your server:
.../game/csgo/addons/swiftlys2/plugins/T3_Admin/
- Ensure the plugin has its
resources/folder alongside the DLL (translations, templates). - Start/restart the server.
The plugin uses SwiftlyS2’s JSON config system.
- File name:
config.json - Section:
T3Admin
On first run the config will be created automatically. The exact resolved path is logged on startup:
[T3Admin] Configuration loaded from .../config.json
Useful config fields (non-exhaustive):
T3Admin.Discord.WebhookT3Admin.Messages.EnableCenterHtmlMessagesT3Admin.Messages.CenterHtmlDurationMsT3Admin.Commands.*(command aliases)T3Admin.Permissions.*(permission strings)T3Admin.GameMaps.MapsT3Admin.WorkshopMaps.Maps
T3-Admin does not use per-map JSON files.
- Map display names and workshop IDs are configured in
config.jsonunder:T3Admin.GameMaps.MapsT3Admin.WorkshopMaps.Maps
| Command | Description | Permission |
|---|---|---|
!admin |
Opens the admin menu. | admin.menu |
!addadmin <steamid> <name> <flags> [immunity] [duration_days] |
Adds/updates an admin in the DB. | admin.root |
!removeadmin <steamid> |
Removes an admin from the DB. | admin.root |
!listadmins / !admins |
Lists stored admins. | admin.menu |
!ban <target> <minutes> [reason] |
Bans a player. | admin.ban |
!addban <steamid> <minutes> [reason] |
Adds an offline ban by SteamID. | admin.ban |
!unban <steamid> [reason] |
Removes a ban by SteamID. | admin.unban |
!mute / !unmute |
Mutes/unmutes a player. | admin.mute |
!gag / !ungag |
Gags/ungags a player. | admin.chat |
!silence / !unsilence |
Mutes + gags in one action. | admin.silence |
!map <mapname> |
Changes map (configured maps list). | admin.map |
| `!wsmap <workshop_id | name>` | Changes to workshop map (configured list). |
!rr / !restart |
Restarts the game after a delay prompt. | admin.generic |
!rcon <command> |
Executes an RCON command. | admin.rcon |
!cvar <cvar> [value] |
Reads/sets a cvar. | admin.cvar |
| Command | Description |
|---|---|
!kick <target> [reason] |
Kicks a player. |
!slay <target> |
Slays one or more targets. |
!respawn <target> |
Respawns one or more targets. |
!team <target> <t/ct/spec> |
Changes player team. |
!goto <target> |
Teleports you near the target. |
!bring <target> |
Brings the target to your aim position. |
!freeze <target> [seconds] |
Freezes the target(s). |
!unfreeze <target> |
Unfreezes the target(s). |
!noclip <target> |
Toggles noclip for the target. |
| Command | Description |
|---|---|
!who <target> |
Prints info about a player (SteamID, team, admin flags/immunity, active punishments). |
!players / !list |
Prints a player list to console (supports -json). |
T3-Admin supports optional Discord logging for moderation actions.
- Configure
T3Admin.Discord.Webhookinconfig.jsonto enable it. - Configure
T3Admin.Debug.Enabledinconfig.jsonto enable debug logging. - Message text can be customized via
resources/translations/en.jsonc.
dotnet build- Readme template by criskkky
- Release workflow based on K4ryuu/K4-Guilds-SwiftlyS2 release workflow
- Authors: