Inactive [ADMN/SEC] AuthDB v2.3.6 - Database authentication and protection [1.1-1.4.5]

Discussion in 'Inactive/Unsupported Plugins' started by CraftFire, Mar 13, 2011.

  1. Offline

    CraftFire

    In order to centralize support of our legacy projects, we will no longer be providing support on Bukkit. Please use www.spout.org for support with our projects going forward.
     
  2. Offline

    Wulfspider

    Yes, they have been.

    Somehow you got the same user entered twice into your database. What does your bukkit.yml look like?

    [​IMG]
    v2.3.4
    Download ZIP bundle or JAR only
    Changelog
    Added Whirlpool and xAuth encryption types for customdb.
    Added a thread for the login process, tested and works.
    Fixed MySQL error when registering with some scripts and customdb.
    Fixed SHA512 password encryption for customdb.
    Fixed player actions rolled back sometimes.
    Fixed users being unable to register when no customdb email field is found or disabled.
    Fixed {PLAYER} variable not working for player names 3 characters long or less.
    Updated to new Bukkit events and configuration API.​

    It automatically does that if the server is in online-mode. If you want to disable it for other methods, then disable sessions in advanced.yml.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Oct 10, 2018
  3. Offline

    Leonard_m_g

    Code:
    •    ... 10 more
    [
    •    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    [
    •    at java.lang.reflect.Method.invoke(Method.java:616)
    [
    •    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [
    •    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    [
    •    at com.authdb.listeners.AuthDBPlayerListener.onPlayerMove(AuthDBPlayerListener.java:436)
    [
    •    at com.authdb.AuthDB.isAuthorized(AuthDB.java:701)
    [
    •    at com.authdb.util.databases.EBean.find(EBean.java:159)
    [
    •    at com.authdb.util.databases.EBean.checkPlayer(EBean.java:77)
    [
    •    at com.avaje.ebeaninternal.util.DefaultExpressionList.findUnique(DefaultExpressionList.java:217)
    [
    •    at com.avaje.ebeaninternal.server.querydefn.DefaultOrmQuery.findUnique(DefaultOrmQuery.java:924)
    [
    •    at com.avaje.ebeaninternal.server.core.DefaultServer.findUnique(DefaultServer.java:1242)
    [
    •    Caused by: javax.persistence.PersistenceException: Unique expecting 0 or 1 rows but got
    [2]
    •    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    [
    •    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    [
    •    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    [
    •    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    [
    •    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:114)
    [
    •    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    [
    •    at net.minecraft.server.Packet10Flying.handle(SourceFile:126)
    [
    •    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:210)
    [
    •    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
    [
    •    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    [
    •    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
    [
    •    org.bukkit.event.EventException
    [
    •    2012-03-08 22:07:20
    [SEVERE] Could not pass event PlayerMoveEvent to AuthDB
    •    ... 10 more
    [
    •    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    [
    •    at java.lang.reflect.Method.invoke(Method.java:616)
    [
    •    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [
    •    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    [
    •    at com.authdb.listeners.AuthDBPlayerListener.onPlayerMove(AuthDBPlayerListener.java:436)
    [
    •    at com.authdb.AuthDB.isAuthorized(AuthDB.java:701)
    [
    •    at com.authdb.util.databases.EBean.find(EBean.java:159)
    [
    •    at com.authdb.util.databases.EBean.checkPlayer(EBean.java:77)
    [
    •    at com.avaje.ebeaninternal.util.DefaultExpressionList.findUnique(DefaultExpressionList.java:217)
    [
    •    at com.avaje.ebeaninternal.server.querydefn.DefaultOrmQuery.findUnique(DefaultOrmQuery.java:924)
    [
    •    at com.avaje.ebeaninternal.server.core.DefaultServer.findUnique(DefaultServer.java:1242)
    [
    •    Caused by: javax.persistence.PersistenceException: Unique expecting 0 or 1 rows but got
    [2]
    •    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    [
    •    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    [
    •    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    [
    •    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    [
    •    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:114)
    [
    •    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    [
    •    at net.minecraft.server.Packet10Flying.handle(SourceFile:126)
    [
    •    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:210)
    [
    •    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
    [
    •    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    [
    •    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
    [
    •    org.bukkit.event.EventException
    [
    •    2012-03-08 22:07:20
    [SEVERE] Could not pass event PlayerMoveEvent to AuthDB
    •    ... 10 more
    [
    •    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    [
    •    at java.lang.reflect.Method.invoke(Method.java:616)
    [
    •    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [
    •    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    [
    •    at com.authdb.listeners.AuthDBPlayerListener.onPlayerMove(AuthDBPlayerListener.java:436)
    [
    •    at com.authdb.AuthDB.isAuthorized(AuthDB.java:701)
    [
    •    at com.authdb.util.databases.EBean.find(EBean.java:159)
    [
    •    at com.authdb.util.databases.EBean.checkPlayer(EBean.java:77)
    [
    •    at com.avaje.ebeaninternal.util.DefaultExpressionList.findUnique(DefaultExpressionList.java:217)
    [
    •    at com.avaje.ebeaninternal.server.querydefn.DefaultOrmQuery.findUnique(DefaultOrmQuery.java:924)
    [
    •    at com.avaje.ebeaninternal.server.core.DefaultServer.findUnique(DefaultServer.java:1242)
    [
    •    Caused by: javax.persistence.PersistenceException: Unique expecting 0 or 1 rows but got
    [2]
    •    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    [
    •    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    [
    •    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    [
    •    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    [
    •    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:114)
    [
    •    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    [
    •    at net.minecraft.server.Packet10Flying.handle(SourceFile:126)
    [
    •    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:210)
    [
    •    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
    [
    •    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    [
    •    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
    [
    •    org.bukkit.event.EventException
    [
    •    2012-03-08 22:07:20
    [SEVERE] Could not pass event PlayerMoveEvent to AuthDB
    •    ... 10 more
    [
    •    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    [
    •    at java.lang.reflect.Method.invoke(Method.java:616)
    [
    •    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [
    •    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    [
    •    at com.authdb.listeners.AuthDBPlayerListener.onPlayerMove(AuthDBPlayerListener.java:436)
    [
    •    at com.authdb.AuthDB.isAuthorized(AuthDB.java:701)
    [
    •    at com.authdb.util.databases.EBean.find(EBean.java:159)
    [
    •    at com.authdb.util.databases.EBean.checkPlayer(EBean.java:77)
    [
    •    at com.avaje.ebeaninternal.util.DefaultExpressionList.findUnique(DefaultExpressionList.java:217)
    [
    •    at com.avaje.ebeaninternal.server.querydefn.DefaultOrmQuery.findUnique(DefaultOrmQuery.java:924)
    [
    •    at com.avaje.ebeaninternal.server.core.DefaultServer.findUnique(DefaultServer.java:1242)
    [
    •    Caused by: javax.persistence.PersistenceException: Unique expecting 0 or 1 rows but got
    [2]
    •    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    [
    •    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    [
    •    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    [
    •    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    [
    •    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:114)
    [
    •    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    [
    •    at net.minecraft.server.Packet10Flying.handle(SourceFile:126)
    [
    •    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:210)
    [
    •    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
    [
    
    i have still this error
     
  4. Offline

    Wulfspider

    Still need more information other than a giant error log. Builds, etc.
     
  5. Offline

    skiba

     
  6. Offline

    Wulfspider

    You need to enable the customdb option in advanced.yml if you aren't using a script.
     
    skiba likes this.
  7. Offline

    skiba

    thx it s working now :) one more thing ... how to do to get at each logon to enter the password (when i doing relog it still remember me)
     
  8. AuthDB (and its commands) doesn't seem to function e.g. Players can move freely (despite enabled freeze protection). There's no registration message shown, and doing /register or /login gives a Processing registration.../login... /logout gives: An internal error occurred while attempting to perfom this command

    I've tried different supported CB builds (RB, Beta and Development ) and they all give the same errors.
    This was tested on a fresh server e.g. no other plugins except AuthDB 2.3.4.

    rly sad now :(
     
  9. Offline

    Wulfspider

    Use the previous 2.3.3 build on dev.bukkit if you are using R6, but no guarantees. The latest is primarily for 1.2.
     
  10. This happened with all builds i tested (also 1.2.x)

    I'll show you in a sec:

    Same errors on 1.2.3 (both Beta and Development Build) :-/
     
  11. Offline

    sme4gle

    cannot connect it to my MySQL server however i try :/
     
  12. Offline

    Leonard_m_g

    I have build 2040 with the plugins MinecraftRKitPlugin.jar and spacebukkit-0.1-SNAPSHOT.jar the error comes when a user joins the server
     
  13. Offline

    contex

    Could you send your AuthDB.db to [email protected]

    Is the MySQL located on the same box (localhost)?
    If not, does the user have remote access to the database?

    Could you send your AuthDB.db to [email protected]
     
  14. Offline

    sme4gle

    Yes my MySQL was on the same pc as my server ... and my password was just root like the config
     
  15. Offline

    contex

    What kind of error are you getting?
    Any stacktrace?
     
  16. Offline

    sme4gle

    No its just saying "Cant connect to database; Is the username / password correct?"
     
  17. Offline

    skiba

     
  18. Done! ;-)

    There's something wrong with the new AuthDB build, as it is happening on a fresh server installation e.g. no other plugins. Also, more people seem to get the same type of errors.
     
  19. Offline

    skiba

    its any fix for those errors
     
  20. Offline

    netherfoam

    AuthDB seems to crash every time someone logs in and their session has expired. =S

    AuthDB: v2.3.3.237
    Bukkit: 1.1 R6 (2048) Mc 1.2.3

    1. Connect to the server with any username e.g. 'admin1' . Do not log in. If you're logged in, do /logout
    2. Connect to server with the same username as before, e.g. 'admin1'.
    3. Plugin crashes.
    4. No account is protected

    Error Log:
    Code:
    2012/03/02 22:15:57 - --------------------------- STACKTRACE ERROR ---------------------------
    2012/03/02 22:15:57 - Class name: com.authdb.AuthDB
    2012/03/02 22:15:57 - File name: AuthDB.java
    2012/03/02 22:15:57 - Function name: isRegistered
    2012/03/02 22:15:57 - Error line: 937
    2012/03/02 22:15:57 - AuthDB version: 2.3.3.234
    2012/03/02 22:15:57 - Keep alive: false
    2012/03/02 22:15:57 - MySQL connection: true
    2012/03/02 22:15:57 - Latest query: SELECT username_clean FROM `phpbb_users` WHERE `username_clean` = 'toecutter8' LIMIT 1
    2012/03/02 22:15:57 - Script: phpbb
    2012/03/02 22:15:57 - Script version: 3.0.9
    2012/03/02 22:15:57 - Table prefix: phpbb_
    2012/03/02 22:15:57 - Plugins: WorldGenerationControl 2.6, PlugMan 1.6.2, WorldEdit 1070-c582763, Websend 1.4.2, Buycraft 3.9, Vault 1.2.12-b136, DeathNotifier 1.4.3, PermissionsEx 1.19, Stargate 0.7.5.6, FigAdmin 4.0.14, MyHelpPages 1.1, WorldGuard 5.5.2-SNAPSHOT, iConomy 6.0.9b, Permissions 2.7.7, AuthDB 2.3.3.234, BKCommonLib 1.11, OpenInv 1.8.1, My Worlds 1.43, NoCheat 3.4.4, mcMMO 1.3.01-b359, Tips 1.1, Essentials 2.8.3, WorldBorder 1.5.2, ShowCaseStandalone 0.67, MobCatcher 2.1 by Malikk, EssentialsSpawn 2.8.3, HawkEye 1.1-SNAPSHOT, EssentialsChat 2.8.3, PreciousStones 8.3,
    2012/03/02 22:15:57 - --------------------------- STACKTRACE START ---------------------------
    2012/03/02 22:15:57 - sun.reflect.GeneratedConstructorAccessor63.newInstance(Unknown Source)
    2012/03/02 22:15:57 - sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    2012/03/02 22:15:57 - java.lang.reflect.Constructor.newInstance(Unknown Source)
    2012/03/02 22:15:57 - com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
    2012/03/02 22:15:57 - com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
    2012/03/02 22:15:57 - com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3082)
    2012/03/02 22:15:57 - com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2968)
    2012/03/02 22:15:57 - com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3516)
    2012/03/02 22:15:57 - com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
    2012/03/02 22:15:57 - com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
    2012/03/02 22:15:57 - com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
    2012/03/02 22:15:57 - com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570)
    2012/03/02 22:15:57 - com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1474)
    2012/03/02 22:15:57 - com.authdb.util.databases.MySQL.getfromtable(MySQL.java:227)
    2012/03/02 22:15:57 - com.authdb.util.Util.checkScript(Util.java:726)
    2012/03/02 22:15:57 - com.authdb.AuthDB.isRegistered(AuthDB.java:925)
    2012/03/02 22:15:57 - com.authdb.listeners.AuthDBPlayerListener.onPlayerJoin(AuthDBPlayerListener.java:146)
    2012/03/02 22:15:57 - sun.reflect.GeneratedMethodAccessor163.invoke(Unknown Source)
    2012/03/02 22:15:57 - sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    2012/03/02 22:15:57 - java.lang.reflect.Method.invoke(Unknown Source)
    2012/03/02 22:15:57 - org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    2012/03/02 22:15:57 - org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    2012/03/02 22:15:57 - org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
    2012/03/02 22:15:57 - net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:132)
    2012/03/02 22:15:57 - net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:121)
    2012/03/02 22:15:57 - net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:87)
    2012/03/02 22:15:57 - net.minecraft.server.Packet1Login.handle(SourceFile:68)
    2012/03/02 22:15:57 - net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    2012/03/02 22:15:57 - net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:47)
    2012/03/02 22:15:57 - net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:61)
    2012/03/02 22:15:57 - net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    2012/03/02 22:15:57 - net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    2012/03/02 22:15:57 - net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    2012/03/02 22:15:57 - ---------------------------- STACKTRACE END ----------------------------
    2012/03/02 22:17:28 - --------------------------- STACKTRACE ERROR ---------------------------
    2012/03/02 22:17:28 - Class name: com.authdb.AuthDB
    2012/03/02 22:17:28 - File name: AuthDB.java
    2012/03/02 22:17:28 - Function name: isRegistered
    2012/03/02 22:17:28 - Error line: 937
    2012/03/02 22:17:28 - AuthDB version: 2.3.3.234
    2012/03/02 22:17:28 - Keep alive: false
    2012/03/02 22:17:29 - MySQL connection: true
    2012/03/02 22:17:29 - Latest query: SELECT username_clean FROM `phpbb_users` WHERE `username_clean` = 'badger' LIMIT 1
    2012/03/02 22:17:29 - Script: phpbb
    2012/03/02 22:17:29 - Script version: 3.0.9
    2012/03/02 22:17:29 - Table prefix: phpbb_
    2012/03/02 22:17:29 - Plugins: WorldGenerationControl 2.6, PlugMan 1.6.2, WorldEdit 1070-c582763, Websend 1.4.2, Buycraft 3.9, Vault 1.2.12-b136, DeathNotifier 1.4.3, PermissionsEx 1.19, Stargate 0.7.5.6, FigAdmin 4.0.14, MyHelpPages 1.1, WorldGuard 5.5.2-SNAPSHOT, iConomy 6.0.9b, Permissions 2.7.7, AuthDB 2.3.3.234, BKCommonLib 1.11, OpenInv 1.8.1, My Worlds 1.43, NoCheat 3.4.4, mcMMO 1.3.01-b359, Tips 1.1, Essentials 2.8.3, WorldBorder 1.5.2, ShowCaseStandalone 0.67, MobCatcher 2.1 by Malikk, EssentialsSpawn 2.8.3, HawkEye 1.1-SNAPSHOT, EssentialsChat 2.8.3, PreciousStones 8.3,
    2012/03/02 22:17:29 - --------------------------- STACKTRACE START ---------------------------
    2012/03/02 22:17:29 - sun.reflect.GeneratedConstructorAccessor63.newInstance(Unknown Source)
    2012/03/02 22:17:29 - sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    2012/03/02 22:17:29 - java.lang.reflect.Constructor.newInstance(Unknown Source)
    2012/03/02 22:17:29 - com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
    2012/03/02 22:17:29 - com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
    2012/03/02 22:17:29 - com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3082)
    2012/03/02 22:17:29 - com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2968)
    2012/03/02 22:17:29 - com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3516)
    2012/03/02 22:17:29 - com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
    2012/03/02 22:17:29 - com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
    2012/03/02 22:17:29 - com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
    2012/03/02 22:17:29 - com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570)
    2012/03/02 22:17:29 - com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1474)
    2012/03/02 22:17:29 - com.authdb.util.databases.MySQL.getfromtable(MySQL.java:227)
    2012/03/02 22:17:29 - com.authdb.util.Util.checkScript(Util.java:726)
    2012/03/02 22:17:29 - com.authdb.AuthDB.isRegistered(AuthDB.java:925)
    2012/03/02 22:17:29 - com.authdb.listeners.AuthDBPlayerListener.onPlayerJoin(AuthDBPlayerListener.java:146)
    2012/03/02 22:17:29 - sun.reflect.GeneratedMethodAccessor163.invoke(Unknown Source)
    2012/03/02 22:17:29 - sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    2012/03/02 22:17:29 - java.lang.reflect.Method.invoke(Unknown Source)
    2012/03/02 22:17:29 - org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    2012/03/02 22:17:29 - org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    2012/03/02 22:17:29 - org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
    2012/03/02 22:17:29 - net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:132)
    2012/03/02 22:17:29 - net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:121)
    2012/03/02 22:17:29 - net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:87)
    2012/03/02 22:17:29 - net.minecraft.server.Packet1Login.handle(SourceFile:68)
    2012/03/02 22:17:29 - net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    2012/03/02 22:17:29 - net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:47)
    2012/03/02 22:17:29 - net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:61)
    2012/03/02 22:17:29 - net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    2012/03/02 22:17:29 - net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    2012/03/02 22:17:29 - net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    2012/03/02 22:17:29 - ---------------------------- STACKTRACE END ----------------------------
    Advanced.YML
    Code:
    customdb:
        enabled: false                                  # Enable/disable custom database support. Leave this disabled if using a script such as phpBB.
        autocreate: true                                # Enable/disable automatic creation of the database tables and columns for a custom database.
        table: authdb_users                              # Table name to use for your custom database.
        userfield: username                              # Field/column name to use for storing user names.
        passfield: password                              # Field/column name to use for storing user passwords.
        emailfield: email                                # Field/column name to use for storing user email addresses. Leave blank to disable email requirement.
        emailrequired: false                            # Enable/disable registration email requirement.
        encryption: md5                                  # Encription type to use for password hashing. Options are MD5, SHA1, and SHA512.
    #    saltfield: salt                                  # NOT IMPLEMENTED YET! Field/column name to use for storing the passwordsalt.
    #    hashformat: "{PASSWORD}{SALT}{NAME}"            # NOT IMPLEMENTED YET! Format/layout to use for the password hash.
    register:
        enabled: true                                    # Enable/disable allowing users to register.
        force: true                                      # Enable/disable forcing users to register.
        delay: 10 seconds                                # Amount of time before register message is shown to player.
        timeout: 3 minutes                              # Amount of time a player has to register before the configured action is taken.
    login:
    #    enabled: true                                    # NOT IMPLEMENTED YET! Enable/disable players being able to login.
        method: prompt                                  # Login method to use. Options are normal and prompt.
        delay: 10 seconds                                # Amount of time before login message is shown to player.
        timeout: 3 minutes                              # Amount of time a player has to login before the configured action is taken.
        tries: 3                                        # Number of allowed incorrect password tries.
        action: kick                                    # Action to perform when a maximum number of password tries is reached. Currently only option is kick.
    link:
        enabled: false                                    # Enable/disable username linking.
        rename: false                                    # Enable/disable renaming users to linked name on link.
    unlink:
        enabled: false                                    # Enable/disable username unlinking.
        rename: false                                    # Enable/disable renaming users to original name on unlink.
    username:
        minimum: 3                                      # Minimum number of characters a username can be.
        maximum: 16                                      # Maximum number of characters a username can be.
    password:
        minimum: 3                                      # Minimum number of characters a password can be.
        maximum: 16                                      # Maximum number of characters a password can be.
    session:
        enabled: true                                    # Enable/disable player sessions. Ignored if online-mode: true in server.properties.
        start: login                                    # When to start the player's session. Options are login and logoff.
        length: 2 hours                                  # Length of the player's session. Can be any number of seconds, minutes, hours, or days.
        protect: true                                    # Enable/disable protecting player from being logged out from another location.
    guest:
        commands: false                                  # Enable/disable guest commands.
        chat: false                                      # Enable/disable guest chat.
        building: false                                  # Enable/disable guest building.
        destruction: false                              # Enable/disable guest destruction.
        movement: false                                  # Enable/disable guest movement.
        interactions: false                              # Enable/disable guest interactions with objects.
        inventory: false                                # Enable/disable guest inventory usage.
        drop: false                                      # Enable/disable guest being able to drop items.
        pickup: false                                    # Enable/disable guest being able to pickup items.
        health: false                                    # Enable/disable guest getting hurt.
        pvp: false                                      # Enable/disable guest hurting players.
        mobtargeting: false                              # Enable/disable mobs targeting guest.
        mobdamage: false                                # Enable/disable mob damage from guest.
    protection:
        freeze:
            enabled: true                                # Enable/disable freezing players on join to prevent movement.
            delay: 2 seconds                            # Amount of time before players are frozen and unable to move.
        notify:
            enabled: true                                # Enable/disable protection message being sent to player.
            delay: 10 seconds                            # Amount of time before protection message can be sent to player again.
    filter:
        action: kick                                    # Action to perform when a username matches the filter. Options are kick and rename.
        username: "`[email protected]#$%^&*()-=+{[]}|\\:;\"<,>.?/ "    # Characters and symbols to check for in usernames. We recommend leaving this as is.
        password: "$&\\\""                              # Characters and symbols to check for in passwords. We recommend leaving this as is.
        whitelist:                    # Usernames to exclude from username and password filtering.
    
    Basic.YML
    Code:
    plugin:
      language:
        commands: English                              # Language you want to use for commands that matches a directory under translations.
        messages: English                              # Language you want to use for messages that matches a directory under translations.
      debugmode: false                                  # Enable/disable debugging mode and additional console output.
      usagestats: true                                      # Enable/disable usage stats reporting to CraftFire devs.
      logging: true                                            # Enable/disable logging to files.
      logformat: yyyy-MM-dd                          # Filename format of the AuthDB debug and error log files.
    database:
      type: mysql                                            # Database type/driver to use. Current options are MySQL and eBean (Bukkit persistence).
      host: ********                            # MySQL server hostname, domain, IP, or localhost for local connections. MySQL only.
      port: ******                                              # Port used for connecting to your MySQL server. This is usually 3306. MySQL only.
      username: ********                      # Username used to connect to your database. Only valid for MySQL.
      password: *******                      # Password used to connect to your database. MySQL only.
      name: ********                    # Name of the database you are connecting to. MySQL only.
      keepalive: false                                      # Enable/disable keeping database connection alive. Do not use if your connection limit is low. MySQL only.
    script:
      name: phpBB                                        # Name of the script you are using.
      version: 3.0.9                                        # Version of the script you are using.
      tableprefix: phpbb_                              # Database table prefix for the script, if you use one.
    #  passwordsalt:                                    # NOT IMPLEMENTED YET! Unique/custom password salt, if needed by the script.
    
     
  21. Offline

    djrazr

    Got the same error as everyone else here:

    Code:
     [SEVERE] Could not pass event PlayerMoveEvent to AuthDB
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:208)
            at net.minecraft.server.Packet10Flying.handle(SourceFile:126)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:112)
            at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
            at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    Caused by: javax.persistence.PersistenceException: Unique expecting 0 or 1 rows but got [2]
            at com.avaje.ebeaninternal.server.core.DefaultServer.findUnique(DefaultServer.java:1242)
            at com.avaje.ebeaninternal.server.querydefn.DefaultOrmQuery.findUnique(DefaultOrmQuery.java:924)
            at com.avaje.ebeaninternal.util.DefaultExpressionList.findUnique(DefaultExpressionList.java:217)
            at com.authdb.util.databases.EBean.checkPlayer(EBean.java:77)
            at com.authdb.util.databases.EBean.find(EBean.java:159)
            at com.authdb.AuthDB.isAuthorized(AuthDB.java:701)
            at com.authdb.listeners.AuthDBPlayerListener.onPlayerMove(AuthDBPlayerListener.java:436)
            at sun.reflect.GeneratedMethodAccessor136.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
            ... 10 more
    
    Plugin seems to work but errors are hitting the performance, and spamming my ssh console :D
     
  22. Offline

    Everlong

    Getting this too. Only seems to be with a player called "UpTide" for me!
     
  23. Offline

    Wulfspider

    If any of you are getting the [SEVERE] Could not pass event PlayerMoveEvent to AuthDB or Caused by: javax.persistence.PersistenceException: Unique expecting 0 or 1 rows but got [2] errors, then try downgrading to 2.3.4.236 to see if the issue continues.
     
  24. Offline

    kalijason

    Hi Wulfspider,
    I got the same issue and I downgraded to 2.3.4.236 and still popping up the error :(

     
  25. Offline

    Everlong

    Did the same too; can confirm that it still doesn't gives this error as mentioned.
     
  26. Offline

    kalijason

    By the way, I tried to open AuthDB.db, and I saw "TWO" rows has exactly the same "playername" data but one is "false" in "registered" column, the other is "true"

    The way I reproduce this is to disable session in advanced.yml and...
    1. shutdown server
    2. delete AuthDB.db
    3. start server and connect it

    sometimes the message is
    Code:
    2012-03-11 04:24:03 [INFO] /127.0.0.1:6026 lost connection
    2012-03-11 04:24:05 [INFO] kalijason [/127.0.0.1:6028] logged in with entity id 870 at ([world] 98.6875, 64.0, 193.03125)
    2012-03-11 04:24:05 [INFO] DataSourcePool [AuthDB] grow; id[AuthDB.2] busy[3] max[20]
    2012-03-11 04:24:05 [INFO] Can not test connection as heartbeatsql is not set
    2012-03-11 04:24:05 [INFO] Closing Connection[AuthDB.2] psReuse[0] psCreate[2] psSize[2]
    2012-03-11 04:24:05 [INFO] DataSourcePool [AuthDB] grow; id[AuthDB.3] busy[4] max[20]
    2012-03-11 04:24:05 [SEVERE] Exception in thread "Thread-29"
    2012-03-11 04:24:05 [SEVERE] javax.persistence.PersistenceException: ERROR executing DML bindLog[] error[[SQLITE_CONSTRAINT] Abort due to constraint violation (PRIMARY KEY must be unique)]
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.persist.dml.DmlBeanPersister.execute(DmlBeanPersister.java:116)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.persist.dml.DmlBeanPersister.insert(DmlBeanPersister.java:76)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.persist.DefaultPersistExecute.executeInsertBean(DefaultPersistExecute.java:91)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.core.PersistRequestBean.executeNow(PersistRequestBean.java:527)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.core.PersistRequestBean.executeOrQueue(PersistRequestBean.java:557)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.persist.DefaultPersister.insert(DefaultPersister.java:404)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.persist.DefaultPersister.saveVanillaInsert(DefaultPersister.java:377)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.persist.DefaultPersister.saveVanillaRecurse(DefaultPersister.java:361)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.persist.DefaultPersister.saveRecurse(DefaultPersister.java:308)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.persist.DefaultPersister.save(DefaultPersister.java:282)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.core.DefaultServer.save(DefaultServer.java:1577)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.core.DefaultServer.save(DefaultServer.java:1567)
    2012-03-11 04:24:05 [SEVERE]at com.authdb.util.databases.EBean.save(EBean.java:89)
    2012-03-11 04:24:05 [SEVERE]at com.authdb.util.threads.SyncThread.run(SyncThread.java:30)
    2012-03-11 04:24:05 [SEVERE] Caused by: java.sql.SQLException: [SQLITE_CONSTRAINT] Abort due to constraint violation (PRIMARY KEY must be unique)
    2012-03-11 04:24:05 [SEVERE]at org.sqlite.DB.newSQLException(DB.java:383)
    2012-03-11 04:24:05 [SEVERE]at org.sqlite.DB.newSQLException(DB.java:387)
    2012-03-11 04:24:05 [SEVERE]at org.sqlite.DB.execute(DB.java:342)
    2012-03-11 04:24:05 [SEVERE]at org.sqlite.DB.executeUpdate(DB.java:363)
    2012-03-11 04:24:05 [SEVERE]at org.sqlite.PrepStmt.executeUpdate(PrepStmt.java:85)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.lib.sql.ExtendedPreparedStatement.executeUpdate(ExtendedPreparedStatement.java:164)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.type.DataBind.executeUpdate(DataBind.java:74)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.persist.dml.InsertHandler.execute(InsertHandler.java:155)
    2012-03-11 04:24:05 [SEVERE]at com.avaje.ebeaninternal.server.persist.dml.DmlBeanPersister.execute(DmlBeanPersister.java:105)
    2012-03-11 04:24:05 [SEVERE]... 13 more
    and sometimes is
    I guess it was because something went mess on login? (maybe race-condition? or should not work with multithread?)
     
  27. Offline

    rustymetal

    Completely default.
    I tested the version you suggestion and latest of 2 days ago. same results.

    Tested a empty database,
    Tested no database with the auto-create on.
    None worked.

    Also it is not just 'PlayerMoveEvent' it is EVERY event.
    PlayerQuitEven
    BlockDamageEvent
    PlayerInteractEvent
    PlayerJoinEvent
    etc

    All saying javax.persistence.PersistenceException: Unique expecting 0 or 1 rows but got [2] and then the java throw errors.

    I have been trying to figure out a way to reproduce this error but I simply can't.
    I tried what kalijason said and it does nothing but recreate the AuthDB.db. And I beilieve the AuthDB.db is the problem.

    I tested in a new server environment and AuthDB works. I added each of my plugins 1 by 1. Everyone worked and now I have a working server that is comparable to my dedicated box and no idea where the error is coming from.

    Download a copy of my server, test it. Its giving the error. I delete the AuthDB.db file, and it works!!!!!
    Delete it on my dedicated server. No change, same error spam. Test another new DB, delete the AuthDB file... same....errors

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 15, 2016
  28. Offline

    kalijason

    for the exception
    Code:
     javax.persistence.PersistenceException: Unique expecting 0 or 1 rows but got [2] 
    Just share my quick solution for build 237 to prevent server crashing, but it need some basic SQL knowledge
    If you guys still want to authenticate with your "custdb"
    1. Download and Install SQLiteBrowser
    2. Open AuthDB.db with it
    3. Insert all of the players into authdb_users (playername, registered, timeout, sessionid must have values)
    4. Copy all playername to white-list.txt
    5. enable white-list

    Ok I know users can't register anymore if you enable white-list
    but this is to prevent AuthDB inserting "new" duplicated player into AuthDB.db and then throwing the exceptions
     
  29. Thanks! But at the same time i'm waiting for an official solution as i don't want to restrict my server/add people by whitelist :-/
     
  30. Offline

    rustymetal

    I can get this error with 1 users in the database on a fresh install. I also open the AuthDB.db and it shows only 1 entry, but producing this error.

    To me, that means it's clearly not related to the actual MYSQL database, but the system that creates/manages the AuthDB.db work file. Which I wonder why you even have this? Whats the reason to copy the Mysql database into a SQLlite file? I know your probably using the SQLlite file as the live/working environment for the plugin to reduce SQL query but its causing huge problems. (Not actually asking you just speaking what I am thinking).


    edit >
    After more testing.... I downloaded a complete copy of my server & sql databases. Loaded them localy and not a single problem. If I use the exact same files/database on my dedicated box, it does not work and will not work in any way shape or form.

    Could this be caused by different JVMs? OS? ???
    Problem System
    CentOS release 5.7 (Final) x64
    java version "1.7.0_03"
    Java(TM) SE Runtime Environment (build 1.7.0_03-b04)
    Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode)

    Exact same files/database work on
    Windows 7 SP1 x64
    java version "1.6.0_29"
    Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)

    2012-03-11 21:37:08 [INFO] [AuthDB] Loading AuthDB v2.3.4.237
    2012-03-11 21:37:08 [INFO] [AuthDB] Enabling AuthDB v2.3.4.237
    2012-03-11 21:37:08 [INFO] [AuthDB] messages language set to English
    2012-03-11 21:37:08 [INFO] [AuthDB] commands language set to English
    2012-03-11 21:37:08 [INFO] [AuthDB] 0 user registrations in database
    2012-03-11 21:37:08 [INFO] [AuthDB] 2.3.4.237 is enabled

    Produces the error Unique expecting 0 or 1 rows but got [2].
    As I said in above post, the only difference is the Java VM / Operating system.
    Doing the exact same steps on my Windows PC produces NO errors.
    I guess I should mention that no errors appear until a player logs in the server.

    Full log w/ debug=true
    http://pastebin.com/kyjQ2AJK

    Also, this is the only plugin that I still need to work until I have my server fully upgraded, so thats why I'm posting on myself and spamming.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 15, 2016
  31. Offline

    contex



    The point with Ebean was to not have the need to perform a MySQL query for every check, mainly authenticating.
    However, we chose also to store temporarly data such as inventory and so on in the local Ebean.
    I'm glad you said what you think, that's how we can make the plugin better for everyone to use, however we're currently working on a rewrite of AuthDB which will NOT include Ebean, due to recent issues.

    One thing which suprises me, is that we haven't changed any part of code related to Ebean for the last 2-3 months, so whatever is causing this must be related to the recent CraftBukkit builds, this is what I'm currently testing and looking for a solution.

    I'm currently in a debug mode, I've tried to replicate the errors you guys are getting, both localhost host and remote, without any luck.
    I will spend the day tommorow figuring out what the hell went wrong and hopefully release a solution within the day.


    I am very sorry for those who has had trouble regarding the recent issues, I will try to fix it by tommorow, but since I'm unable to recreate the issue, it's going to be complicated.

    I would also thank those who sent me their AuthDB.db, that's at least a start.

    Just a little update on the rewrite, we're creating an API for handling scripts: https://github.com/CraftFire/AuthAPI
    This includes reading recent posts on the forum, get user information, add a ban, get all the groups and any other related function that could come with a CMS/Forum.

    This basicly means with the rewrite of AuthDB, we will have the same functions as AuthDB currently has but also with the new AuthAPI, this will allow everyone to create addons, addons included in the rewrite will be:
    • Bans
      • Ban users from your game server and the script you have AuthDB configured with.
      • Ban by username, IP, both, or any available based on capabilities of script used with.
      • Fully customizable messages with variables.
    • Groups
      • Assign users to permission group automatically based on their forum/CMS group.
      • Users automatically promoted/demoted based on changes in-game or on your forum/CMS.
      • Option to allow or deny guests from accessing your server. (in v1.1.0)
      • Option to give select groups priority server access/reserved slots over lower groups.
      • Optional whitelist for allowing only specific groups access to your server. (in v1.1.0)
      • Fully customizable messages with variables.
    • Messaging
      • Allow users to get alerted once they receive a private message.
      • Allow user to read/write private messages.
    • Statuses
      • Users can update their status on the script (for the scripts that support it).
    • Birthdays
      • Birthday greetings, announcements, free cake and random or settable birthday gift(s).
    We might delay these addons a bit and get the core of the rewrite completed first, once that is done we will work on the addons, but the thing is that we will make it easy for others to create their own addons if they have some common coding knowledge within Java.
    Hope that gives you guys some hope for the time being, it's fun to see what AuthDB has become.
     

Share This Page