Minecraft anticheat guide
Protecting Staff Accounts on Minecraft Servers
Lock down Minecraft staff accounts with two-factor login, personal logins, least-privilege ranks, and offboarding steps that cut off compromised admin access.
Answer: protect the accounts that can act on the server
Most server takeovers start with a staff account, not with the anticheat itself. Require two-factor authentication on every account that can ban players, edit configs, or reach the console. Give each staff member a personal login, never a shared one. Limit each login to the access its role needs, and remove access on the day someone leaves.
List every account that can act on the server
Staff access often spreads across more places than the game itself. Write down each system, who holds an account, and what that account can change. This list is the basis for every control below.
| Account type | Why it matters | Minimum control |
|---|---|---|
| Discord staff account | Can read alerts, post to webhook channels, or receive secrets pasted in chat | Two-factor login and role-based channel access |
| Minecraft or platform account | Can join as operator if it has operator rights | Two-factor login on the account that owns the Minecraft profile |
| Hosting panel account | Can read files, restart the server, and open the console | Two-factor login and per-user panel roles |
| Config repository account | Can change plugin configs and deploy them | Two-factor login and reviewed merges |
| Database or dashboard account | Can read player records or ban history | Separate credentials and read-only access where possible |
Control operator access in the game
Vanilla operator entries live in ops.json. Each entry grants a permission level. Keep the list short, and review it against your staff roster every time someone joins or leaves. The example below uses placeholders. Do not copy a real UUID into a public document.
[
{
"uuid": "<player-uuid>",
"name": "<staff-name>",
"level": 2,
"bypassesPlayerLimit": false
}
]Set up two-factor login and personal accounts
Enable two-factor authentication on each account in the table, starting with panel and repository access. Use a password manager so each service has a unique password. Shared logins hide who did what, and they make it hard to revoke one person without disrupting the rest of the team. Two-factor login protects the account, not the device it runs on, so keep staff devices patched and use a dedicated browser profile for panel administration.
Review sessions and console use
Review who can reach the console and who has active sessions on the hosting panel and repository. Revoke sessions you do not recognize. Treat console access as a privileged action, and limit it to the people who need to restart or troubleshoot the server.
Offboard staff the same day
Offboarding is the step most servers skip. A former moderator who still has panel access, an operator entry, or a Discord role can still act on the server. Use one checklist for every departure, and complete it before the person is told. Schedule a quarterly check that each account still belongs to an active staff member, because an unreviewed list drifts within a few months.
What we have not verified
We have not checked which hosting panels or Discord plans offer every control described here, so confirm the options with your provider. We have not tested how any anticheat handles operator bypass or staff exemptions beyond what its own documentation states. For rank-based bypass rules, use the separate permissions audit process and the anticheat's documentation.
FAQ
Is two-factor login enough to protect a staff account?
It removes the most common route, a stolen password, but it does not stop a session that is already open on an unmanaged device. Pair it with session reviews and prompt offboarding.
Can staff share a moderator login for a single event?
Avoid it. A shared login makes the log useless for accountability, and it keeps working after the event ends. Create a temporary personal account with a fixed end date instead.
Why does the ops.json file matter if the panel is locked down?
The panel protects the files, but anyone with console access can change operator state. A local operator entry also persists across restarts, so an old entry can outlast the staff member it was meant for.
What should I do first if I think a staff account was compromised?
Revoke its sessions, change its password, and remove its operator and panel access. Then review the console and activity logs for actions taken since the suspected compromise, and record each step.