Bridge Plugin
Spigot/Paper bridge plugin for login location, player restrictions, captcha, and PlaceholderAPI.
Overview
The mineLogin Bridge is a companion plugin for Spigot/Paper backend servers. It communicates with the proxy plugin to provide visual login features, player restrictions during authentication, and map-based captcha.
Requirements
- Spigot or Paper 1.8+
- mineLogin running on the proxy (BungeeCord or Velocity)
Optional
- PacketEvents (for advanced player visibility control)
- Floodgate (for Bedrock player support)
- PlaceholderAPI (for account data placeholders)
Installation
- Download the latest
mineLogin-*-bridge.jar - Place it in your backend serverβs
plugins/folder - Start or restart the server
- Configure
plugins/mineLogin-Bridge/configuration.yml
Configuration
Communication
The bridge must use the same communication type as the proxy plugin.
communication:
type: PLUGIN_MESSAGING_CHANNEL
host: "localhost"
port: 25565
username: "username"
password: "password"
| Option | Type | Default | Description |
|---|---|---|---|
type | Enum | PLUGIN_MESSAGING_CHANNEL | Communication type (PLUGIN_MESSAGING_CHANNEL, REDIS, NATS) |
host | String | "localhost" | Redis/NATS server address |
port | Integer | 25565 | Redis/NATS server port |
username | String | "username" | NATS username |
password | String | "password" | Redis/NATS password |
Login Restrictions
login:
hide-items-for-not-logged-players: false
hide-not-logged-players: true
give-blindness-effect-for-not-logged-players: true
| Option | Type | Default | Description |
|---|---|---|---|
hide-items-for-not-logged-players | Boolean | false | Hide inventory items before authentication |
hide-not-logged-players | Boolean | true | Make unauthenticated players invisible to each other |
give-blindness-effect-for-not-logged-players | Boolean | true | Apply blindness effect before authentication |
Login Location
login:
login-location: ""
Set the login location with the /loginlocation command in-game. All unauthenticated players will be teleported to this location.
Player Restrictions
While a player is not authenticated, the following actions are blocked:
- Block breaking and placing
- Interacting with entities and blocks
- Opening inventories
- Clicking in inventories
- Moving (player is held at login location)
- Swapping hand items
- Dropping items
All restrictions are automatically lifted once the player authenticates on the proxy.
Map Captcha
When captcha-type is set to MAP in the proxy configuration, the bridge plugin renders a captcha image on an in-game map item.
- Supports Minecraft 1.8 through 1.21+ via version-specific NMS adapters
- The captcha image must be 128x128 pixels
- The map is given to the player automatically during registration
- The player must type the captcha code shown on the map
- The map is removed after registration
Maps Configuration
maps:
verification-qr-code-map-hotbar-slot: 0
captcha-image-url: "https://yourserver.com/captcha.png"
captcha-code-map-hotbar-slot: 1
| Option | Type | Description |
|---|---|---|
verification-qr-code-map-hotbar-slot | Integer | Hotbar slot for the 2FA QR code map |
captcha-image-url | String | URL to the captcha image (must be 128x128 pixels) |
captcha-code-map-hotbar-slot | Integer | Hotbar slot for the captcha code map |
Tip: Make sure the map hotbar slots do not conflict with other plugins. Place the login location in a contained, secure area to prevent abuse.
Login Location Command
Set the spawn point for unauthenticated players:
/loginlocation
- Permission:
minelogin.bridge.admin - Sets the location to your current position
- All unauthenticated players will be teleported here on join
General Settings
server-name: "mineCodes.pl"
date-format: "dd.MM.yyyy HH:mm:ss"
| Option | Type | Default | Description |
|---|---|---|---|
server-name | String | "mineCodes.pl" | Server name for display purposes |
date-format | String | "dd.MM.yyyy HH:mm:ss" | Date format used in messages and placeholders |
PlaceholderAPI
The bridge plugin integrates with PlaceholderAPI to provide account-related placeholders that can be used in scoreboards, tab lists, holograms, and any other plugin that supports PlaceholderAPI.
Requirements
- PlaceholderAPI installed on the backend server
Available Placeholders
| Placeholder | Description | Example Output |
|---|---|---|
%minelogin_email% | Playerβs linked email address | [email protected] |
%minelogin_is_paid% | Whether the account is premium | true |
%minelogin_register_time% | Formatted registration date | 14.02.2026 12:30:00 |
Usage Examples
Account: %minelogin_is_paid%
Email: %minelogin_email%
Registered: %minelogin_register_time%
The registration time placeholder uses the date-format configured in the General Settings section above.