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

  1. Download the latest mineLogin-*-bridge.jar
  2. Place it in your backend server’s plugins/ folder
  3. Start or restart the server
  4. 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"
OptionTypeDefaultDescription
typeEnumPLUGIN_MESSAGING_CHANNELCommunication type (PLUGIN_MESSAGING_CHANNEL, REDIS, NATS)
hostString"localhost"Redis/NATS server address
portInteger25565Redis/NATS server port
usernameString"username"NATS username
passwordString"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
OptionTypeDefaultDescription
hide-items-for-not-logged-playersBooleanfalseHide inventory items before authentication
hide-not-logged-playersBooleantrueMake unauthenticated players invisible to each other
give-blindness-effect-for-not-logged-playersBooleantrueApply 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
OptionTypeDescription
verification-qr-code-map-hotbar-slotIntegerHotbar slot for the 2FA QR code map
captcha-image-urlStringURL to the captcha image (must be 128x128 pixels)
captcha-code-map-hotbar-slotIntegerHotbar 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"
OptionTypeDefaultDescription
server-nameString"mineCodes.pl"Server name for display purposes
date-formatString"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

Available Placeholders

PlaceholderDescriptionExample Output
%minelogin_email%Player’s linked email address[email protected]
%minelogin_is_paid%Whether the account is premiumtrue
%minelogin_register_time%Formatted registration date14.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.