How Mizan Works
How Mizan reads public ban lists, what its labels mean, how it links accounts, and what it never does.
Last updated .
Every Ban Is Its List's Claim
Mizan copies the public ban lists that game communities publish and files each ban under the account it names. Each ban shows under its list's name, with the list's reason in the list's own words. Mizan doesn't decide whether a ban was deserved, and it doesn't change what a list says.
How Mizan Reads a List
Most lists are SourceBans pages. Others are other ban panels, files a community publishes, or services Mizan asks about players a few at a time. Communities registered on Mizan can also send their own bans through its API.
- Every request names the registry in its user agent,
Justified ban registry (https://justified.gg), and Mizan follows a site's robots.txt unless the site's owner gave permission. Rules underUser-agent: justifiedapply to Mizan alone, so a site can allow or block it there. - Mizan sends a site one request every 2.5 seconds at most, or less often when its robots.txt asks.
- Most lists have their newest page read every hour and the whole list about once a day. A long or slow list is read weekly, or in slices over several hours.
- A ban the list marks as lifted or expired ends on Mizan too. A ban that disappears from the list ends only after a read of the whole list, and a list read in slices must have shown at least 90% of the bans it counts, without shrinking by more than 2%.
- An update that adds or ends more than 200 bans at once, or a tenth of the list's bans in force if that is more, is held and nothing is written until someone checks it. So is one that adds more than 10 bans on one player. A new list's first reading is not held.
- When a site refuses or fails a read, Mizan waits an hour, then two, then four, up to a week. After eight failures in a row it stops reading the list, or after four when the site is gone.
The status page shows each list's state, its last complete read and its next one.
What the Labels Mean
Mizan labels a ban by reading its reason. Phrases such as "Mass RDM", "aimbot" or "ban evasion" become labels, and a few lists with their own rule numbers or language get their own reading. A reason that names no offence Mizan knows, or no reason at all, gets no label. TF2 Bot Detector lists, which only mark cheaters, give every player they mark the Cheating label.
A ban's verdict is cheating, conduct or other, from its labels. A player's verdict on the players list is the worst of their bans.
Cheating. A ban with this label is a cheating ban.
| Label | What the list says the player did |
|---|---|
| Cheating | Used cheats: aimbots, wallhacks, ESP, injected Lua or scripts. |
Conduct. A ban with any of these labels, and no cheating label, is a conduct ban: how the player behaved.
| Label | What the list says the player did |
|---|---|
| Mass RDM | Killed several players without a roleplay reason. |
| RDM | Killed a player without a roleplay reason, on foot or with a vehicle. |
| No intent to roleplay | Joined to ruin roleplay for others, not to play it. |
| Left to avoid punishment | Disconnected to get out of a roleplay situation or a sit. |
| Changed name to avoid punishment | Changed name so staff could not find them. |
| Changed team to avoid punishment | Changed job to get out of a situation or a sit. |
| FailRP | Did something their character never would, to win. |
| NLR | Went back after dying to hurt the people who killed them. |
| Mass NLR | Broke the new life rule again and again. |
| RDA | Arrested a player without a roleplay reason. |
| Prop abuse | Used props to block, kill, push or climb. |
| Toxicity | Harassed or was toxic towards other players. |
| Hate speech | Used slurs, racism or other hate speech. |
| Metagaming | Used what they learnt out of character, in character. |
| Powergaming | Forced an outcome other players could not answer. |
| Trolling | Caused trouble for fun: trolling, griefing, punching people. |
| Spam | Flooded voice or chat: mic spam, chat spam, loud or distorted audio. |
| Staff disrespect | Lied to, ignored or disrespected staff. |
| Threats | Threatened players or the server, DDoS threats included, or doxxed someone. |
| Sexual content | Sexual roleplay, sexual remarks or sexual images. |
Other labels. These describe a ban without making it a cheating or a conduct ban.
| Label | What the list says the player did |
|---|---|
| Priors | Banned partly for earlier offences. |
| Exploiting | Abused bugs: duplicating, crashing the server or getting out of the map. |
| Ban evasion | Played on another account to get round a ban, or shared an account. |
| Advertising | Advertised another server, community or service. |
| Scamming | Scammed players or the server, chargebacks included. |
| Item transfer | Moved money or items between their own characters or accounts, or sold them for real money. |
A record can also carry a mark. The Cheater mark comes from a cheating ban on any list, from Mizan's own anti-cheat on Justified's servers, or from Justified's staff. The Conduct mark comes from a conduct ban that is in force or was given in the last year, or from Justified's staff. Disputing a ban explains both.
How Accounts Are Linked
A list sometimes says the banned account belongs to someone it already banned. Mizan links the two Steam accounts when the reason says so in plain words and names the other account right after them: "Alt of", "Duplicate account of", "New Steam ID of Existing Ban", "Family Shared Account of", "Ban evasion on", "same person as" and wordings like them. The other account must be written as a Steam profile link or a SteamID. The link is the list's claim and shows as one.
Mizan makes no link when:
- the list doubts it ("possible alt", "suspected", "likely", "not an alt") or calls it a false positive
- the account only played with the banned player, as in "associated with" or "played with a cheater"
- the account belongs to staff or a voter named in the reason, as in "Update:" or "Vote initiated by"
- the reason names the banned account as the main and the other as its alt, which a link can't hold the right way round
- the other account is a custom profile address, which names no SteamID without asking Steam
Ids Mizan Drops
- STEAM_0:1:0, which lists use when a ban has no real SteamID. Mizan never files a ban under it or links to it.
- Rows that are not a ban on a player's account, such as IP bans and rows with no SteamID.
- On Counter-Strike 1.6 panels, every id but STEAM_0, because those panels give STEAM_1 to STEAM_6 to players without Steam. A panel that shows a STEAM_0 id no Steam account has, past 3 billion, gives made-up ids to those players too, so Mizan takes none of its ids: about half of them would name real, unrelated accounts.
What Mizan Never Does
- The registry bans nobody. A community that checks players against Mizan decides for itself what to do with the answer.
- Mizan never presents a list's ban as its own finding. Only detections by Mizan's own anti-cheat speak in Mizan's voice.
- Mizan never rewrites a list's reason. Its labels sit beside the reason, which stays in the list's words.
How the Statistics Are Counted
The statistics count a ban as new when its list dates it within the week before Mizan first read it, or when the list gives no date and Mizan has read that list before. A new list's backlog doesn't count as new bans. Days are UTC.
Disputing a Ban
A ban belongs to the community that published it, so the appeal goes to that community. When it lifts the ban, Mizan follows on its next read. Disputing a ban explains each step, and how to report a copy that Mizan got wrong.