games647 / FastLogin

Checks if a minecraft player has a valid paid account. If so, they can skip offline authentication automatically. (premium auto login)
https://www.spigotmc.org/resources/fastlogin.14153
MIT License
498 stars 121 forks source link

FastLogin doesn't login players automatically. #28

Closed itsfolf closed 8 years ago

itsfolf commented 8 years ago
# FastLogin config
# Project site: https://www.spigotmc.org/resources/fastlogin.14153
# Source code: https://github.com/games647/FastLogin
#
# You can access the newest config here:
# https://github.com/games647/FastLogin/blob/master/core/src/main/resources/config.yml

# Request a premium login without forcing the player to type a command
#
# If you activate autoRegister, this plugin will check/do these points on login:
#1. An existing cracked account shouldn't exist
# -> paid accounts cannot steal the existing account of cracked players
# - (Already registered players could still use the /premium command to activate premium checks)
#2. Automatically registers an account with a strong random generated password
# -> cracked player cannot register an account for the premium player and so cannot the steal the account
#
# Furthermore the premium player check have to be made based on the player name
# This means if a cracked player connects to the server and we request a paid account login from this player
# the player just disconnect and sees the message: 'bad login' or 'invalid session'
# There is no way to change this message
# For more information: https://github.com/games647/FastLogin#why-do-players-have-to-invoke-a-command
autoRegister: true

# If this plugin detected that a player has a premium, it can also set the associated
# uuid from that account. So if the players changes their usernames, they will still have
# the same playerdata (inventory, permissions, ...)
#
# Warning: This also means that the UUID will be different if the player is connecting
# through a offline mode connection. This **could** cause plugin compatibility issues.
#
# This is a example and doesn't apply for every plugin.
# Example: If you want to ban players who aren't online at the moment, the ban plugin will look
# after a offline uuid associated to the player, because the server is in offline mode. Then the premium
# players could still join the server, because they have different UUID.
#
# Moreover you may want to convert the offline UUID to a premium UUID. This will ensure that the player
# will have the same inventory, permissions, ... if they switched to premium authentification from offline/cracked
# authentification.
#
# This feature requires Cauldron, Spigot or a fork of Spigot (PaperSpigot, TacoSpigot)
premiumUuid: false

# This will make an additional check (only for player names which are not in the database) against the mojang servers
# in order to get the premium UUID. If that premium UUID is in the database, we can assume on sucessful login that the
# player changed it's  username and we just update the name in the database.
# Examples:
# #### Case 1
# nameChangeCheck = false ----- autoRegister = false
#
# Player logins as cracked until the player invoked the command /premium. Then we could override the existing database
# record.
#
# #### Case 2
#
# nameChangeCheck = true ----- autoRegister = false
#
# Connect the Mojang API and check what UUID the player has (UUID exists => Paid Minecraft account). If that UUID is in
# the database it's an **existing player** and FastLogin can **assume** the player is premium and changed the username.
# If it's not in the database, it's a new player and **could be a cracked player**. So we just use a offline mode
# authentication for this player.
#
# **Limitation**: Cracked players who uses the new username of a paid account cannot join the server if the database
# contains the old name. (Example: The owner of the paid account no longer plays on the server, but changed the username
# in the meanwhile).
#
# #### Case 3
#
# nameChangeCheck = false ----- autoRegister = true
#
# We will always request a premium authentication if the username is unknown to us, but is in use by a paid minecraft
# account. This means it's kind of a more aggressive check like nameChangeCheck = true and autoRegister = false, because
# it request a premium authentication which are completely new to us, that even the premium UUID is not in our database.
#
# **Limitation**: see below
#
# #### Case 4
#
# nameChangeCheck = true ----- autoRegister = true
#
# Based on autoRegister it checks if the player name is premium and login using a premium authentication. After that
# fastlogin receives the premium UUID and can update the database record.
#
# **Limitation from autoRegister**: New offline players who uses the username of an existing minecraft cannot join the
# server.
nameChangeCheck: true

# If your players have a premium account and a skin associated to their account, this plugin
# can download the data and set it to the online player.
#
# Keep in mind that this will only works if the player:
# * is the owner of the premium account
# * the serverconnection is established through a premium connection (paid account authentification)
# * has a skin
#
# This means this plugin doesn't need to create a new connection to the Mojang servers, because
# the skin data is included in the Auth-Verification-Response sent by Mojang. If you want to use for other
# players like cracked player, you have to use other plugins.
#
# If you want to use skins for your cracked player, you need an additional plugin like
# ChangeSkin, SkinRestoer, ...
forwardSkin: true

# Displays a warning message that this message SHOULD only be invoked by
# users who actually are the owner of this account. So not by cracked players
#
# If they still want to invoke the command, they have to invoke /premium again
premium-warning: true

# Database configuration
# Recommened is the use of MariaDB (a better version of MySQL)

# Single file SQLite database
# driver: org.sqlite.JDBC
# File location
# database: '{pluginDir}/FastLogin.db'

# MySQL
driver: com.mysql.jdbc.Driver
host: ------
port: 3306
database: -----
username: ----
password: ----
games647 commented 8 years ago

Then I think I could close this, don't I?

games647 commented 8 years ago

Sorry for the long conversation to solve it.

MarBlack23 commented 2 years ago

It happens to me that the players cannot walk correctly, but this happens from time to time, you have to log in and everything is perfect but other times you log in and you can only move by jumping and I have detected a difference in the messages of the Console from when someone logs in correctly to when someone fails to login, in my case I have authme 5.6 and fastlogin and what I think fails is fastlogin, sorry for the translator

-----------------------Normal login----------

[22:55:29 INFO]: UUID of player MarBlack23 is 687474a7-7138-3ae4-8cbf-2895de313448 [22:55:29 WARN]: [ViaVersion] Ignoring plugin channel in outgoing REGISTER: WECUI [22:55:29 WARN]: [ViaVersion] Ignoring plugin channel in incoming REGISTER: legacy:fml|hs [22:55:29 WARN]: [ViaVersion] Ignoring incoming plugin channel register of 'fabric-screen-handler-api-v1:open_screen', as it is longer than 32 characters [22:55:29 INFO]: MarBlack23[/188.26.199.XX:34586] logged in with entity id 154 at ([hub]0.5, 40.0, 0.5) [22:55:29 INFO]: [AuthMe] The user MarBlack23 has been automatically logged in, as requested via plugin messaging. [22:55:29 INFO]: [FastLogin] Player info LOGIN command for MarBlack23 from proxy [22:55:29 INFO]: [FastLogin] Delaying force login until join event fired?: false [22:55:29 INFO]: [AuthMe] MarBlack23 logged in 188.26.199.1XX [22:55:30 INFO]: [FastLogin] Logging player MarBlack23 in [22:55:30 WARN]: [FastLogin] Player CraftPlayer{name=MarBlack23} is already authenticated. Cancelling force login. [22:55:31 WARN]: [ViaVersion] Ignoring incoming plugin channel register of 'fabric-screen-handler-api-v1:open_screen', as it is longer than

-------------------fail login-----------------

[23:57:10 INFO]: UUID of player majete23 is b6ccaf13-edc1-39b1-82a8-5429f9f838fc [23:57:10 WARN]: [ViaVersion] Ignoring plugin channel in outgoing REGISTER: WECUI [23:57:10 WARN]: [ViaVersion] Ignoring plugin channel in incoming REGISTER: legacy:fml|hs [23:57:10 INFO]: majete23[/188.26.199.1XX:55518] logged in with entity id 169 at ([hub]0.5, 40.0, 0.5) [23:57:10 INFO]: [AuthMe] The user majete23 has been automatically logged in, as requested via plugin messaging. [23:57:10 INFO]: [AuthMe] majete23 logged in 188.26.199.1XX [23:57:10 INFO]: [FastLogin] No on-going login session for player: CraftPlayer{name=majete23} with ID 188.26.199.1XX:55518

Polda18 commented 2 years ago

It happens to me that the players cannot walk correctly, but this happens from time to time, you have to log in and everything is perfect but other times you log in and you can only move by jumping and I have detected a difference in the messages of the Console from when someone logs in correctly to when someone fails to login, in my case I have authme 5.6 and fastlogin and what I think fails is fastlogin, sorry for the translator

-----------------------Normal login----------

[22:55:29 INFO]: UUID of player MarBlack23 is 687474a7-7138-3ae4-8cbf-2895de313448 [22:55:29 WARN]: [ViaVersion] Ignoring plugin channel in outgoing REGISTER: WECUI [22:55:29 WARN]: [ViaVersion] Ignoring plugin channel in incoming REGISTER: legacy:fml|hs [22:55:29 WARN]: [ViaVersion] Ignoring incoming plugin channel register of 'fabric-screen-handler-api-v1:open_screen', as it is longer than 32 characters [22:55:29 INFO]: MarBlack23[/188.26.199.177:34586] logged in with entity id 154 at ([hub]0.5, 40.0, 0.5) [22:55:29 INFO]: [AuthMe] The user MarBlack23 has been automatically logged in, as requested via plugin messaging. [22:55:29 INFO]: [FastLogin] Player info LOGIN command for MarBlack23 from proxy [22:55:29 INFO]: [FastLogin] Delaying force login until join event fired?: false [22:55:29 INFO]: [AuthMe] MarBlack23 logged in 188.26.199.177 [22:55:30 INFO]: [FastLogin] Logging player MarBlack23 in [22:55:30 WARN]: [FastLogin] Player CraftPlayer{name=MarBlack23} is already authenticated. Cancelling force login. [22:55:31 WARN]: [ViaVersion] Ignoring incoming plugin channel register of 'fabric-screen-handler-api-v1:open_screen', as it is longer than

-------------------fail login-----------------

[23:57:10 INFO]: UUID of player majete23 is b6ccaf13-edc1-39b1-82a8-5429f9f838fc [23:57:10 WARN]: [ViaVersion] Ignoring plugin channel in outgoing REGISTER: WECUI [23:57:10 WARN]: [ViaVersion] Ignoring plugin channel in incoming REGISTER: legacy:fml|hs [23:57:10 INFO]: majete23[/188.26.199.177:55518] logged in with entity id 169 at ([hub]0.5, 40.0, 0.5) [23:57:10 INFO]: [AuthMe] The user majete23 has been automatically logged in, as requested via plugin messaging. [23:57:10 INFO]: [AuthMe] majete23 logged in 188.26.199.177 [23:57:10 INFO]: [FastLogin] No on-going login session for player: CraftPlayer{name=majete23} with ID 188.26.199.177:55518

Did you seriously leak your own IP address? Or were you connecting via VPN? I always mask IP addresses when I post logs, eighter mask them for localhost address (127.0.0.1), or place X's in place of digits (like this: XXX.XXX.XXX.XXX). It makes a good habit to be honest, making sure that a player's IP address isn't leaked like that.