-
Notifications
You must be signed in to change notification settings - Fork 0
Admin System
Jaymod includes a built-in admin system with fine-grained privilege levels, per-command ACLs, banning, muting, greeting, and a persistent user database.
Enable with:
set g_admin 1
Admin commands are prefixed with ! and can be issued from:
- In-game chat (all-chat, team-chat, fireteam-chat)
- Server console
- rcon (remote console from an ET client)
- Say-bindings configured on the server
!command [arguments]
{} = required, [] = optional, ... = repeatable, | = choice.
- Start the server with
g_admin 1 - Connect with your player account
- From the server console, run:
!useredit <yourname> level 100
- Reconnect — you now have full admin privileges.
There are three categories of privilege:
| Privilege | Applies to |
|---|---|
@all |
Every connected player |
@behaviors |
All behavior-type privileges |
@commands |
All command-type privileges |
These control how a player interacts with the admin system:
| Privilege | Description |
|---|---|
B/balanceImmunity |
Immune to team-balance forced switches |
B/banPermanent |
Can issue permanent bans |
B/censorImmunity |
Not subject to chat censorship |
B/commandChat |
Admin commands visible in chat |
B/commandSilent |
Admin commands produce no output |
B/reasonNone |
Can execute commands without giving a reason |
B/specChat |
Can chat while spectating |
B/voteAny |
Can call any vote regardless of vote_allow_* settings |
B/voteImmunity |
Immune to kick/mute votes |
Each admin command has a corresponding C/command privilege. A player must have the privilege granted (and not denied) to use the command.
Examples: C/ban, C/kick, C/mute, C/warn, C/useredit, C/levedit, C/lol
Levels are defined in level.db and managed with !levedit. Each level has a set of granted and denied privileges.
!levedit ← list all levels
!levedit <level> ← show a specific level
!levedit <level> +C/kick ← grant the kick command to this level
!levedit <level> -C/ban ← deny the ban command
!levedit <level> !C/mute ← clear (remove grant/deny) for mute
!levedit <level> name "Mod" ← set the display name for this level
| Symbol | Meaning |
|---|---|
+privilege |
Grant |
-privilege |
Deny |
!privilege |
Clear (remove grant or deny) |
Users are stored in user.db and managed with !useredit.
!useredit <name> ← show user info
!useredit <name> level <n> ← assign admin level
!useredit <name> greeting "Hello" ← set a greeting message
!useredit <name> +C/kick ← grant kick directly on this user
!useredit <name> -B/voteImmunity ← deny a behavior
User records are identified by a combination of GUID and IP. XP-save data is also stored per user.
!ban <name> [duration] [reason]
- Duration uses the standard format:
10d,2h,30m,0= permanent - Permanent bans require the
B/banPermanentprivilege - Without
B/reasonNone, a reason must be given
!unban <name|ip>
!banlist
!mute <name> [duration] [reason]
!unmute <name>
Muted players cannot use chat. Duration follows the same format as bans.
| Command | Description |
|---|---|
!kick <name> [reason] |
Kick a player |
!warn <name> <reason> |
Issue a warning (accumulates toward auto-mute/ban) |
!slap <name> |
Push a player |
!noclip <name> |
Toggle noclip for a player |
!rename <name> <newname> |
Rename a player |
!putteam <name> <team> |
Move player to a team (a/b/s) |
!spec <name> |
Force player to spectator |
!pause |
Pause the match |
!unpause |
Unpause the match |
!reload |
Reload databases from disk |
!status |
Show server resource usage |
!lol |
Rain grenades on all players |
| File | Contents |
|---|---|
level.db |
Admin level definitions and their privileges |
user.db |
Player accounts, levels, bans, mutes, greetings, XP |
map.db |
Per-map data (killing-spree records, etc.) |
censor.db |
Censored word list (when g_censor 1) |
Important: The server loads databases at startup and saves them on shutdown. Manual edits to database files while the server is running will be overwritten. Use
!useredit/!leveditin-game, or edit files offline and then!reload.
| Cvar | Default | Description |
|---|---|---|
g_admin |
0 |
Enable the admin system |
g_adminLog |
"" |
Log file for admin actions |
g_disableComplaints |
0 |
Bitmask disabling complaint types |
g_complaintlimit |
6 |
Complaints before auto-kick |