Skip to main content

Install ULX and ULib and give staff limited permissions

ULX is an administration addon for Garry's Mod, supported by the ULib library. It is separate from CounterStrikeSharp administration for CS2 and from SourceMod. Install the Garry's Mod packages and give staff individual Steam-based identities rather than sharing your hosting account.

Prepare the installation

Back up your addon list, configuration and existing administration data before changing versions. Record current staff groups and permissions, including any custom restrictions. Schedule maintenance so a complete restart does not surprise players.

Choose one installation method. The project's official Workshop items are ULX 557962280 and ULib 557962238. Add both to the server's intended collection. Alternatively, use the authors' downloadable packages and place their extracted addon folders under garrysmod/addons/. Check that the files are not hidden inside an extra archive-name directory.

Avoid installing the same addon through Workshop and local files simultaneously. Duplicate copies make it unclear which version is running. If replacing an existing installation, retain the old copy outside the load path until the new version is verified. Preserve its data rather than treating an update as a fresh server.

Load and bootstrap access

Perform a full server restart; a map change is not enough for the documented installation procedure. Check the earliest startup errors if ULib or ULX fails to initialize. Confirm ulx help responds in the server console before trying to assign staff.

Connect your own verified Steam account. From the trusted server console, use ulx adduser "EXACT_CONNECTED_NAME" superadmin, replacing the placeholder with your connected player name. Confirm the target carefully when names are similar. Use the console's help for ID-based targeting if names are ambiguous; do not promote an approximate match.

The superadmin group is powerful. Use it only for the owner and explicitly trusted administrators. Once owner access works, open ulx menu from your game console and review the Groups controls. Keep game-panel account access separate from in-game moderation.

Create a practical moderator role

Create or review a lower-privilege group and permit only its required moderation actions. Start with a short list such as warnings, temporary communication restrictions and kicks, as supported by your installed command modules. Review inherited permissions as well as direct grants. A group that inherits a powerful parent may retain access you never selected.

Check targeting and immunity behaviour with two consenting test accounts. A moderator should not be able to alter the owner's group, execute arbitrary RCON commands or obtain unrestricted staff-management powers. Use the menu and documented commands rather than editing permission storage while the server is running.

Verify both sides of the boundary

Reconnect as the moderator, test one permitted harmless action and confirm a restricted action is denied. Test an ordinary player too. Recheck after a map change and scheduled restart so temporary permissions are not mistaken for saved configuration.

Retain an audit record of staff changes and remove access promptly when someone leaves. If permissions behave unexpectedly, collect the installed versions, relevant group inheritance and a redacted reproduction. Never upload your entire player or ban database to a public support thread.

Further reading

Looking for another game? Browse game server setup and troubleshooting guides.