BakeryAuth

Quick rating

BakeryAuth

No reviews yet

A required NeoForge mod combining Discord authentication with manual client verification to help protect servers from unauthorized access.

Mod Loaders
NeoForge
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Required
Server Required

About

Project Details

Type
Mod
License
GNU General Public License v3.0 only
Latest Version
bakeryauth-1.0.0-all.jar
Authors
CurseForge
Modrinth

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID
Modrinth ID

Resources

External Links

Source Issues Wiki Discord

About

Description

BakeryAuth

Discord authentication and manual client verification for NeoForge servers.

BakeryAuth links Minecraft accounts to Discord, requires approval for every login, and provides client reports for administrator review.

Features

Discord Account Linking

  • One-time /link code system
  • Minecraft UUID to Discord account binding
  • Required Discord role support
  • Guild membership verification

Login Approval

Every login must be approved through Discord DM:

  • Login requests are sent automatically
  • Approve or deny requests using Discord buttons
  • Temporary login sessions
  • Helps protect linked Minecraft accounts from unauthorized access

Client Reports

After a successful login, the client can submit information about installed mods and resource packs to the server.

Players are shown a consent screen before any data is collected. Declining the consent screen disconnects the player without sending a report.

  • Scans the mods and resourcepacks directories
  • Calculates SHA-1 hashes for installed mods
  • Identifies mod hashes through the Modrinth API
  • Sends informational reports through a Discord webhook
  • Marks unknown mods for manual administrator review
  • Never automatically blocks players based on report results

Localization

  • Complete English and Russian translations
  • Configurable using server.language=en or server.language=ru
  • Customizable player disconnect messages

Server Security

  • Required on both the client and server
  • Client version and handshake verification
  • Configurable handshake and login timeouts
  • Automatic login-session expiration
  • Rate limits and report-size limits

Requirements

Component Version
Minecraft 1.21.1
Loader NeoForge
Java 21

Installation

Server

  1. Download the latest bakeryauth-*-all.jar release.

  2. Place the JAR into the server's mods directory.

  3. Start the server once.

  4. Edit the generated configuration file:

    config/bakeryauth.properties
    
  5. Restart the server.

Client

Every player must install the same BakeryAuth version as the server.


Discord Setup

  1. Create a Discord bot.
  2. Enable the Server Members Intent.
  3. Invite the bot to your Discord server.
  4. Configure:
    • Bot token
    • Guild ID
    • Player role ID
    • /link channel ID
  5. Optionally create a webhook for client reports.

Commands

Commands require permission level 3.

/bakeryauth info <player>

Displays account-link, Discord-role, guild-membership, and login-session information.

/bakeryauth unlink <player>

Removes a player's Discord link and active login session.

/bakeryauth reload

Reloads supported server configuration settings.


Privacy

Data sent from the client to the server after consent:

  • Installed mod file names, sizes, and SHA-1 hashes
  • Resource-pack names, types, sizes, metadata presence, and top-level entries

SHA-1 hashes are submitted by the server to the Modrinth API for file identification. Reports can be sent to server administrators through a configured Discord webhook.

Before any report is collected, players are shown a consent screen explaining what is shared and why. Declining disconnects the player without sending a report.

Consent is stored locally for each server address and is requested again when the agreement version changes.

The client never receives:

  • Discord bot token
  • Discord webhook URL
  • Server configuration secrets

BakeryAuth activates client reporting only when connected to a server running BakeryAuth and matching one of the addresses configured by that server.


Login Flow

Join server
     |
     |- BakeryAuth missing or incompatible?
     |      -> Connection rejected
     |
     |- Account not linked?
     |      -> Receive /link code
     |
     |- Missing Discord membership or role?
     |      -> Access denied
     |
     |- Login request created
     |      -> Discord DM sent
     |
     |- Approve
     |      -> Reconnect and join server
     |      -> Consent screen shown when required
     |      -> Client report sent after consent
     |
     `- Deny
            -> Access denied

Configuration Example

server.language=en

discord.token=BOT_TOKEN
discord.guildId=123456789012345678
discord.playerRoleId=987654321098765432
discord.linkChannelId=111122223333444455

bakery.webhookUrl=https://discord.com/api/webhooks/...
bakery.serverIps=play.example.net,127.0.0.1:25565

security.loginExpireMinutes=5
security.handshakeTimeoutSeconds=30

Player disconnect messages can also be customized using the message.* configuration options.


Open Source

Source code is available on GitHub. Issues and contributions are welcome.

License

GPL-3.0-only

BakeryAuth

Discord authentication and manual client verification for NeoForge servers.

BakeryAuth links Minecraft accounts to Discord, requires approval for every login, and provides client reports for administrator review.

Features

Discord Account Linking

  • One-time /link code system
  • Minecraft UUID to Discord account binding
  • Required Discord role support
  • Guild membership verification

Login Approval

Every login must be approved through Discord DM:

  • Login requests are sent automatically
  • Approve or deny requests using Discord buttons
  • Temporary login sessions
  • Helps protect linked Minecraft accounts from unauthorized access

Client Reports

After a successful login, the client can submit information about installed mods and resource packs to the server.

Players are shown a consent screen before any data is collected. Declining the consent screen disconnects the player without sending a report.

  • Scans the mods and resourcepacks directories
  • Calculates SHA-1 hashes for installed mods
  • Identifies mod hashes through the Modrinth API
  • Sends informational reports through a Discord webhook
  • Marks unknown mods for manual administrator review
  • Never automatically blocks players based on report results

Localization

  • Complete English and Russian translations
  • Configurable using server.language=en or server.language=ru
  • Customizable player disconnect messages

Server Security

  • Required on both the client and server
  • Client version and handshake verification
  • Configurable handshake and login timeouts
  • Automatic login-session expiration
  • Rate limits and report-size limits

Requirements

Component Version
Minecraft 1.21.1
Loader NeoForge
Java 21

Installation

Server

  1. Download the latest bakeryauth-*-all.jar release.

  2. Place the JAR into the server's mods directory.

  3. Start the server once.

  4. Edit the generated configuration file:

    config/bakeryauth.properties
    
  5. Restart the server.

Client

Every player must install the same BakeryAuth version as the server.


Discord Setup

  1. Create a Discord bot.
  2. Enable the Server Members Intent.
  3. Invite the bot to your Discord server.
  4. Configure:
    • Bot token
    • Guild ID
    • Player role ID
    • /link channel ID
  • Optionally create a webhook for client reports.

Commands

Commands require permission level 3.

/bakeryauth info <player>

Displays account-link, Discord-role, guild-membership, and login-session information.

/bakeryauth unlink <player>

Removes a player's Discord link and active login session.

/bakeryauth reload

Reloads supported server configuration settings.


Privacy

Data sent from the client to the server after consent:

  • Installed mod file names, sizes, and SHA-1 hashes
  • Resource-pack names, types, sizes, metadata presence, and top-level entries

SHA-1 hashes are submitted by the server to the Modrinth API for file identification. Reports can be sent to server administrators through a configured Discord webhook.

Before any report is collected, players are shown a consent screen explaining what is shared and why. Declining disconnects the player without sending a report.

Consent is stored locally for each server address and is requested again when the agreement version changes.

The client never receives:

  • Discord bot token
  • Discord webhook URL
  • Server configuration secrets

BakeryAuth activates client reporting only when connected to a server running BakeryAuth and matching one of the addresses configured by that server.


Login Flow

Join server
     |
     |- BakeryAuth missing or incompatible?
     |      -> Connection rejected
     |
     |- Account not linked?
     |      -> Receive /link code
     |
     |- Missing Discord membership or role?
     |      -> Access denied
     |
     |- Login request created
     |      -> Discord DM sent
     |
     |- Approve
     |      -> Reconnect and join server
     |      -> Consent screen shown when required
     |      -> Client report sent after consent
     |
     `- Deny
            -> Access denied

Configuration Example

server.language=en

discord.token=BOT_TOKEN
discord.guildId=123456789012345678
discord.playerRoleId=987654321098765432
discord.linkChannelId=111122223333444455

bakery.webhookUrl=https://discord.com/api/webhooks/...
bakery.serverIps=play.example.net,127.0.0.1:25565

security.loginExpireMinutes=5
security.handshakeTimeoutSeconds=30

Player disconnect messages can also be customized using the message.* configuration options.


Open Source

Source code is available on GitHub. Issues and contributions are welcome.

License

GPL-3.0-only

Screenshots

Gallery

  • RU | Agreement screen
    RU | Agreement screen RU | Agreement screen
  • EN | Agreement screen
    EN | Agreement screen EN | Agreement screen
  • RU | Agreement screen
    RU | Agreement screen
  • EN | Agreement screen
    EN | Agreement screen

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Total Downloads
CurseForge
<1,000
Modrinth
<1,000
Last Updated
CurseForge
Created
CurseForge
Modrinth
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works