How Sticky Bans Catch Alt Accounts

How a MonoAdmin sticky ban follows a banned FiveM player across accounts, keeps working when the cloud is down, and what server owners should configure.

By MonoAdmin Team 5 min read

A ban that only matches one account is easy to dodge: make a new account and walk back in. A sticky ban is MonoAdmin’s answer. It recognizes the person behind the account by what their accounts share.

This post explains how a sticky ban finds alt accounts, how bans keep working when the cloud cannot be reached, and what to configure.

What Sticky Means

Every ban has a mode:

  • Sticky covers every identifier and hardware token of the banned player and of their linked accounts, and grows when an evader shows up with new ones.
  • Not sticky covers only the player’s own account identifiers.

An identifier is an ID your FiveM server reports for a player when they connect: their Rockstar license, Steam, Discord, Cfx.re, Microsoft Live or Xbox Live account. A hardware token comes from the player’s machine rather than an account. One token alone proves little, because some are shared by many unrelated players.

MonoAdmin also stores the IP address of each visit, but it never uses addresses to identify or link players.

How Accounts Get Linked

When a player joins, MonoAdmin looks for other players on your project who have been seen with any of the same identifiers. Each match becomes a link with a confidence from 1 to 100. The strongest evidence sets the number:

What the two accounts share Confidence Panel label
Rockstar license 100 Same person
Steam, Discord, Cfx.re, Microsoft Live or Xbox Live account 90 Very likely
Three or more hardware tokens 85 Very likely
Two hardware tokens 70 Very likely
One hardware token 35 Possible

Links exist only inside one project. You can read them on a player’s Linked tab, with the confidence and which kinds of identifier are shared. That tab needs the View Linked Accounts permission.

What a Sticky Ban Collects

When staff issue a sticky ban, MonoAdmin gathers every identifier and hardware token of the banned player, plus those of every linked account with a confidence of 70 or more. A shared account identifier is enough to qualify. A single shared hardware token is not.

All of it goes on the ban, up to a ceiling so a ban cannot grow forever, and the ban is pushed to your game server. A not sticky ban takes only the player’s account identifiers and leaves hardware tokens out.

Only bans can be sticky. Mutes and community service always follow the player’s own accounts.

How the Door Check Works

When someone connects, your server checks its own ban cache first. It counts as a match if the player shares any single identifier with a ban, or at least two hardware tokens. A match is refused on the spot with the reason and the end date, written in your project’s time zone.

Then the ban learns. Even when the local cache has already said no, the game server still tells the cloud who knocked. For a sticky ban, the cloud adds every identifier and hardware token the evader arrived with to the ban and pushes the update to your server.

For example, a banned player returns on a new Steam account but the same Discord. The Discord ID matches, so they are refused, and the ban now also holds the new Steam ID. A later attempt with yet another Discord account but that same new Steam account is caught too.

A sticky ban learns only from attempts it catches. An account that shares nothing with what the ban holds looks like a brand new player, and nothing can recognize it. Because hardware tokens can be shared, two are required before they count. If a player is caught by mistake, revoke the ban with a reason. Revoking is recorded in the audit log.

When the Cloud Cannot Be Reached

Your server keeps its own copy of every ban, mute and community service order in its KVP storage. The copy is loaded when the resource starts, before any player can connect, so bans hold through a cloud outage and a server restart. Timed bans carry their end time and expire on schedule locally.

Whenever the server reconnects, it asks the cloud what changed since its last revision, and the cloud pushes later changes live. A failed sync is retried, and the cached copy stays in force the whole time. Even monoadmin unlink leaves cached bans in force, so unlinking is not a way to let banned players back in.

Two things need the connection. A ban issued in the panel reaches the server once it is connected: if the server is offline, the panel saves the ban and says it applies on reconnect. And a sticky ban learns new identifiers only while the link is up.

Fail-Open or Fail-Closed

After the local check, your server asks the cloud for a second opinion and waits only a short time, 1.5 seconds by default. If the cloud does not answer in time, a player is let in by default.

Fail-closed is a safety setting that refuses entry when a check cannot be made, instead of letting everyone in. Turn it on under Settings > Game Settings with Block joins while MonoAdmin is unreachable. Then, if MonoAdmin cannot be reached, nobody can join, staff included. An outage or your server losing its internet connection keeps everyone out, so the panel asks you to confirm first.

The default can miss changes the server has not received yet, such as a ban issued while it was disconnected. Choose fail-closed if letting someone in unchecked costs your community more than a locked door does.

What to Configure

  1. Default ban. Under Settings > Overview, Default ban sets what a new ban does unless staff choose otherwise. New projects start on Sticky. Bans issued by scripts follow this default too.
  2. Fail-closed. Decide as above.
  3. Reasons. Every ban needs a reason of up to 500 characters, and the player sees it. Write one they can understand.
  4. Roles. Give Ban, Revoke Punishments and View Linked Accounts only to staff who should have them.
  5. Trusted scripts. An anticheat can ban through MonoAdmin only after you name it under Game Settings. None are allowed by default.
  6. Check before you ban. When unsure, open the Linked tab first. Pick Not sticky when you only want that account blocked.

monoadmin status in the server console shows how many cached bans are still enforced if the server is not linked.

Setting up for the first time? Follow Install MonoAdmin on Your FiveM Server in Five Minutes, or read the documentation.

Try MonoAdmin on Your Server

Create a free project, link your server and start moderating from anywhere.