• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

AuthDB eigene Variablen in MySQL einfügen

Status
Für weitere Antworten geschlossen.

dezeyer23

Redstoneengineer
Registriert
14 Mai 2012
Beiträge
41
Diamanten
0
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:
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)
und
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:
X

|| xX [DEV][LP] Ms. DivaCraft Xx ||

Guest
Exported with compile errors: test/src/com/authdb/scripts/forum/PhpBB.java"
Dass heißt du musst erstmal alle Fehler beheben bevor du es exportieren kannst. Kein wunder dass ein Fehler kommt...

Welcher Fehler kommt denn bei deiner IDE?
 

dezeyer23

Redstoneengineer
Registriert
14 Mai 2012
Beiträge
41
Diamanten
0
was meinst du mit IDE (=integrierte Entwicklungsumgebung Hab ich :D)? ich bin erst bei anfang :D alle feher beheben, heist ich muss auch die classes die includet werden erstellen, und in denen werden nochma includet, also das ganze plugin decompilen und neu einfügen?
 
Zuletzt bearbeitet:

dezeyer23

Redstoneengineer
Registriert
14 Mai 2012
Beiträge
41
Diamanten
0
ich hab jetzt noch ein paar fehlermeldungen:
in der MySQL.java wird
Code:
 import com.mysql.jdbc.Blob;
angegeben, es existiert aber nirgens ein paket namens mysql.
dadurch gibt es in der Util.java den fehler
Code:
Blob hash = MySQL.getfromtableBlob(Config.script_tableprefix + "user_authenticate", "`data`", "user_id", userid);
, also das blob ist unterstrichen.
in der ZPermissions.java wird "PermissionHandler" unterstrichen, hier Beispiele:
Code:
public static PermissionHandler permissionsHandler;
... permissionsHandler.has(player, permission.permission ...
... permissionsHandler.has(player, pluginName + ".*") ...

und in der AuthDB.java wieder ein fehler mit ZPermissions und seinem PermissionHandler
Code:
 ZPermissions.permissionsHandler = ((Permissions)Check1).getHandler();

und wie weiter?

lg Dez
 

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0
Du initialisierst den git ordner. (git init)
Dann pullst du mit git den Sourcecode runter.
Und dann kannst du es mit maven compilen:
Code:
[COLOR=#141414][FONT=Consolas]mvn clean install[/FONT][/COLOR]
 

dezeyer23

Redstoneengineer
Registriert
14 Mai 2012
Beiträge
41
Diamanten
0
Ich komme da nicht mit, auch wenn ich mich jetzt etwas dumm dranstelle, aber wie soll das gehen?
mvn clean install sieht für mich wie ein Linuxbefehl aus.
Ich hab auf http://maven.apache.org/download.html Maven 3 (apache-maven-3.0.4-bin.zip)
runtergeladen, aber was soll ich damit machen?

Wäre es ein problem, wenn mir das jemand machen könnte?

oder mir eine brauchbare anleitung linken, ich hab den ganzen mittag gegoogelt aber nix grfunden

wär echt net.
 

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0
Du musst dir die Programme git und maven installieren.

Wenn du kein Linux system hast, kann ich dir nicht helfen,
aber ich glaube schon das es installer für Windows gibt.

Du initialisierst git in dem ordner in dem du compilen möchtest. (git init)
Dann holst du dir mit git die sourcecodes vom server. (git pull git://deinegiturl)
Und dann compilst du es. (mvn clean install)
 

dezeyer23

Redstoneengineer
Registriert
14 Mai 2012
Beiträge
41
Diamanten
0
Ok, nach dem maven hab ich jetzt in meinem GitHub Ordner mehrere Unterordner,
.git , src , traget
und dann noch Dateien,
.gitattributes .gitignore, HEADER.txt, LICENSE.txt, POM.xml, README.md

jetzt ist aber in src ein ordner main, darin dann java und resources, und in java ist dann com, was ich ja für mein eclipse brauche, aber in traget ist im ordner classes das gleiche nochma, was brauch ich jetzt für mein eclipse und wie importier ich das?

Ich weis ich stell mich grade voll doof an aber ich hab sowas eben noch nie gemacht
 
Status
Für weitere Antworten geschlossen.
Oben