PinPrompt is a security plugin that adds two-factor authentication (2FA) to your server. You can force and/or allow players to use a PIN to login, this adds an extra layer of protection on players accounts and especially staff accounts from third parties that don't know the PIN.
Natively built on 1.18.x but works on 1.8.x - 1.18.x
Natively built on 1.18.x but works on 1.8.x - 1.18.x
Amazing plugin to give you peace of mind about your staff and also help players that share PCs.
Force staff members to have a PIN or/and allow normal players to create their own if they want.
This plugin is NOT meant to be used on Cracked server for use such as an Auth system, it simply aids in securing player/staff accounts on online servers/networks.
- Config settings such as attempts allowed, time to enter, head theme, event blocking, messages, sounds and more!
- SQLite & MySQL support, sync your player's pins across multiple servers (Bungeecord network).
- Brute force protection, Limit the time a player has to enter their pin, the maximum amount of attempts they have and even temporally ban them for too many incorrect attempts.
- Developer API. The plugin currently has some API events for you to spice things up if needed. PinCreationEvent, PinBlackListedEvent, PinCorrectEvent and PinIncorrectEvent.
- Changeable PIN length, have up to 43,046,721 combinations of PINs for you to use, which would take over 20 years to crack if you entered a PIN every 15 seconds.
- Regular plugin updates with bug fixes
- Permission-based so you can force everyone to use a PIN or only certain players like staff members or even just yourself.
- Head Themes. Change your PIN number heads to many different themes including Quartz, Pumpkins, Bloody, Advent and more! Fun for any time of year!
- Single inventory without cursor issues. Other plugins use different inventories for each step of entering your PIN and will reset your cursor to the centre of the screen which is very annoying and frustrating. PinPrompt doesn't and only updates the title of the inventory with special packets sent to the client.
- Sessions. Make players only have to login every X hours and optionally only using the same IP used to start the session!
- Block inputs that can naturally bypass GUIs such as hacked clients, including but not limited to, Moving, Interacting, Chat, Commands. You can also block entity targetting and damage so the player can't die when entering their PIN.
- Highly efficient with performance in mind since the start and highly optimized, if you see any timings/heap reports with PinPrompt being an issue, send me over the information and I will do my best.
- Hex colors in supported Minecraft versions. (1.16+)
- Supports all popular versions. This means you can use this on 1.8, 1.12, 1.18 or anything in between with support for future versions as they come!
- AuthMe. Compatible with AuthMe as an extra pin option after the user enters their password.
- Spectator Support. Support to change spectator mode players into another gamemode to enter their PIN since you cannot click anything in that gamemode.
- Safety Net. The plugin will stop players from joining if it has issues connecting to the database.
- and many more...
COMMANDS & PERMISSIONS
Command Alias: /pinprompt, /pp & /pin
- /pin Shows plugin information.
- /pin create Create a PIN for yourself.
- /pin change [player] [new pin] Change your current PIN or change other users current PIN.
- /pin reload Reload the plugin including the head manager, also saving data.
- /pin lock Locks your account (Brings up the PIN GUI so you can AFK without worry) so you have to re-enter your PIN to play.
- /pin remove [player] Remove your own PIN or remove another player's PIN.
- /pin unban [player] Unban a player that is currently banned from entering their PIN incorrectly.
- pinprompt.force Players with this permission are forced to make a PIN and use that PIN for future logins. (Good for staff accounts)
- pinprompt.command.create Allows players to do the /pin create command to create a PIN for themselves but not forced to have one. (Good for allowing players to make a pin for themself if they want)
- pinprompt.command.change Allows players to do the /pin change command to change their current PIN if they have one.
- pinprompt.command.change.other Allows players to change other players PIN with the /pin change [player] [new pin] command
- pinprompt.command.remove Allows players to do /pin remove command to remove their own PIN if they have one
- pinprompt.command.remove.other Allows players to remove other players PIN with the /pin remove [player] command
- pinprompt.command.unban Allows players to unban players if they are currently banned from entering the incorrect PIN.
- pinprompt.command.reload Permission to reload the plugin.
- pinprompt.update.notification Permission to get update notifications on login.
- pinprompt.* for all permissions.
If you need support/help then please contact me in a direct message here (recommended) or post on the discussion page here.
How to install:
Spigot/Paper or any fork:
Simply drop and drag the plugin's jar into the plugins folder of your server, feel free to edit the config.yml to fit your needs then make sure to give the permissions you want to your groups.
Bungeecord/Waterfall network or any fork:
Do the above install steps for each sub-server on your network OR make a new server just for PinPrompt and once they enter their pin they can be sent to another server (Is in the config) (Recommended) OR simply only install it on your hub server if you force all joins to that before anything else, I highly recommend using a MySQL database so you can connect all the plugin instances together and use the same database.