2015-09-05 10:03:06 +02:00
# FastLogin
2015-09-04 19:56:58 +02:00
2025-03-18 17:22:26 +01:00

2016-05-18 15:47:51 +02:00
Checks if a Minecraft player has a paid account (premium). If so, they can skip offline authentication (auth plugins).
2015-11-14 20:03:24 +01:00
So they don't need to enter passwords. This is also called auto login (auto-login).
2015-11-03 17:44:57 +01:00
2018-04-05 17:33:32 +02:00
## Features
2016-04-05 11:40:23 +02:00
2015-11-03 17:44:57 +01:00
* Detect paid accounts from others
* Automatically login paid accounts (premium)
* Support various of auth plugins
2016-03-23 10:15:48 +01:00
* Premium UUID support
2020-05-07 16:21:03 +02:00
* Forward skins
2022-01-14 12:12:05 +01:00
* Detect username changed and will update the existing database record
2024-05-21 14:41:41 +02:00
* BungeeCord/Velocity support
2016-03-20 11:30:52 +01:00
* Auto register new premium players
2015-11-04 19:41:47 +01:00
* No client modifications needed
2020-05-07 16:21:03 +02:00
* Good performance by using async operations
2016-06-10 09:22:21 +02:00
* Locale messages
2022-07-15 15:54:19 +02:00
* Support for Bedrock players proxies through FloodGate
2015-11-03 17:44:57 +01:00
2020-05-07 16:21:03 +02:00
## Issues
2022-01-14 12:12:05 +01:00
Please use issues for bug reports, suggestions, questions and more. Please check for existing issues. Existing issues
2020-05-14 15:11:01 +02:00
can be voted up by adding up vote to the original post. Closing issues means that they are marked as resolved. Comments
are still allowed and it could be re-opened.
2020-05-07 16:21:03 +02:00
2018-04-02 14:43:43 +02:00
## Development builds
2021-07-12 17:25:52 +02:00
Development builds contain the latest changes from the Source-Code. They are bleeding edge and could introduce new bugs,
2022-01-14 12:12:05 +01:00
but also include features, enhancements and bug fixes that are not yet in a released version. If you click on the left
2021-07-12 17:25:52 +02:00
side on `Changes` , you can see iterative change sets leading to a specific build.
2018-04-02 14:43:43 +02:00
2021-07-12 17:25:52 +02:00
You can download them from here: https://ci.codemc.org/job/Games647/job/FastLogin/
2018-04-02 14:43:43 +02:00
2015-11-03 17:44:57 +01:00
***
2015-09-04 19:56:58 +02:00
2018-04-05 17:33:32 +02:00
## Commands
2018-03-09 13:57:51 +01:00
/premium [player] Label the invoker or the argument as paid account
/cracked [player] Label the invoker or the argument as cracked account
2015-10-01 19:35:41 +02:00
2018-04-05 17:33:32 +02:00
## Permissions
2018-03-09 13:57:51 +01:00
fastlogin.bukkit.command.premium
fastlogin.bukkit.command.cracked
2024-05-06 09:40:07 +02:00
2018-03-09 13:57:51 +01:00
fastlogin.command.premium.other
fastlogin.command.cracked.other
2015-10-01 19:35:41 +02:00
2020-05-14 13:41:32 +02:00
## Placeholder
2022-01-14 12:12:05 +01:00
This plugin supports `PlaceholderAPI` on `Spigot` . It exports the following variable
`%fastlogin_status%` . In BungeeCord environments, the status of a player will be delivered with a delay after the player
2020-05-14 13:41:32 +02:00
already successful joined the server. This takes about a couple of milliseconds. In this case the value
2022-01-14 12:12:05 +01:00
will be `Unknown` .
2020-05-14 13:41:32 +02:00
2022-01-14 12:12:05 +01:00
Possible values: `Premium` , `Cracked` , `Unknown`
2020-05-14 13:41:32 +02:00
2018-04-05 17:33:32 +02:00
## Requirements
2024-05-05 13:29:06 +02:00
* Java: 21+ recommended for improved multi-threading code by FastLogin
* Spigot: 8+
* BungeeCord and Velocity: 17+
2022-06-08 10:20:15 +02:00
* Server software in offlinemode:
* Spigot (or a fork e.g. Paper) 1.8.8+
* Protocol plugin:
2024-07-02 14:16:56 +02:00
* [ProtocolLib 5.3+ with development build above 720 ](https://www.spigotmc.org/resources/protocollib.1997/ ) or
2022-06-08 10:20:15 +02:00
* [ProtocolSupport ](https://www.spigotmc.org/resources/protocolsupport.7201/ )
2024-05-06 11:18:28 +02:00
* Latest BungeeCord (or a fork e.g. Waterfall) or Velocity proxy
2021-02-18 18:16:06 +01:00
* An auth plugin.
2016-03-20 15:19:02 +01:00
2021-02-18 18:16:06 +01:00
### Supported auth plugins
#### Spigot/Paper
2016-03-20 15:19:02 +01:00
2016-05-14 13:25:12 +02:00
* [AdvancedLogin (Paid) ](https://www.spigotmc.org/resources/advancedlogin.10510/ )
2021-02-18 18:17:52 +01:00
* [AuthMe (5.X) ](https://dev.bukkit.org/bukkit-plugins/authme-reloaded/ )
2016-11-26 10:06:27 +01:00
* [CrazyLogin ](https://dev.bukkit.org/bukkit-plugins/crazylogin/ )
* [LoginSecurity ](https://dev.bukkit.org/bukkit-plugins/loginsecurity/ )
2021-02-18 18:17:52 +01:00
* [LogIt ](https://github.com/games647/LogIt )
* [UltraAuth ](https://dev.bukkit.org/bukkit-plugins/ultraauth-aa/ )
2021-02-18 18:16:06 +01:00
* [UserLogin ](https://www.spigotmc.org/resources/userlogin.80669/ )
2021-02-18 18:17:52 +01:00
* [xAuth ](https://dev.bukkit.org/bukkit-plugins/xauth/ )
2016-03-20 15:19:02 +01:00
2021-02-18 18:16:06 +01:00
#### BungeeCord/Waterfall
2016-03-20 15:19:02 +01:00
* [BungeeAuth ](https://www.spigotmc.org/resources/bungeeauth.493/ )
2016-03-20 12:49:24 +01:00
2019-04-14 10:16:33 +02:00
## Network requests
This plugin performs network requests to:
* https://api.mojang.com - retrieving uuid data to decide if we should activate premium login
* https://sessionserver.mojang.com - verify if the player is the owner of that account
2015-11-03 17:44:57 +01:00
***
2018-04-05 17:33:32 +02:00
## How to install
2016-05-14 14:00:43 +02:00
2020-05-23 21:39:47 +02:00
### Spigot/Paper
2016-05-14 14:00:43 +02:00
2018-03-31 10:34:26 +02:00
1. Download and install ProtocolLib/ProtocolSupport
2024-05-21 14:41:41 +02:00
2. Download and install `FastLoginBukkit`
3. Set your server in offline mode by setting the value `onlinemode` in your server.properties to `false`
2022-02-15 11:59:59 +01:00
### BungeeCord/Waterfall or Velocity
Install the plugin on both platforms, that is proxy (BungeeCord or Velocity) and backend server (Spigot).
1. Activate proxy support in the server configuration
* This is often found in `spigot.yml` or `paper.yml`
2. Restart the backend server
3. Now there is `allowed-proxies.txt` file in the FastLogin folder of the restarted server
2022-08-23 16:18:20 +02:00
* BungeeCord: Put your `stats` -id from the BungeeCord config into this file
2022-02-15 11:59:59 +01:00
* Velocity: On plugin startup the plugin generates a `proxyId.txt` inside the plugins folder of the proxy
4. Activate ip forwarding in your proxy config
5. Check your database settings in the config of FastLogin on your proxy
* The proxies only ship with a limited set of drivers where Spigot supports more. Therefore, these are supported:
2024-05-21 14:41:41 +02:00
* BungeeCord: `mysql` for MySQL/MariaDB
* Velocity: `mariadb` for MySQL/MariaDB
2022-02-15 11:59:59 +01:00
* Note the embedded file storage SQLite is not available
* MySQL/MariaDB requires an external database server running. Check your server provider if there is one available
or install one.
6. Set proxy and Spigot in offline mode by setting the value `onlinemode` in your `config.yml` to false
2022-06-09 12:04:42 +02:00
7. You should * always * configure the firewall for your Spigot server so that it's only accessible through your proxy
2022-02-15 11:59:59 +01:00
* This is also the case without this plugin
* https://www.spigotmc.org/wiki/bungeecord-installation/#post -installation