Hallo liebe Comunity
Ich versuche schon seit einiger zeit in AuthDB eigene Variablen in die Datenbank zu schreiben. Was ich eigendlich will ist, dass beim registrieren auf dem server im phpBB ein Avatar gesetzt wird. Derzeit läuft die registration über die Website, da funktioniert es. Ich will jetzt aber einführen, dass man sich auf dem Server registrieren kann, aber der Avatar soll gesetzt werden.
Ich hab aus der jar die PhpBB.class rausgenommen und sie editiert.
Hier der Teil, wo die registration in die DB geschriben wird:
aber wie grieg ich die class jetzt wieder in das Plugin hinein?
also ich hab die Datei decompilt, und mit eclipse bearbeitet. Dafür ein neues java projekt erstellt und in src ein neues Package mit dem Namen "com.authdb.scripts.forum". Dort eine Class File mit dem Namen "PhpBB" und dort mein Code eingefügt (natürlich den Ganzen nicht nur oben den Schnipsel) Aber wenn ich dann exportiere denn kommt immer die fehlermeldung "Exported with compile errors: test/src/com/authdb/scripts/forum/PhpBB.java"
Mit Notepad als .class speichern und dan einfach in die jar kopieren ergibt folgenden feher wenn ich den Server starte:
und
Kann mir jemand sagen wie ich das richtig mache es ist mir sehr wichtig.
Lg
Dez
Ich versuche schon seit einiger zeit in AuthDB eigene Variablen in die Datenbank zu schreiben. Was ich eigendlich will ist, dass beim registrieren auf dem server im phpBB ein Avatar gesetzt wird. Derzeit läuft die registration über die Website, da funktioniert es. Ich will jetzt aber einführen, dass man sich auf dem Server registrieren kann, aber der Avatar soll gesetzt werden.
Ich hab aus der jar die PhpBB.class rausgenommen und sie editiert.
Hier der Teil, wo die registration in die DB geschriben wird:
Code:
String hash = phpbb_hash(password);
long timestamp = System.currentTimeMillis() / 1000L;
PreparedStatement ps = MySQL.mysql.prepareStatement("INSERT INTO `" + Config.script_tableprefix + "users" + "` (`username`, `username_clean`, `user_password`, `user_email`, `group_id`, `user_timezone`, `user_dst`, `user_lang`, `user_type`, `user_regdate`, `user_new`, `user_lastvisit`, `user_permissions`, `user_sig`, `user_occ`, `user_interests`, `user_ip`, `user_avatar`, `user_avatar_type`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", 1);
ps.setString(1, player);
ps.setString(2, player.toLowerCase());
ps.setString(3, hash);
ps.setString(4, email);
ps.setString(5, "2");
ps.setString(6, "0.00");
ps.setString(7, "0");
ps.setString(8, "en");
ps.setString(9, "0");
ps.setLong(10, timestamp);
ps.setString(11, "1");
ps.setLong(12, timestamp);
ps.setString(13, "");
ps.setString(14, "");
ps.setString(15, "");
ps.setString(16, "");
ps.setString(17, ipAddress);
ps.setString(18, "http://mag.racked.eu/tools/avatar/64/" + player + ".png");
ps.setString(19, "2");
Util.logging.mySQL(ps.toString());
ps.executeUpdate();
ps.close();
int userid = MySQL.countitall(Config.script_tableprefix + "users");
aber wie grieg ich die class jetzt wieder in das Plugin hinein?
also ich hab die Datei decompilt, und mit eclipse bearbeitet. Dafür ein neues java projekt erstellt und in src ein neues Package mit dem Namen "com.authdb.scripts.forum". Dort eine Class File mit dem Namen "PhpBB" und dort mein Code eingefügt (natürlich den Ganzen nicht nur oben den Schnipsel) Aber wenn ich dann exportiere denn kommt immer die fehlermeldung "Exported with compile errors: test/src/com/authdb/scripts/forum/PhpBB.java"
Mit Notepad als .class speichern und dan einfach in die jar kopieren ergibt folgenden feher wenn ich den Server starte:
Code:
2012-10-26 11:32:51 [SEVERE] Error occurred while enabling AuthDB v2.3.6.242 (Is it up to date?)
java.lang.ClassFormatError: Incompatible magic value 1885430635 in class file com/authdb/scripts/forum/PhpBB
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:44)
at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:239)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:40)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:29)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.authdb.util.Util.checkScript(Util.java:136)
at com.authdb.AuthDB.onEnable(AuthDB.java:237)
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:365)
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:265)
at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:247)
at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:199)
at net.minecraft.server.ServerConfigurationManagerAbstract.<init>(ServerConfigurationManagerAbstract.java:50)
at net.minecraft.server.ServerConfigurationManager.<init>(SourceFile:11)
at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:105)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:378)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Code:
2012-10-26 11:33:52 [SEVERE] Could not pass event PlayerLoginEvent to AuthDB
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
at net.minecraft.server.ServerConfigurationManagerAbstract.attemptLogin(ServerConfigurationManagerAbstract.java:273)
at net.minecraft.server.NetLoginHandler.d(NetLoginHandler.java:112)
at net.minecraft.server.NetLoginHandler.c(NetLoginHandler.java:41)
at net.minecraft.server.DedicatedServerConnectionThread.a(DedicatedServerConnectionThread.java:44)
at net.minecraft.server.DedicatedServerConnection.b(SourceFile:29)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:581)
at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Caused by: java.lang.ClassFormatError: com/authdb/scripts/forum/PhpBB
at com.authdb.util.Util.checkScript(Util.java:136)
at com.authdb.util.databases.EBean.sync(EBean.java:100)
at com.authdb.util.databases.EBean.sync(EBean.java:85)
at com.authdb.listeners.AuthDBPlayerListener.onPlayerLogin(AuthDBPlayerListener.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330)
... 13 more
Kann mir jemand sagen wie ich das richtig mache es ist mir sehr wichtig.
Lg
Dez
Zuletzt bearbeitet: