Rust centralized banning with Mizan
Point your Rust server's centralized banning at Mizan, and players with a cheating ban still in force on a ban list Mizan reads are refused as they join.
Last updated .
What you need
A community on Mizan that staff have approved, and an API key from it. Make the key under API keys on your community's page in your communities. Mizan shows the whole key once, so copy it then.
Set the endpoint
Run these two lines in your server console with your key in place of mzn_your_key, and add them to your server.cfg so they stay set after a restart. Rust adds each joining player's SteamID64 to the end of the address.
server.bansServerEndpoint "https://api.mizan.ac/v1/rust/mzn_your_key/"
server.bansServerFailureMode 0The key sits in the address because Rust can't send it as a header. Keep your config out of anything players can download: whoever has the key can read records as your community.
Who gets refused
A player is refused only while a ban list's ban labelled cheating is in force on their account. Bans that have ended and bans for griefing, toxicity or a similar rule don't refuse anyone. Nor do accounts Mizan's staff have cleared.
The player sees which lists banned them and where to dispute it, with the time left when a list set an end date: “Banned for cheating by Example Network. This server checks the ban lists Mizan reads. To dispute it: https://mizan.ac/disputes”.
Each ban is the list's decision. Disputing a ban explains how a player appeals to the list that banned them.
When Mizan can't check a player
If Mizan can't answer, because of an outage or because your community has used its requests for the minute, it tells Rust the player isn't banned and they join. An answer about a player can be up to a minute old.
Keep bansServerFailureMode at 0. At 1, Rust refuses everyone whenever its check fails, including on a timeout, a deleted key or a community still waiting for approval. Rust writes each failure to the server console.
Players already on the server
Rust checks players only as they join, so setting the endpoint doesn't remove anyone already playing. Use kick for that.
More from the API
The same key reads a player's whole record and adds your own bans. The Mizan API reference lists every route. Facepunch's centralized banning page has Rust's side of the check.