xAuth

Placeholder Default Image

xAuth v2.4.x
Authentication plugin for bukkit powered servers


About

xAuth is a second-factor authentication plugin that can be used to secure player accounts on your server. As the plugin has been enhanced over time, the direction and main purpose have expanded to new possibilities. Let's say you run a community page. With xAuth, players can authenticate using their forum accounts or using a web-driven account management system. It is also possible to get the credentials from a foreign database.

News and Updates

Please checkout News and upcoming changes for news and update notices.

Concept

The basic idea of this protection plugin is allowing players to register an account based on their player name and a supplied password and optionally their email-address. When a registered player connects to the server, that player will be prompted to authenticate his or herself by logging in. If and only if a valid password is supplied, they will regain full control of their account until their session expires.

Features

  • Before registering/logging in, players can't:
    • Chat, execute commands, interact with objects (like levers or chests), move or pickup items
    • Break or place blocks
    • Receive or give damage, be targeted (followed) by hostile mobs
  • Inventory and location protection
  • In-depth setting and message configuration
  • Persistent login session through server restarts
  • Player name filter and password complexity configuration
  • Kick non-logged in (but registered) players after a configureable amount of time
  • Fine graded Permission System that also allows you to block interactions or commands
  • Permissions support (PermissionsEx, Bukkit, GroupManager)
  • Kick or temporarily lockout the IP address of a player who fials to log in after a configureable amount of tries
  • Custom, highly secure password hashing
  • Authenticate yourself with /login <password>
  • H2 / mySQL Database storage supported
  • Authentication over URL (AuthURL) allows for connection to forum or website databases
  • Auto-Updater (thanks to Gravity)

News

Checkout the News & Upcoming-Changes page for details.

Wiki

The Wiki is located on github.
Please visit the http://bukkit.luricos.de/ress/icons/github_16.png Github Project-Page and click on Wiki

Credits

All credits goes to CypherX from bukkit forums who created this plugin. Thanks for your work and long time support!

The old bukkit-thread can be found here

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of CronosusCZ CronosusCZ Apr 09, 2014 at 18:14 UTC - 0 likes

    on 1.6.4 server we have spam from xauth with this message:

    2014-04-09 20:10:03 [SEVERE] Could not pass event PlayerMoveEvent to xAuth v2.4.4
    org.bukkit.event.EventException
    	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:437)
    	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    	at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:31)
    	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479)
    	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464)
    	at net.minecraft.network.NetServerHandler.func_72498_a(NetServerHandler.java:362)
    	at net.minecraft.network.packet.Packet10Flying.func_73279_a(Packet10Flying.java:51)
    	at net.minecraft.network.TcpConnection.func_74428_b(TcpConnection.java:470)
    	at net.minecraft.network.NetServerHandler.func_72570_d(NetServerHandler.java:233)
    	at net.minecraft.network.NetworkListenThread.func_71747_b(NetworkListenThread.java:54)
    	at net.minecraft.server.dedicated.DedicatedServerListenThread.func_71747_b(DedicatedServerListenThread.java:34)
    	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:910)
    	at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:330)
    	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:777)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:659)
    	at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)
    Caused by: java.lang.NullPointerException
    	at de.luricos.bukkit.xAuth.listeners.xAuthPlayerListener.onPlayerMove(xAuthPlayerListener.java:281)
    	at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:606)
    	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:435)
    	... 15 more
    

    please fix it

  • Avatar of Bumbleboy92 Bumbleboy92 Apr 03, 2014 at 23:17 UTC - 0 likes

    Something keeps happening to my players :P

    [18:13:23 ERROR]: [xAuth] Something went wrong while logging in player: ibukunol
    uwa
    org.h2.jdbc.JdbcSQLException: Unique index or primary key violation: "PRIMARY KE
    Y ON PUBLIC.SESSIONS(ACCOUNTID)"; SQL statement:
    INSERT INTO `sessions` VALUES (?, ?, ?) [23505-164]
            at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
    ~[h2-1.3.164.jar:1.3.164]
            at org.h2.message.DbException.get(DbException.java:169) ~[h2-1.3.164.jar
    :1.3.164]
            at org.h2.message.DbException.get(DbException.java:146) ~[h2-1.3.164.jar
    :1.3.164]
            at org.h2.index.PageDataIndex.getNewDuplicateKeyException(PageDataIndex.
    java:159) ~[h2-1.3.164.jar:1.3.164]
            at org.h2.index.PageDataIndex.add(PageDataIndex.java:137) ~[h2-1.3.164.j
    ar:1.3.164]
            at org.h2.table.RegularTable.addRow(RegularTable.java:121) ~[h2-1.3.164.
    jar:1.3.164]
            at org.h2.command.dml.Insert.insertRows(Insert.java:124) ~[h2-1.3.164.ja
    r:1.3.164]
            at org.h2.command.dml.Insert.update(Insert.java:84) ~[h2-1.3.164.jar:1.3
    .164]
            at org.h2.command.CommandContainer.update(CommandContainer.java:73) ~[h2
    -1.3.164.jar:1.3.164]
            at org.h2.command.Command.executeUpdate(Command.java:226) ~[h2-1.3.164.j
    ar:1.3.164]
            at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedS
    tatement.java:143) ~[h2-1.3.164.jar:1.3.164]
            at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement
    .java:129) ~[h2-1.3.164.jar:1.3.164]
            at de.luricos.bukkit.xAuth.PlayerManager.createSession(PlayerManager.jav
    a:661) ~[xAuth.jar:?]
            at de.luricos.bukkit.xAuth.PlayerManager.doLogin(PlayerManager.java:553)
     [xAuth.jar:?]
            at de.luricos.bukkit.xAuth.commands.LoginCommand.onCommand(LoginCommand.
    java:65) [xAuth.jar:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [spig
    ot.jar:git-Spigot-1370]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:18
    0) [spigot.jar:git-Spigot-1370]
            at org.bukkit.craftbukkit.v1_7_R2.CraftServer.dispatchCommand(CraftServe
    r.java:719) [spigot.jar:git-Spigot-1370]
            at net.minecraft.server.v1_7_R2.PlayerConnection.handleCommand(PlayerCon
    nection.java:984) [spigot.jar:git-Spigot-1370]
            at net.minecraft.server.v1_7_R2.PlayerConnection.a(PlayerConnection.java
    :829) [spigot.jar:git-Spigot-1370]
            at net.minecraft.server.v1_7_R2.PacketPlayInChat.a(PacketPlayInChat.java
    :28) [spigot.jar:git-Spigot-1370]
            at net.minecraft.server.v1_7_R2.PacketPlayInChat.handle(PacketPlayInChat
    .java:65) [spigot.jar:git-Spigot-1370]
            at net.minecraft.server.v1_7_R2.NetworkManager.a(NetworkManager.java:148
    ) [spigot.jar:git-Spigot-1370]
            at net.minecraft.server.v1_7_R2.ServerConnection.c(ServerConnection.java
    :77) [spigot.jar:git-Spigot-1370]
            at net.minecraft.server.v1_7_R2.MinecraftServer.v(MinecraftServer.java:7
    03) [spigot.jar:git-Spigot-1370]
            at net.minecraft.server.v1_7_R2.DedicatedServer.v(DedicatedServer.java:2
    73) [spigot.jar:git-Spigot-1370]
            at net.minecraft.server.v1_7_R2.MinecraftServer.u(MinecraftServer.java:5
    66) [spigot.jar:git-Spigot-1370]
            at net.minecraft.server.v1_7_R2.MinecraftServer.run(MinecraftServer.java
    :472) [spigot.jar:git-Spigot-1370]
            at net.minecraft.server.v1_7_R2.ThreadServerApplication.run(SourceFile:6
    18) [spigot.jar:git-Spigot-1370]
    

    WongPrison

  • Avatar of futhead_Hellsnake futhead_Hellsnake Mar 25, 2014 at 17:56 UTC - 0 likes

    @momoxil21: Go

    It's not for 1.7.2 use authme

  • Avatar of Bumbleboy92 Bumbleboy92 Mar 23, 2014 at 21:47 UTC - 0 likes

    It gives me this error with the latest CB build of right now (#3029 1.7.5)

    [16:46:27 INFO]: [xAuth] Enabling xAuth v2.4.4
    [16:46:27 INFO]: [xAuth] PermissionAlias backend: 'pex' registered!
    [16:46:27 INFO]: [xAuth] PermissionAlias backend: 'gm' registered!
    [16:46:27 INFO]: [xAuth] PermissionAlias backend: 'bukkit' registered!
    [16:46:27 INFO]: [xAuth] Attempting to use supported permissions plugin 'GroupMa
    nager'
    [16:46:27 WARN]: [xAuth] This plugin is not ready yet.
    [16:46:27 INFO]: [xAuth] Initializing bukkit backend
    [16:46:27 INFO]: [xAuth] Config node permissions.backend changed to 'gm'
    [16:46:27 INFO]: [xAuth] Initializing gm backend
    [16:46:27 INFO]: [xAuth] Attached to GroupManager
    [16:46:28 INFO]: [xAuth] Successfully established connection to H2 database
    [16:46:28 ERROR]: [xAuth] Failed to create table: accounts
    de.luricos.bukkit.xAuth.exceptions.xAuthTableUpdateException: Table "ACCOUNTS" a
    lready exists; SQL statement:
    CREATE TABLE `accounts` (
            `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
            `playername` VARCHAR(255) NOT NULL,
            `password` VARCHAR(255) NOT NULL,
            `pwtype` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0,
            `email` VARCHAR(100) NULL,
            `registerdate` DATETIME NULL,
            `registerip` CHAR(45) NULL,
            `lastlogindate` DATETIME NULL,
            `lastloginip` CHAR(45) NULL,
            `active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
            PRIMARY KEY (`id`)
    ); [42101-164]
            at de.luricos.bukkit.xAuth.database.DatabaseUpdater.executeQuery(Databas
    eUpdater.java:206) ~[xAuth.jar:?]
            at de.luricos.bukkit.xAuth.database.DatabaseUpdater.runUpdate(DatabaseUp
    dater.java:88) [xAuth.jar:?]
            at de.luricos.bukkit.xAuth.database.DatabaseController.runUpdater(Databa
    seController.java:163) [xAuth.jar:?]
            at de.luricos.bukkit.xAuth.xAuth.onEnable(xAuth.java:165) [xAuth.jar:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250) [sp
    igot.jar:git-Spigot-1348]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:324) [spigot.jar:git-Spigot-1348]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:405) [spigot.jar:git-Spigot-1348]
            at org.bukkit.craftbukkit.v1_7_R2.CraftServer.loadPlugin(CraftServer.jav
    a:463) [spigot.jar:git-Spigot-1348]
            at org.bukkit.craftbukkit.v1_7_R2.CraftServer.enablePlugins(CraftServer.
    java:381) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.MinecraftServer.n(MinecraftServer.java:3
    51) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.MinecraftServer.g(MinecraftServer.java:3
    26) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.MinecraftServer.a(MinecraftServer.java:2
    82) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.DedicatedServer.init(DedicatedServer.jav
    a:186) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.MinecraftServer.run(MinecraftServer.java
    :440) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.ThreadServerApplication.run(SourceFile:6
    18) [spigot.jar:git-Spigot-1348]
    [16:46:28 INFO]: [xAuth] Updating table [playerdata] to revision [001]
    [16:46:28 ERROR]: [xAuth] An error occurred while updating table [playerdata] to
     revision [001] while executing query 'ALTER TABLE `playerdata` ADD COLUMN `poti
    oneffects` TEXT NULL'
    de.luricos.bukkit.xAuth.exceptions.xAuthTableUpdateException: Duplicate column n
    ame "POTIONEFFECTS"; SQL statement:
    ALTER TABLE `playerdata` ADD COLUMN `potioneffects` TEXT NULL; [42121-164]
            at de.luricos.bukkit.xAuth.database.DatabaseUpdater.executeQuery(Databas
    eUpdater.java:206) ~[xAuth.jar:?]
            at de.luricos.bukkit.xAuth.database.DatabaseUpdater.runUpdate(DatabaseUp
    dater.java:122) [xAuth.jar:?]
            at de.luricos.bukkit.xAuth.database.DatabaseController.runUpdater(Databa
    seController.java:163) [xAuth.jar:?]
            at de.luricos.bukkit.xAuth.xAuth.onEnable(xAuth.java:165) [xAuth.jar:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250) [sp
    igot.jar:git-Spigot-1348]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:324) [spigot.jar:git-Spigot-1348]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:405) [spigot.jar:git-Spigot-1348]
            at org.bukkit.craftbukkit.v1_7_R2.CraftServer.loadPlugin(CraftServer.jav
    a:463) [spigot.jar:git-Spigot-1348]
            at org.bukkit.craftbukkit.v1_7_R2.CraftServer.enablePlugins(CraftServer.
    java:381) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.MinecraftServer.n(MinecraftServer.java:3
    51) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.MinecraftServer.g(MinecraftServer.java:3
    26) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.MinecraftServer.a(MinecraftServer.java:2
    82) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.DedicatedServer.init(DedicatedServer.jav
    a:186) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.MinecraftServer.run(MinecraftServer.java
    :440) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.ThreadServerApplication.run(SourceFile:6
    18) [spigot.jar:git-Spigot-1348]
    [16:46:28 INFO]: [xAuth] Updating table [lockouts] to revision [001]
    [16:46:28 ERROR]: [xAuth] An error occurred while updating table [lockouts] to r
    evision [001] while executing query 'ALTER TABLE `lockouts` ADD COLUMN `id` INT
    UNSIGNED NOT NULL AUTO_INCREMENT BEFORE `ipaddress`'
    de.luricos.bukkit.xAuth.exceptions.xAuthTableUpdateException: Duplicate column n
    ame "ID"; SQL statement:
    ALTER TABLE `lockouts` ADD COLUMN `id` INT UNSIGNED NOT NULL AUTO_INCREMENT BEFO
    RE `ipaddress`; [42121-164]
            at de.luricos.bukkit.xAuth.database.DatabaseUpdater.executeQuery(Databas
    eUpdater.java:206) ~[xAuth.jar:?]
            at de.luricos.bukkit.xAuth.database.DatabaseUpdater.runUpdate(DatabaseUp
    dater.java:122) [xAuth.jar:?]
            at de.luricos.bukkit.xAuth.database.DatabaseController.runUpdater(Databa
    seController.java:163) [xAuth.jar:?]
            at de.luricos.bukkit.xAuth.xAuth.onEnable(xAuth.java:165) [xAuth.jar:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250) [sp
    igot.jar:git-Spigot-1348]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:324) [spigot.jar:git-Spigot-1348]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:405) [spigot.jar:git-Spigot-1348]
            at org.bukkit.craftbukkit.v1_7_R2.CraftServer.loadPlugin(CraftServer.jav
    a:463) [spigot.jar:git-Spigot-1348]
            at org.bukkit.craftbukkit.v1_7_R2.CraftServer.enablePlugins(CraftServer.
    java:381) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.MinecraftServer.n(MinecraftServer.java:3
    51) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.MinecraftServer.g(MinecraftServer.java:3
    26) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.MinecraftServer.a(MinecraftServer.java:2
    82) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.DedicatedServer.init(DedicatedServer.jav
    a:186) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.MinecraftServer.run(MinecraftServer.java
    :440) [spigot.jar:git-Spigot-1348]
            at net.minecraft.server.v1_7_R2.ThreadServerApplication.run(SourceFile:6
    18) [spigot.jar:git-Spigot-1348]
    [16:46:28 INFO]: [xAuth] v2.4.4 Enabled!
    [16:46:28 ERROR]: [xAuth] An error occured during the version check process. Ple
    ase check version format
    
  • Avatar of longlostbro longlostbro Mar 20, 2014 at 22:18 UTC - 0 likes

    it doesn't seem to work for 1.7.2 does it? it gives me version error.

  • Avatar of Fabii159 Fabii159 Mar 16, 2014 at 11:53 UTC - 0 likes

    Good Job

    Crafting-Elemental Logo

    Server Ip : Mc.Crafting-Elemental.com

    Homepage : www.Crafting-Elemental.com

    Teamspeak 3 : Ts.Crafting-Elemental.com

  • Avatar of SentinelCraft SentinelCraft Mar 14, 2014 at 15:16 UTC - 0 likes

    This is a great plugin, Have been using it for almost a year.

    One question. Is there a way to obfuscate passwords from console? so I could give read only/debug access to certain people.

    If there is, What is the setting under? I have not been able to locate it.

  • Avatar of Starscot Starscot Mar 06, 2014 at 08:18 UTC - 0 likes

    Good plugin ;)

    BFAK:90704386,346528b563899f526e147073b0c6e041992f1d8bfae9271861da1e172515f719 http://madeingame.fr/images/banmig.gifhttp://www.top-minecraft.net/serveur-minecraft-3434-8-made-in-game.png

    Serveur mixe, sans inscription.
    Une économie, des shops publiques et privés, des parcelles (1e offerte)
    Serveur apprécié pour sa qualité et sa convivialité !
    On attend plus que vous !!!

  • Avatar of SkeletonGamez SkeletonGamez Feb 28, 2014 at 22:04 UTC - 1 like

    Can You Please Update To 1.7.2?

  • Avatar of momoxil21 momoxil21 Feb 24, 2014 at 12:06 UTC - 0 likes

    How can I added a second register password?, I mean

    Actually > Please type /register ( password ) for register

    I want >Please type /register ( password ) + (repeat password ) for register!

    Please anyone can help me?

Facts

Date created
Jan 23, 2012
Categories
Last update
Oct 22, 2013
Development stage
Release
Language
  • enUS
License
GNU General Public License version 3 (GPLv3)
Curse link
xAuth
Downloads
451,643
Recent files

Authors

Relationships

Optional dependency
Essentials
PermissionsEx