On a ULX-enabled Garry’s Mod server, ban an online player from the server console with ulx ban <player> <minutes> <reason>, or from admin chat with !ban <player> <minutes> <reason>. Replace <minutes> with 0 for a permanent ban in the documented ULX workflow. If the player is offline or their name is ambiguous, use ulx banid <steamid> <minutes> <reason>. Reverse a ULX ban with ulx unban <steamid/username>.
Prefer not to run the server on your own PC? Godlike.Host offers hosted Garry's Mod servers with free DDoS protection and up to three free backups a day.
The commands only work when ULX/ULib is installed and your account has the necessary access. The exact command, target, duration, and reason should be recorded so another administrator can understand and audit the decision.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Tibers Box 2 Lite | Buy on Amazon | |
| 2 |
|
Allplay Mori Board Game, Full of Tricky, Clever Decisions, 3-5 Players | $24.00 | Buy on Amazon |
| 3 |
|
Green monster persecution | Buy on Amazon | |
| 4 |
|
Clockwork Game Design | $76.29 | Buy on Amazon |
| 5 |
|
Sandbox Games (Video Games) | $8.71 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →What you need before issuing a ban
A ban command is effective only when three conditions are met:
- You can reach the dedicated server console or an in-game administrative interface.
- The ULX Admin plugin and its ULib dependency are loaded if you intend to use ULX commands.
- Your account belongs to an access group allowed to run the command. The ULX implementation documents
ulx banidwith a defaultsuperadminaccess level; a server owner may have changed access for other commands.
If a command produces no result, do not assume the player was banned. First check that ULX and ULib loaded without errors, then verify your user group and inspect the server console or moderation log for an access-denied message.
#1 Best Overall
- Import models,texture,emitters
- Various functions
Console access versus in-game access
The dedicated-server console is the safer route when a player is disruptive, when chat commands are disabled, or when you need an unambiguous audit trail. An in-game ULX command is convenient for moderators who have the required permission, but it depends on the chat hook being active and on the command being entered exactly.
Ban an online player by name with ULX
Use a name target when the player is currently connected and their name is unique enough for ULX to resolve. Confirm the spelling immediately before issuing the command; players can change names, and a partial or shared name can select the wrong person on a busy server.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →- Confirm the target. Check the player list or the ULX admin menu and identify the exact current name. If two players have similar names, use a SteamID instead of relying on name matching.
- Choose a duration. Enter the number of minutes for a temporary ban. Enter
0for a permanent ban in ULX. - Write a factual reason. Keep it short enough for logs, such as
repeated rule violation. The reason is optional in the documented syntax, but omitting it makes later review harder. - Run the command in the server console. Use the form below, replacing each placeholder:
ulx ban PlayerName 30 repeated rule violation
This example applies a 30-minute ban. For a permanent ban, use:
ulx ban PlayerName 0 repeated rule violation
When a chat command is preferable, use the same arguments after the !ban prefix:
!ban PlayerName 30 repeated rule violation
or:
!ban PlayerName 0 repeated rule violation
In chat, make sure the message is sent where ULX listens for commands and that your account is recognized as an administrator. If the name contains spaces, use the target-selection behavior provided by your installed ULX version or select the player through the admin menu rather than guessing at quoting rules.
Rank #2
- USE YOUR DICE WELL - It’s in the tagline of the game: “Dice Break The Rules.” Being able to choose not to follow the lead suit when it’s advantageous to you can be huge! Don’t ignore collecting dice.
- MANIPULATE THE X CARDS - Having the most X’s is bad: they each count as one negative point. You might be able to feed your x cards to the perceived scoring leader.
- HOLDING ONTO CARDS - Because you score cards left in hand, it can be a fun challenge to try and keep well-scoring cards not be pulled out by the trick-taking rules.
- ART BY BETH SOBEL - "Mori" is the Latin word for death and the Japanese word for forest. Both of these interpretations are represented in the artwork of this card game.
- PRAISE FOR MORI - "a fresh take on a familiar genre that will be an easy learn for fans of this type of card game." BGG User KRWoods1
How to avoid banning the wrong connected player
- Compare the displayed name with the player list immediately before executing the command.
- Prefer an exact, distinctive name when several names share a word or prefix.
- For impersonation, name changes, or any dispute about identity, copy the player’s SteamID from your trusted administrative view and use
banid. - After running the command, verify the success message and confirm that the player was disconnected if your server’s ban flow kicks on enforcement.
Ban an offline player or use a SteamID
A SteamID-based ban is the reliable choice when the person has already left, changes their display name, or cannot be uniquely selected by name. The target can be a SteamID or SteamID64 accepted by your ULX installation.
Free tools Windows power users keep installed
One-click scans. No signup required.
ulx banid STEAM_ID_OR_STEAMID64 30 reason
For a permanent ban:
ulx banid STEAM_ID_OR_STEAMID64 0 reason
Replace STEAM_ID_OR_STEAMID64 with the verified identifier, not a display name. Keep the original identifier in your moderation record so a later name change does not obscure who was sanctioned.
What ULX does with banid
The ULX implementation validates the supplied SteamID before proceeding. It prevents this path from being used to ban the listen-server host or bots, writes the action to its logging system, and queues the ban for enforcement. Those checks are why a malformed ID or a protected target can fail even when the command syntax looks correct.
The default access level documented for ulx banid is superadmin. If a moderator needs to use the command, a server owner must deliberately grant the appropriate access rather than treating a silent failure as a targeting problem.
Name bans and identifier bans compared
| Method | Works when player is offline? | Identity used | Best use |
|---|---|---|---|
ulx ban |
Normally no; it targets a resolved player | Current connected name or player selector | Immediate action against someone online |
ulx banid |
Yes | Validated SteamID or SteamID64 | Offline action, changed names, or ambiguous names |
Choose the duration and write the reason correctly
ULX places the duration in minutes between the target and the optional reason. A positive number creates a timed ban. In the documented ULX workflow, 0 means the ban is permanent.
Rank #3
- 3d first person horror adventure.
- Adrenaline Rush: Experience the thrill of the chase and the exhilaration of evading a relentless pursuer.
- With multiple paths to take and secrets to uncover, each playthrough offers a new experience.
- Sound experience
| Intent | Minutes argument | Example |
|---|---|---|
| Short temporary suspension | A positive whole number | ulx ban PlayerName 10 spamming voice chat |
| Long temporary suspension | A larger positive whole number | ulx banid STEAM_ID_OR_STEAMID64 1440 repeated harassment |
| Permanent ULX ban | 0 |
ulx ban PlayerName 0 repeated severe rule violation |
Describe the conduct rather than the person. “Repeated rule violation after warning” is more useful than an insult or an unexplained label. If your community publishes escalating penalties, include the relevant rule number in the reason only when that number is stable and meaningful to other staff.
Console commands and chat commands
Both interfaces invoke ULX, but they are not interchangeable in every situation.
| Consideration | Server console | In-game chat |
|---|---|---|
| Syntax | ulx ban ... or ulx banid ... |
!ban ... or !unban ... |
| Visibility | Usually limited to operators with console access | May be visible to players, depending on ULX and chat settings |
| Best for | Offline IDs, emergency moderation, and precise logs | Quick action while observing an online player |
| Dependencies | ULX/ULib loaded and console access | ULX/ULib, chat hook, and in-game permission |
If chat is not accepting the command, switch to the console instead of repeatedly trying variations. A missing chat hook does not mean the underlying ban system is broken.
Unban a player
For a ULX-managed ban, use the same kind of identifier you can verify in your records. The documented syntax accepts a SteamID or username:
ulx unban STEAM_ID_OR_USERNAME
The in-game form is:
!unban STEAM_ID_OR_USERNAME
A SteamID is preferable for the same reason it is preferable when banning: usernames can change and may not be unique. After running the command, confirm the success response and test with the affected player only if your moderation policy permits it. If the ban remains, determine whether it was created by ULX or by a native/IP mechanism; removing one type does not automatically remove the others.
Rank #4
Native removal paths
Garry’s Mod also exposes native removal commands for bans created outside ULX. removeid removes a SteamID ban, while removeip removes an IP ban. Native removal raises the server_removeban event, whose data indicates whether the removed entry was tied to a SteamID or an IP address. Use the path that matches the original ban and preserve the reason for the reversal in your staff log.
Native Garry’s Mod Lua: Player:Ban
Server-side Lua can ban a player directly through the Garry’s Mod API:
player:Ban(minutes, kick)
The first argument is the duration in minutes. The second is a Boolean that controls whether the player is kicked as part of the operation. This API is separate from the ULX command layer, so a Lua script can enforce a policy without requiring an administrator to type a chat command.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Use the native API only in server-side code that has a trustworthy player object and a clear permission boundary. Validate the target before calling the method, and log the SteamID, duration, reason, administrator or automated rule, and whether the kick flag was set. The API signature itself does not replace your server’s policy for what duration or evidence is appropriate.
The server_addban event
Garry’s Mod emits a server_addban event for Player:Ban, banip, and banid. The event includes the player name, SteamID, IP, duration, banning party, and a kicked flag. A logging or moderation plugin can consume this event to create a central audit record.
Best Value
Do not assume every field is populated for every ban type. For an IP ban made with banip, the event’s network ID is empty. For a SteamID ban made with banid, the IP field is empty. Your logger should identify the mechanism and handle the missing field instead of treating an empty value as a failed ban.
IP bans and the addip caveat
An IP ban is distinct from a SteamID ban. It identifies a network address rather than a Steam account, so it can affect multiple people sharing an address and may not follow a player who changes networks. Use it only when your policy specifically calls for it and your evidence supports that choice.
The native command list identifies addip as the command for adding an IP to the ban list, but notes that the list is infrequently updated. Command behavior and syntax can therefore vary with the server build or configuration. Verify the syntax supported by your build before relying on it in production, and check the resulting ban list afterward.
When reversing an IP ban, use the matching removeip path. When reversing a SteamID ban, use removeid or ULX’s unban command as appropriate. Keeping these mechanisms separate prevents the common mistake of unbanning a SteamID while leaving an IP entry active, or removing an IP entry while the account ban remains.
Moderation practice that holds up later
Apply published rules consistently
Use the same penalty framework for comparable conduct, regardless of who is playing or which administrator is online. A short factual reason helps staff apply escalating sanctions consistently and gives the player a clear explanation.
Facepunch’s Server Operator Rules state: “If you do not agree with an action of administration of a server you play on, you can play on a different server.” The rules also recognize that Garry’s Mod servers are community hosted and prohibit releasing players’ private information publicly. Do not post a player’s private information as part of a dispute, and keep identifying data inside the staff systems that need it.
Keep an audit record
For each action, retain at least:
- The SteamID or SteamID64, when available.
- The player name at the time of the action.
- The administrator, script, or rule that initiated it.
- The exact duration and whether the ULX value
0was used. - The concise reason and any relevant rule reference.
- The timestamp and whether the player was kicked.
- The reversal time, administrator, and reason if the ban is removed.
ULX logs its banid action, and native events can feed a separate log. Do not rely on a player’s current name as the only record.
Troubleshoot a ban that did not work
| Symptom | Likely cause | What to check |
|---|---|---|
No response to ulx ban |
ULX or ULib is not loaded, or the command was entered in the wrong interface | Review startup errors, confirm the ULX plugin is installed, and try the server console. |
| Access denied | Your account lacks the command’s access level | Check the ULX group assignment. ulx banid defaults to superadmin access unless changed. |
| Target not found | The player left, changed name, or the name is ambiguous | Use a verified SteamID with ulx banid. |
| The wrong player was targeted | Name matching resolved a similar name | Stop issuing further actions, document the error, and use the verified identifier for the correction. |
| Permanent ban was temporary | The minutes argument was not 0, or a different ban mechanism was used |
Inspect the command and log entry, then apply the intended mechanism deliberately. |
!ban does nothing |
The chat hook is unavailable or your chat command permission is missing | Use the console and verify ULX/ULib and your access group. |
unban succeeds but access is still blocked |
A separate native or IP ban remains | Determine whether the original entry was a SteamID or IP ban and remove the matching entry. |
banid rejects the identifier |
The SteamID format is invalid or the target is protected | Copy the ID again from a trusted administrative source; ULX validates IDs and blocks the listen-server host and bots through this path. |
A safe decision workflow
- Identify. Confirm the player name and, whenever possible, the SteamID.
- Classify. Decide whether the action is a timed or permanent ban and whether the target is online.
- Select the mechanism. Use
ulx banfor a resolved online player,ulx banidfor an identifier, or the native API/commands when a server-side script or native ban list is the intended system. - Explain. Add a factual reason and apply the published rules consistently.
- Verify. Confirm the success response, kick state, and resulting ban entry.
- Record. Save the identifier, duration, reason, administrator, and timestamp.
- Review reversals. When an appeal succeeds, remove the matching ban type and record why it was reversed.
Key command reference
| Action | Server console | In-game chat |
|---|---|---|
| Timed online ban | ulx ban PlayerName 30 reason |
!ban PlayerName 30 reason |
| Permanent online ban | ulx ban PlayerName 0 reason |
!ban PlayerName 0 reason |
| Timed SteamID ban | ulx banid STEAM_ID_OR_STEAMID64 30 reason |
Use the ULX chat form only if your installation exposes banid to chat and your account has access |
| Permanent SteamID ban | ulx banid STEAM_ID_OR_STEAMID64 0 reason |
Use the installation’s permitted ULX chat form, or the console |
| ULX unban | ulx unban STEAM_ID_OR_USERNAME |
!unban STEAM_ID_OR_USERNAME |
| Native SteamID removal | removeid path for the matching ban entry |
Not a ULX chat command |
| Native IP removal | removeip path for the matching ban entry |
Not a ULX chat command |
For most administrators, the practical rule is simple: use ulx ban for a clearly identified online player, use ulx banid for an offline or ambiguous target, use 0 only when a permanent ULX ban is justified, and keep the identifier and reason in your records.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




