Introduction JPremium is a modern authentication plugin for Minecraft proxy servers (BungeeCord or Velocity). It requires non-premium players to authenticate using commands (/register or /login) to play on the server, while Java and Bedrock premium players are automatically authenticated by the plugin.
Requirements The plugin requires a proxy server (BungeeCord or Velocity) and Java 17 or higher to run. The proxy server needs to have at least one back-end server (Spigot) configured as a limbo server. Internet connection is required to download dependencies and verify premium players during the authentication process (the rate limit applies).
Links The plugin has extensive documentation located on the wiki page. If you have a question which cannot be answered by reading the wiki or you want to report a bug, please contact me in a private message.
Features
Premium automatic authentication All premium players are automatically authenticated by the plugin and do not need to use any commands to play on the server.
Premium username change Premium players can change their username without losing any UUID-based data (such as items, ranks). They also cannot steal any non-premium accounts which already exist on the server.
Premium usernames protection –Read more Premium usernames are protected and non-premium players cannot use them on the server. This protection can be changed in two ways: either by requiring all players to authenticate using commands and allowing them to switch their account type to premium, or by challenging premium usernames on the first login attempt.
Non-premium authentication All non-premium players need to authenticate using commands (/register or /login) to play on the server. During authentication, they are connected to a limbo server and see a boss bar which informs them about the remaining time to authenticate. During registration, they also need to solve CAPTCHA by providing a code which is displayed on a map.
Non-premium sessions Non-premium players do not need to authenticate using commands every time they join the server. When they join shortly after leaving and use the same username and IP address as before, they are automatically authenticated by the plugin.
Non-premium two-factor authentication Non-premium players can increase account security by activating two-factor authentication. During authentication, they also need to confirm their identity by providing a time-based code which is generated by an authenticator application (such as Google Authenticator).
Non-premium password recovery Non-premium players can link an email address to their server account. If they forget their password or their server account is compromised, they can use the linked email address to recover access to their server account.
Bedrock edition support All Bedrock premium players who connect through Geyser and Floodgate are automatically authenticated by the plugin and do not need to use any commands to play on the server. Floodgate player linking and Bedrock non-premium players are not supported.
UUID modes –Read more All UUIDs are modified based on two modes (real and offline). The mode also controls whether premium players see cosmetics on modified clients (such as LunarClient) and whether players can switch their account type using commands (/premium or /cracked).
Technical details Supported database: SQLite, MySQL, Mariadb. Supported password hashing algorithms: SHA256, SHA512 and bcrypt. A developer API is also available.