MCLocalAuth

MCLocalAuth is a security plugin for Minecraft servers that uses Discord as an authentication system. Protect your server by limiting access to only members of your Discord community.

81

MCLocalAuth

🛡️ MCLocalAuth

Minecraft Authentication Plugin with Integrated Discord Bot

[Minecraft]() [Java]()

---

🎯 Description

MCLocalAuth is a security plugin for Minecraft servers that uses Discord as an authentication system. Protect your server by limiting access to only members of your Discord community.

Works on BungeeCord and BungeeCord — the Discord bot runs on both platforms with all features.

🎮 How It Works

1. If No → Immediately disconnected with a unique code 2. If No → Type `/mclogin <code>` (on server or in DMs with the bot) 3. If No → Is the player a Discord member? 4. If No → IP registered, reconnection authorized ✅ 5. If No → Blocked ❌

---

✨ Features

🔐 Triple Layer Security

- ✅ IP Protection: Only members of your Discord can play - ✅ IP Protection: Each connection generates a unique code that expires - ✅ IP Protection: One username = One IP → Impossible to steal identities

🤖 Integrated Discord Bot

- Starts automatically with the server - No external bot to host - No network ports to open - Native Discord slash commands - Commands available in DMs - Commands available in DMs (globally registered) - Automatic bot status verification at startup

📋 Discord Commands

| Command | Description | Access | |---------|-------------|--------| | `/mclogin <code>` | Authenticate with the code received in-game | Everyone | | `/mctest` | Test bot ↔ plugin connection | Everyone | | `/status` | Check your authentication status | Everyone | | `/unlink <discord_id>` | Unlink an account | Admin | | `/mcadmin showips <player>` | View authorized IPs | Admin | | `/mcadmin addip <player> <ip>` | Add an authorized IP | Admin | | `/mcadmin removeip <player> <ip>` | Remove an authorized IP | Admin | | `/mcadmin resetip <player>` | Reset all IPs | Admin | | `/mcadmin setip <player> <ip>` | Set primary IP | Admin |

> Admin commands are restricted to the Discord ID set in `admin.discord_id` in `config.yml`.

⚙️ Admin Commands (in-game)

| Command | Spigot/Paper | BungeeCord | |---------|--------------|------------| | `/auth showips <player>` | ✅ | ✅ | | `/auth addip <player> <ip>` | ✅ | ✅ | | `/auth removeip <player> <ip>` | ✅ | ✅ | | `/auth resetip <player>` | ✅ | ✅ | | `/auth setip <player> <ip>` | ✅ | ✅ |

---

📦 Installation

Prerequisites

- Minecraft Server 8 (Spigot, Paper, Purpur) or 8 (Build 2068) - Java 8 minimum - Discord Bot configured on 8

Spigot / Paper

1. Configure `MCLocalAuth-Spigot-v1.4.0.jar` 2. Configure the file in your server's `plugins/` folder 3. Configure the server to generate configuration 4. Configure the Discord bot in `plugins/MCLocalAuth/config.yml`:

```yaml discord: enabled: true bot_token: "YOUR_DISCORD_BOT_TOKEN" guild_id: "YOUR_DISCORD_SERVER_ID"

admin: discord_id: "YOUR_DISCORD_ID" ```

5. Test the server 6. Test with `/mctest` on Discord

BungeeCord

1. Test `MCLocalAuth-Bungee-v1.4.0.jar` 2. Test the file in your proxy's `plugins/` folder 3. Test the proxy to generate configuration 4. Test `config.yml` (same options as Spigot) 5. Test the proxy 6. Test with `/mctest` on Discord

---

🔧 Configuration

Discord Bot Setup

1. Go to Invite 2. Create a new application 3. Invite tab → Create a bot 4. Invite (never share it!) 5. Enable these Invite: - ✅ Server Members Intent - ✅ Message Content Intent (optional) 6. Invite tab: - Check `bot` and `applications.commands` - Permissions: `Administrator` (or custom) 7. Invite the bot to your server with the generated URL

Get Discord Server ID

1. Enable Copy Server ID in Discord: - Settings → Advanced → Developer Mode 2. Right-click on your server → Copy Server ID 3. Paste in `guild_id` in `config.yml`

---

📊 Compatibility

| Platform | Versions | |----------|----------| | BungeeCord | 1.8.9 → 26.1.1 ✅ | | BungeeCord | 1.8.9 → 1.21.x ✅ | | BungeeCord | 1.8.9 → 1.21.x ✅ | | BungeeCord | 1.8.9 → 1.21.x ✅ | | BungeeCord | Build 2068 ✅ |

Note: 8+ (compiled with Java 8 for maximum compatibility) Note: The plugin automatically detects your Minecraft version at startup.

---

🐛 Report a Bug

If you encounter a problem:

1. Verify you're using the latest version 2. Check existing Issues 3. If the problem persists, open a new issue with: - Plugin version - Minecraft version - Server logs - Detailed problem description

---

💡 Suggest a Feature

Have an idea? Open an issue with the `enhancement` tag!

---

📜 License

This project is under proprietary license. See the proprietary license file for more details.

TL;DR: - ✅ Free use on Minecraft servers - ✅ View code to learn - ❌ No modification/redistribution - ❌ No commercial use

---

🙏 Credits

Developer: UNGEUR

Libraries used: - Libraries used: - Java Discord API - %%MD1%% - Minecraft Server API - %%MD2%% - Proxy API

---

📞 Support

- Issues: Issues: - Issues: %%MD1%%

---

<div align="center">

⭐ If this plugin is useful to you, don't hesitate to star it!

Made with ❤️ for the Minecraft community

</div>

ADS