⭐ Two Factor Authentication | 1.8 - 1.21 ❤️ icon

⭐ Two Factor Authentication | 1.8 - 1.21 ❤️ -----

➢ Most advanced 2FA plugin for Spigot | BungeeCord & Velocity Support | 100% Customizable




Two Factor Authentication is now using up-to-date dependencies.
@Nogame1234 has updated some of the dependencies to be up-to-date. Nothing ground-breaking, but yet, nice to have!
----------, Jul 28, 2024

Two Factor Authentication now supports 1.20 and 1.21!
After quite some time without any updates, the awesome @Nogame1234 refactored some of the codebase, updated dependencies and much more!

Changes
  • The plugin now supports 1.8 - 1.21 Minecraft versions.
  • The plugin now depends on Java 17 and would only work on servers using any version equal to or above.
  • The plugin now uses Atlassian's OneTime library for handling 2FA, replacing the old Google-based library.
  • The plugin generates QR codes itself instead of depending on external services.
  • Some known bugs related to authentication are now fixed.
----------, Jul 6, 2024

Two Factor Authentication now supports 1.19!
This version brings a lot of needed updates to our dependencies!

QoL Changes
  • You now have an option in the config to select whether walk & fly speed changes when a player joins the server
----------, Aug 14, 2022

Two Factor Authentication is getting a stable update with the new Authentication Handling System!
This version brings a lot of QoL improvements, bug fixes, and more features overall!

Bug Fixes
  • Fixed a bug that allowed players to drop maps when in setup mode
  • Fixed a bug not updating bungeecord with players' authentication state
    • This caused players to be able to execute bungeecord commands while not authenticated
  • Fixed a bug that allowed players to disable 2fa before authenticating
  • Fixed a bug that made the plugin not demand 2fa from players with the 2fa.demand permission
  • Fixed a bug that allowed players to disable other's 2fa without having the permission to do that
  • Removed unnecessary checks and optimized code

QoL Changes
  • When executing `/2fa help`, commands won't have the [2FA] prefix anymore
  • Added a Console Filter to hide the `/2fa <code>` command and thus enhancing players' privacy
  • Added alerts to players with the 2fa.alerts permission, to notify them when 2fa detects a configuration issue
    • Should alert players if they have communication-method set to a non-optimized method
    • Should suggest switching to communication-method set to PROXY if a proxy is detected
  • Updated LielsUtils to a newer version
    • Fixed a bug causing an InternalError to be thrown whenever players tried to tab-complete a command
----------, Mar 12, 2022

Two Factor Authentication is getting a stable update with the new Authentication Handling System!
This version brings a lot of QoL improvements, bug fixes, and more features overall!

Bug Fixes
  • Fixed a bug that allowed players to drop maps when in setup mode
  • Fixed a bug not updating bungeecord with players' authentication state
    • This caused players to be able to execute bungeecord commands while not authenticated
  • Fixed a bug that allowed players to disable 2fa before authenticating
  • Fixed a bug that made the plugin not demand 2fa from players with the 2fa.demand permission
  • Fixed a bug that allowed players to disable other's 2fa without having the permission to do that
  • Removed unnecessary checks and optimized code

QoL Changes
  • When executing `/2fa help`, commands won't have the [2FA] prefix anymore
  • Added a Console Filter to hide the `/2fa <code>` command and thus enhancing players' privacy
  • Added alerts to players with the 2fa.alerts permission, to notify them when 2fa detects a configuration issue
    • Should alert players if they have communication-method set to a non-optimized method
    • Should suggest switching to communication-method set to PROXY if a proxy is detected
  • Updated LielsUtils to a newer version
    • Fixed a bug causing an InternalError to be thrown whenever players tried to tab-complete a command
----------, Mar 12, 2022

Two Factor Authentication is getting a stable update with the new Authentication Handling System!
This version brings a lot of QoL improvements, bug fixes, and more features overall!

Bug Fixes
  • Fixed a bug that allowed players to drop maps when in setup mode
  • Fixed a bug not updating bungeecord with players' authentication state
    • This caused players to be able to execute bungeecord commands while not authenticated
  • Fixed a bug that allowed players to disable 2fa before authenticating
  • Fixed a bug that made the plugin not demand 2fa from players with the 2fa.demand permission
  • Fixed a bug that allowed players to disable other's 2fa without having the permission to do that
  • Removed unnecessary checks and optimized code

QoL Changes
  • When executing `/2fa help`, commands won't have the [2FA] prefix anymore
  • Added a Console Filter to hide the `/2fa <code>` command and thus enhancing players' privacy
  • Added alerts to players with the 2fa.alerts permission, to notify them when 2fa detects a configuration issue
    • Should alert players if they have communication-method set to a non-optimized method
    • Should suggest switching to communication-method set to PROXY if a proxy is detected
  • Updated LielsUtils to a newer version
    • Fixed a bug causing an InternalError to be thrown whenever players tried to tab-complete a command
----------, Mar 12, 2022

  • Fixed a bug causing internal errors to be thrown whenever tab completing a command
  • Fixed a bug causing players with no 2fa to be taken as if they have 2fa enabled
  • Fixed a bug allowing players to use /2fa remove before authenticating
  • Added more configuration settings for auth communication
  • Added a new permission: 2fa.alerts.
    • Players with this permission will get important alerts from the plugin if it finds any problems with the configuration
----------, Mar 9, 2022

  • Fixed a bug causing internal errors to be thrown whenever tab completing a command
  • Fixed a bug causing players with no 2fa to be taken as if they have 2fa enabled
  • Added more configuration settings for auth communication
  • Added a new permission: 2fa.alerts.
    • Players with this permission will get important alerts from the plugin if it finds any problems with the configuration
----------, Mar 9, 2022

  • Updated LielsUtils to a more stable version with many bug fixes
  • Changed the way authentications are handled between servers
  • Added a future-proof system for more options to transfer information between servers (besides proxies)
  • Improved messages system
  • Added velocity support
  • Improved API
----------, Mar 8, 2022

  • Updated PostgreSQL to version 42.3.3, patching all security vulnerabilities
  • Added placeholder keywords to the messages.yml configuration.
----------, Feb 23, 2022

  • Updated PostgreSQL to version 42.3.3, patching all security vulnerabilities
  • Added placeholder keywords to the messages.yml configruation.
----------, Feb 23, 2022

  • Updated H2 to version 2.1.210 to fix a critical RCE exploit
  • Fixed a bug with Legacy Enum items in versions above 1.13
  • Added a NULL Key check
  • Optimized imports and general code cleanup
----------, Jan 28, 2022

  • Fixed a bug causing a ClassCastException with MapMeta to be thrown in version 1.17+
----------, Jan 10, 2022

  • Fixed a bug causing the first player to join a freshly booted spigot server to be able to execute proxy commands
  • Fixed a bug causing a timed-out callback to not be removed and take up memory
  • Updated dependencies
  • Cleaned up code
----------, Nov 6, 2021

  • The plugin now allows server owners to select 2 locations:
    • tp-before-auth: The location players with 2FA enabled would teleport to as soon as they join the server and need to authenticate
    • tp-after-auth: The location players with 2FA enabled would teleport to as soon as they're authenticate/auto authenticate.
----------, Oct 15, 2021

  • The plugin will not disable itself if no dependency management system was able to download dependencies, but rather it'd work with less functionality.
  • Updated output texts to give more info on errors.
  • Fixed a bug causing an error if no storage method was loaded.
----------, Sep 27, 2021

  • Added HEX Color Support for Spigot 1.16+
  • 2FA's FileManager will now create, save and load files in UTF-8.
    • Previously, the plugin wouldn't mind the encoding causing symbols such as "•" to be loaded in ASCII (•)
  • Fixed a bug with "enable_date" being NULL in JSON storage type
  • Fixed a bug causing SQL databases to not add the "enable_date" column to the players table
  • Fixed a bug causing database connections to not close on disable
  • Fixed a bug causing an exception to be thrown when disabling 2FA for online players
  • Updated dependencies versions
----------, Sep 3, 2021

  • Improved Version Handling by the plugin
    • The plugin will now save 2 separate version types: Server Version and NMS Version
  • Potentially fixed a bug causing specific Spigot 1.16.4 builds to try to use the built-in dependency loader, although they don't have it
----------, Aug 30, 2021

  • Added support to PlaceholderAPI placeholders
    • You can use /papi ecloud download {placeholder} to download and then use any placeholder supported by PlaceholderAPI.
  • Added custom placeholders:
    • %2fa_is_enabled% - Whether 2FA is enabled for this player
    • %2fa_time_since_enabled% - Time since 2FA was enabled
    • %2fa_key% - The 2FA key of the player
    • %2fa_is_required% - Whether this player is required to enable 2FA
  • Added support to delay when loading players' data after a server reload. This is helpful when there are multiple databases with different latencies, and 2FA is dependent on one of the plugins.
    • For example, LuckPerms. Although LuckPerms is loaded before 2FA as a soft-dependency, it doesn't guarantee that the players' permissions would be loaded before 2FA attempts to load the player. Therefore, a certain latency is needed/
----------, Aug 27, 2021

  • Added a cancel sub command to cancel setup
  • Fixed a bug with TabCompleter methods returning null
----------, Aug 17, 2021

  • Fixed a bug causing the messages.yml file to reset when edited and then reloaded
----------, Aug 12, 2021

  • Fixed a bug with the MariaDB driver causing a NoSuchMethod exception
  • Added a Hover event when receiving QR code for better accessability (see below)
  • Added a Block Chat Events option for Proxies to prevent commands from other plugins (such as Skript) from executing
[​IMG]
----------, Jul 25, 2021

  • The plugin will now use spigot's built-in dependency management system if the server version is above 1.16.5
  • For any other version, the plugin will use the custom dependency management system.
    • There is a problem with the custom dependency management system that cannot be fixed at the moment
      If you're using Java 16 with any version below 1.16.5, the plugin won't be able to load extra libraries and will be limited to basic functionality.
----------, Jul 18, 2021

  • Improved the Dependency Management
    • Non-essential dependencies (dependencies that the base plugin can run without them) will now load at runtime.
      This makes the base jar file much lighter to comply with SpigotMC
    • Dependencies will cache in the plugin data folder
    • If there's no internet connection and the plugin didn't cache the dependencies yet, the base plugin will work but will not support any database type but JSON (the default)
  • Improved the File Management
    • Improved Liel's Utils File Management system to now support comments
    • Redesigned the config.yml structure
      OLD YML FILES WILL NO LONGER WORK! MAKE SURE TO BACK THEM UP!
    • Files will now auto-add missing keys to the configuration files
      They will also add comments for a better understanding of each value (yay!)
  • Added a Connection Pool system using HikariCP
    • 2FA will now use HikariCP when dealing with SQL based databases (H2, MySQL, MariaDB, PostgreSQL)
    • Added support to H2 (Local), MariaDB, and PostgreSQL

Bug Fixes:

  • Fixed a bug causing MySQL to close the connection after a certain time had passed
----------, Jul 17, 2021

  • Fixed a bug causing a "NoSuchMethodError" for versions below 1.13
    • This was due to the way we handled map ids without confirming the server version
  • Fixed a bug causing an "IllegalStateException" when trying to disable 2FA for a non-existing player
  • Fixed a bug causing items in the first slot to be deleted
    • If the player's inventory is full, 2FA will send them a message to use the clickable message instead of the QR Code map
    • If the player's inventory is not full and they have a free slot in their Hotbar, the QR Code map will be given to them in that slot
    • If the player's inventory is not full and they don't have a free slot in their Hotbar, the QR Code map will be set in the first slot, and the item in the first slot will be moved to the next available one
----------, Jul 13, 2021

  • Fixed a bug causing MongoDB to not update players' documents
    • Because of this bug, whenever a player tried to authenticate with a correct code and the storage was set to MongoDB, it would say the code is incorrect but authenticate the user nevertheless.
----------, Jul 8, 2021

  • Fixed a bug causing the plugin to load the Authentication State of the first player to join twice
----------, Jul 2, 2021

  • Added Tab Complete events for the main & sub-commands
    The Tab Complete events would only show results the sender has permissions to
----------, Jun 20, 2021

  • Fixed a bug causing the plugin to not work and throw errors if the 2FA plugin wasn't set on the Bungeecord server.
  • Added a /2fa report command to print a text file with information regarding the server, for easier bug reports.
----------, May 17, 2021

  • Fixed a bug causing MySQL connections to die 24 hours after the last packet was sent, using the autoReconnect flag.
----------, May 17, 2021

  • Fixed a problem causing the plugin to through a NullPointerException error if you were not using the BungeeCord plugin as well.
----------, Mar 15, 2021

  • Fixed a bug causing Bungeecord to update the player's AuthState after running depending checks, causing players to be able to bypass authentication
  • Fixed a bug causing Bungeecord to recursively call the update function
  • Fixed a bug causing ConcurrentModificationException
  • Improved the overall code to be more organized
----------, Mar 15, 2021

  • Changed the plain /2FA (with no arguments) to the following
    • If the user has 2FA enabled, it'll display the help page
    • If the user doesn't have 2FA enabled, it'll start the setup process
----------, Mar 15, 2021

  • Fixed a bug causing a ConcurrentModificationException
----------, Mar 14, 2021

  • Fixed a bug causing proxy commands to work even if the player is not connected
  • Improved the way Plugin Messaging is being handled to be more abstract, fast, and easy to add on
  • Fixed a bug causing proxy messages to not have color on the second line
----------, Mar 13, 2021

  • Players with the "2fa.demand" permission are now affected by blocked events if they log in and don't have 2FA set up
  • You can now choose which events to disable or enable in the config
    • Events that are set to false will allow players to execute the event while needing to Login or Set Up on Demand
  • Fixed a bug causing some texts to appear with no color/no prefix
  • Fixed a bug causing Setup, Login, and Enable to have different permissions
----------, Mar 12, 2021

  • Fixed a problem with the plugin.yml file causing the plugin to not load
----------, Mar 10, 2021

  • Updates the plugin.yml's permission section to include the new 2fa.help permission
----------, Mar 8, 2021

  • Improved the messaging system to be faster and more customizable
  • You can now customize 99% of text sent by the plugin
  • You can completely disable certain message by leaving them blank ("")
----------, Mar 8, 2021

  • Fixed a bug for versions before 1.13 causing the plugin to throw a MethodNotFoundException
----------, Jan 17, 2021

  • Fixed the version of the plugin
----------, Jan 13, 2021

  • Added a section to the config with reserved map IDs. This is to prevent map overflow (creation of infinite maps)
  • The plugin will now override existing map ids instead of creating new ones
----------, Jan 13, 2021

  • Updated my utils and moved the #getMapId function to it
----------, Jan 6, 2021

  • Cached the server version instead of getting it every time a player tries to authenticate
----------, Jan 6, 2021

  • Fixed a bug causing the MYSQL connection to not reconnect after 8 hours of no use
----------, Dec 29, 2020

• Added a connection check to MySQL to reconnect if there's been 8 hours with no queries.
----------, Dec 27, 2020

• Fixed an error causing a ClassNotFound Exception when trying to read data from a JSON file.
----------, Dec 14, 2020

• Fixed a bug causing the plugin to not be loaded
----------, Dec 13, 2020

improved the shade plugin and the pom.xml in general
----------, Dec 13, 2020

• Added support to IP hashing through SHA-256, SHA-512 or NONE.
----------, Nov 30, 2020

• Removed a debug message missed on previous release
----------, Nov 30, 2020

• Added bStats support for Bungeecord
• Added an auto updater
• Improved the API (Added a PlayerFailedAuthenticationEvent)
• Fixed a bungeecord plugin messaging error causing the first player to join the server to be authenticated when other players authenticate
• Fixed some text issues
• Changed the QR code to work on every device
• Fixed some classes conventions
----------, Nov 30, 2020

• Fixed a ClassNotFound error for 1.13+ (not finding base32 of org.apache.commons.codec)
----------, Nov 29, 2020

• Made the "Storage Type" field in the config.yml non case sensitive.
----------, Nov 29, 2020

Fixed a bug causing commands to throw an error
----------, Nov 28, 2020

- BungeeMessaging improvement
- BungeeCord Configuration
- BungeeCord Listeners
- 1.13+ compatibility
- bStats
----------, Nov 9, 2020

Bug Fixes:
- Fixed a bug causing an NPE after using /2fa reload and /2fa <any command>
- Fixed a bug with an async timer to support custom events above 1.14
- Fixed a bug with the QR Code not working for 1.13+
----------, Nov 8, 2020

Resource Information
Author:
----------
Total Downloads: 10,506
First Release: Nov 8, 2020
Last Update: Jul 28, 2024
Category: ---------------
All-Time Rating:
34 ratings
Find more info at lielamar.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings