Bonjour,
Je suis en train de faire un plugin d'authentification avec une base de données, sauf que j'ai une erreur assez étrange depuis hier soir.
J'ai le plugin qui fonctionne sous bungeecord et paper (en 1.9), mais depuis hier soir, juste le plugin du bungeecord se connecte à la BDD, et le paper me renvoie un NullPointerException alors que les deux plugins on exactement la même configuration.
Voici les logs d'erreurs du paper :
Ensuite voici ma class Main du bungee :
Et voici ma class Main du paper
Ainsi que ma class MySql :
Je trouve sa étrange, et c'est uniquement les papers qui bug, j'ai essayer avec un plugin et serveur vierge et même problème.
Je suis sur que c'est un truc tout con en plus, mais impossible de trouver
Merci de l'aide
Je suis en train de faire un plugin d'authentification avec une base de données, sauf que j'ai une erreur assez étrange depuis hier soir.
J'ai le plugin qui fonctionne sous bungeecord et paper (en 1.9), mais depuis hier soir, juste le plugin du bungeecord se connecte à la BDD, et le paper me renvoie un NullPointerException alors que les deux plugins on exactement la même configuration.
Voici les logs d'erreurs du paper :
Code:
[09:18:32] [Server thread/INFO]: [HexaAuth] Enabling HexaAuth v1.0
[09:18:36] [Server thread/WARN]: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
[09:18:36] [Server thread/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[09:18:36] [Server thread/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[09:18:36] [Server thread/WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[09:18:36] [Server thread/WARN]: at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.Util.getInstance(Util.java:387)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:862)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2164)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2089)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:795)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)
[09:18:36] [Server thread/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[09:18:36] [Server thread/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[09:18:36] [Server thread/WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[09:18:36] [Server thread/WARN]: at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:400)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:327)
[09:18:36] [Server thread/WARN]: at java.sql.DriverManager.getConnection(DriverManager.java:664)
[09:18:36] [Server thread/WARN]: at java.sql.DriverManager.getConnection(DriverManager.java:247)
[09:18:36] [Server thread/WARN]: at fr.kenda.hexaauth.spigot.sql.MySQL.connect(MySQL.java:14)
[09:18:36] [Server thread/WARN]: at fr.kenda.hexaauth.spigot.Main.onEnable(Main.java:25)
[09:18:36] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:292)
[09:18:36] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:319)
[09:18:36] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407)
[09:18:36] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_9_R2.CraftServer.loadPlugin(CraftServer.java:358)
[09:18:36] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_9_R2.CraftServer.enablePlugins(CraftServer.java:318)
[09:18:36] [Server thread/WARN]: at net.minecraft.server.v1_9_R2.MinecraftServer.t(MinecraftServer.java:414)
[09:18:36] [Server thread/WARN]: at net.minecraft.server.v1_9_R2.MinecraftServer.l(MinecraftServer.java:379)
[09:18:36] [Server thread/WARN]: at net.minecraft.server.v1_9_R2.MinecraftServer.a(MinecraftServer.java:333)
[09:18:36] [Server thread/WARN]: at net.minecraft.server.v1_9_R2.DedicatedServer.init(DedicatedServer.java:272)
[09:18:36] [Server thread/WARN]: at net.minecraft.server.v1_9_R2.MinecraftServer.run(MinecraftServer.java:573)
[09:18:36] [Server thread/WARN]: at java.lang.Thread.run(Thread.java:748)
[09:18:36] [Server thread/WARN]: Caused by: java.lang.NullPointerException
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.ConnectionImpl.getServerCharset(ConnectionImpl.java:3004)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.MysqlIO.sendConnectionAttributes(MysqlIO.java:1908)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1837)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1207)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2254)
[09:18:36] [Server thread/WARN]: at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2105)
[09:18:36] [Server thread/WARN]: ... 25 more
Ensuite voici ma class Main du bungee :
Java:
package fr.kenda.hexaauth.bungee;
import fr.kenda.hexaauth.bungee.listeners.EventMessaging;
import fr.kenda.hexaauth.bungee.sql.MySQL;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.plugin.Plugin;
import net.md_5.bungee.api.plugin.PluginManager;
public class MainBungee extends Plugin {
private static final MySQL mysql = new MySQL();
public static MainBungee instance;
@Override
public void onEnable(){
instance = this;
PluginManager pm = ProxyServer.getInstance().getPluginManager();
mysql.connect("192.168.0.225", 3306, "minecraft", "kenda", "{password}");
pm.registerListener(this, new EventMessaging());
}
@Override
public void onDisable(){
}
public static MainBungee getInstance() {
return instance;
}
}
Et voici ma class Main du paper
Java:
package fr.kenda.hexaauth.spigot;
import fr.kenda.hexaauth.spigot.sql.MySQL;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import java.sql.Connection;
public final class Main extends JavaPlugin {
private static Main instance;
private static final MySQL mysql = new MySQL();
public String prefix = "§f[§6Hexa§9Auth§f] §7§l» ";
@Override
public void onEnable() {
instance = this;
mysql.connect("192.168.0.225", 3306, "minecraft", "kenda", "{password}");
Bukkit.getConsoleSender().sendMessage(prefix + "§aPlugin lancé avec succès.");
this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
registerCommands();
registerEvents();
}
...
Ainsi que ma class MySql :
Java:
package fr.kenda.hexaauth.spigot.sql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class MySQL {
private Connection connection;
public void connect(String host, int port, String database, String user, String password) {
if (!isConnected()) {
try {
connection = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database +"?autoReconnect=true", user, password);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public void disconnect() {
if (isConnected())
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public boolean isConnected() {
try {
return connection != null && !connection.isClosed() && !connection.isValid(5);
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
public void update(String query) {
Connection connection = getConnection();
try(PreparedStatement statement = connection.prepareStatement(query)) {
statement.executeUpdate();
}
catch(SQLException e) {
// TODO: handle exception
// Il faut que ton plugin réagisse s'il ne peut pas créer la table
e.printStackTrace();
}
}
public Connection getConnection() {
return connection;
}
}
Je trouve sa étrange, et c'est uniquement les papers qui bug, j'ai essayer avec un plugin et serveur vierge et même problème.
Je suis sur que c'est un truc tout con en plus, mais impossible de trouver

Merci de l'aide
