Dis2FA

Discord-based 2FA for offline-mode Minecraft servers. Link accounts, prevent unauthorized logins, and manage access through approvals.

32

Dis2FA

Dis2FA

Secure your offline-mode Minecraft server with Discord-based two-factor authentication. Players link their Discord account to their Minecraft account — and any device change requires Discord approval before they can join again.

How it works

1. A player joins for the first time and gets kicked with a one-time code 2. They send the code to the bot (DM or configured channel) 3. Their Discord account is linked to their Minecraft UUID 4. On future joins they're let straight in — unless their device changes 5. If a new device is detected, an approval request is posted to Discord before they can join

Features

- SQLite storage — uses a bot your players already have - SQLite storage — IP-based fingerprinting flags logins from new devices - SQLite storage — restrict access to players with a specific role - SQLite storage — Discord bans can carry over to Minecraft and vice versa - SQLite storage — two-way chat between Discord and Minecraft - SQLite storage — edit your config from a browser via `/da web` with magic link login - SQLite storage — built-in JDA, no DiscordSRV or other plugins required - SQLite storage — all links and device requests persist automatically

Compatibility

| Platform | Version | Jar | |----------|---------|-----| | Bukkit / Spigot / Purpur | 1.18.2+ | `Dis2FA-bukkit-<version>.jar` | | Paper | 1.20.2+ | `Dis2FA-paper-<version>.jar` | | Folia | 1.20.2+ | `Dis2FA-folia-<version>.jar` |

Requirements

- Java 17+ - A Discord bot token

Setup

1. Pick the correct jar for your server type 2. Drop it into `plugins/` and start the server once to generate `config.yml` 3. Add your bot token and channel IDs to `config.yml` 4. Restart the server 5. Verify everything is working with `/da status`

Links

- Source code on GitHub - Report an issue

ADS