Garry's Mod Admin Mods and How Server Moderation Works
A fresh Garry's Mod server has no admin menu, no ranks and no staff list. The base game gives you a console, an RCON port and a set of sv_ convars. Everything past that is an addon you choose and install yourself. This page covers that layer: which admin mod to run, how permissions are modelled, and how to get admin on a server that does not yet know who you are. The console and RCON command reference lives in admin commands and RCON.
Last verified: September 17, 2026. Command names below are taken from the admin mod's own source. Check anything gamemode specific against the gamemode you run, because DarkRP, TTT and Sandbox stacks each add commands of their own.
Three layers of control
| Layer | What it is | Who can use it | Right tool for |
|---|---|---|---|
| RCON | Built into the engine, no addon involved. Full console access over the network. | Anyone holding rcon_password | Restarting, changing map, banning while you are nowhere near the game, fixing a server you cannot join. |
| Admin mod | An addon in garrysmod/addons/ that adds ranks, an in-game menu and staff commands. | Whoever you place in a rank | Day to day moderation while staff are playing: kicks, mutes, freezes, bans, spectating. |
sv_ convars | Server settings in the startup line or server.cfg. | Anyone at the console or on RCON | The rules themselves: hostname, sv_password, maxplayers, sv_cheats, sv_alltalk, sv_voiceenable, sv_lan, sv_pure, host_workshop_collection. |
The layers overlap less than people assume, with one important exception: ULX ships a command that executes a line on the server console, so an in-game admin holding it reaches the convar layer too. That is a permission decision you make, not an accident.
Choosing an admin mod
| Mod | What it is | Install | Companion library | In-game UI | Suits |
|---|---|---|---|---|---|
| ULX | Free, open source, the long-running default. Large command set, ranks, votes, logging. | Two Workshop items, or two folders in addons/ | Yes, ULib is mandatory | Yes, XGUI, opened with ulx menu | Any gamemode, and community addons that already hook ULX permissions. |
| FAdmin | A module inside the DarkRP gamemode rather than a separate addon. | Nothing to install if you run DarkRP | No | Yes, basic | DarkRP owners who do not want a second dependency. |
| SAM | Paid mod from a Garry's Mod script marketplace. Deliberately lightweight, gamemode agnostic. | Uploaded as an addon | No | Yes, with search | Owners who want a polished menu and a vendor to chase. |
| ServerGuard | Paid, closed source suite with its own site and support. | Uploaded as an addon | No | Yes | Same audience as SAM; closed source means fewer third-party extensions. |
| xAdmin | Free, deliberately basic system published on GitHub. | Dropped into addons/ | No | Yes, minimal | Small private servers needing kick and ban, nothing more. |
There is no single winner. Decide on three things: the gamemode, since a DarkRP server already has FAdmin loaded; whether the addons you want assume ULX access strings, which many community scripts do; and whether you want a paid support channel. Switching later is tedious, because ranks and per-command grants do not transfer between systems.
Installing one
- Put the addon in
garrysmod/addons/. Garry's Mod loads every directory underaddons/at boot, so an admin mod is just a folder there. - Install the companion library if the mod has one. This is the trap: ULX requires ULib, and ULX on its own does nothing at all, with no menu, no commands and frequently no obvious complaint in the console.
- Restart the server process fully. A map change is not enough, and the ULX authors say so explicitly.
- Verify from the server console before looking in-game. With ULX,
ulx helplisting commands proves both addons loaded.
The permission model
ULib defines four groups out of the box: user, operator, admin and superadmin. Every player is in user until you say otherwise. Other mods use different names, but the shape is the same: a person belongs to a group, and the group holds a set of allowed commands.
Assignment is keyed to the Steam identity, never the display name, because a name can be changed at will and an identity cannot. ULX exposes both forms:
ulx adduser "PlayerName" admin // a player connected right now
ulx adduserid STEAMID admin // by ID, works whether or not they are onlineUse the ID form when appointing staff in advance. Learn the surrounding commands before you hand out ranks: ulx addgroup creates a group, ulx groupallow adds one command to a group's access, ulx groupdeny takes one away, and ulx setgroupcantarget sets immunity, meaning which groups a group may act against. Per-person exceptions exist through ulx userallow and ulx userdeny.
Give every staff member the least authority that lets them do the job. A moderator handling chat and prop abuse needs kick, mute, freeze and a short ban. That is nowhere near superadmin, and when a moderator is missing one command the fix is to grant that command to their group, not to promote them.
The warning that matters: superadmin in ULX is not admin with a few extras. A superadmin can execute commands on the server console and can execute Lua on the server. Arbitrary Lua is total control of the game process: it can read your files, rewrite gameplay and wipe player data in one line. Handing out full admin to keep the peace, to reward a regular, or because someone asked nicely, is the most common way a server is destroyed by its own staff, and it is always done by somebody who was trusted at the time. Build a narrow group instead.
Getting yourself admin on a brand new server
This is the first real problem everyone hits, and it is a chicken-and-egg one: the in-game menu is gated behind a rank you do not have, so nothing typed in chat will work. The first grant has to come from outside the permission model, which means the server console that owns the process, or an RCON connection. Those are the server itself rather than a player, so ranks do not apply to them.
ulx adduserid STEAM_0:0:00000000 superadminRun it from the console, connect, then open the GUI with ulx menu. Later rank changes are made from the menu by an account that already holds the top rank. ULib stores users in garrysmod/data/ulib/users.txt and group definitions in garrysmod/data/ulib/groups.txt; editing those by hand is a last resort and needs a restart. Do not perform the first grant in a public channel where the command and your ID are visible to everyone present.
RCON is a channel, not a rank
rcon_passwordis a server setting, and an empty value does not mean secure. It means RCON is off and you have no remote admin channel at all. Our platform generates one rather than leaving it blank, because an empty value strands the owner on a game whose entire point is server administration.- Use one long, unique, random value per server. Not in a chat channel, not in a screenshot, not in a repository, not pasted into a support message.
- Holding the password is complete console access. It cannot be scoped to a subset of commands, it appears nowhere in your admin mod's rank list, and removing somebody from
superadmindoes nothing about it. Rotate it when a staff member leaves.
Logging and accountability
The September 2026 update added sv_log_storetime, a number of hours to keep log files. Before it existed, logs on a long-lived server grew until somebody noticed the disk. Set it to a window you would realistically read, long enough to investigate a complaint that arrives days late. The same update set sv_logdownloadlist to 0 by default. Both are covered in the September 2026 update notes.
Your admin mod keeps the more useful record. ULX logs who ran what, and superadmins are shown messages other players never see, including console commands other admins are running. Keep a reason and an issuing staff member on every ban: a ban with neither is one you cannot defend when the player appeals, and cannot review when you start to suspect the person who issued it.
Common problems
| Symptom | Likely cause | What to do |
|---|---|---|
| Admin menu never opens | The mod loaded, but your account holds no rank | Grant the top rank from the server console or RCON, by Steam ID, then reconnect. |
| Commands answer with a permission error | Your group does not hold that command | Grant the single command to the group rather than promoting the person. |
| ULX installed and nothing happens at all | ULib is missing | Install ULib alongside ULX, then restart. This is the most common ULX failure by a wide margin. |
| Install finished but nothing changed | A map change was used instead of a restart | Stop and start the server process itself. |
| RCON refuses to connect | Empty or unset rcon_password, wrong port, or a stale value | Confirm a password is set, connect on the game port, verify from the server console. |
| A staff member abused their access | The rank was wider than the job needed | Remove the user, rotate rcon_password, read the logs, and rebuild the group with a narrower list before appointing anyone else. |
Public, adversarial gamemodes need all of this far more than a private sandbox does. A DarkRP server or a TTT server has players whose in-game incentive is to push against the rules, so moderation is continuous rather than occasional. A six-player sandbox server for friends usually needs one superadmin and nothing else. The ULX project publishes its own documentation and source at the ULX repository.
Related Garry's Mod guides
- Admin commands and RCON, the command reference this page does not repeat
- Startup flags and server.cfg
- Dedicated-server setup
- Choosing a gamemode
- Workshop collections and addons
- Workshop addon safety
- Lua scripting on a server
Want the console, RCON and addon folder handed to you already working? Launch managed Garry's Mod hosting with a generated RCON password, file access for addons/, and backups before you change a rank.