Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Решено LoginPlus со временем перестаёт работать

Метки:
Теги Теги
loginplus mysql
Статус
Закрыто для дальнейших ответов.

Dezzzix

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Dezzzix
Возникла такая проблема. Подключил плагин LoginPlus к б/д Mysql. Поначалу всё работает корректно, но проходит время и при заходе на сервер плагин ничего не даёт делать игроку, но и не даёт авторизироваться на сервере. При этом если отключить б/д, то проблема пропадает.
Помогите кто чем сможет)
Версия: 1.18.2
Ядро: Purpur

[04:16:44 WARN]: com.mysql.cj.jdbc.exceptions.CommunicationsException: The last packet successfully received from the server was 3,404,887 milliseconds ago. The last packet sent successfully to the server was 3,404,888 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
[04:16:44 WARN]: at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
[04:16:44 WARN]: at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
[04:16:44 WARN]: at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
[04:16:44 WARN]: at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1009)
[04:16:44 WARN]: at LoginPlus-3.2.1.jar//com.syntaxphoenix.loginplus.accounts.database.MysqlAccountDatabase.getAccount(MysqlAccountDatabase.java:72)
[04:16:44 WARN]: at LoginPlus-3.2.1.jar//com.syntaxphoenix.loginplus.accounts.tasks.AccountLoadingThread.run(AccountLoadingThread.java:17)
[04:16:44 WARN]: Caused by: com.mysql.cj.exceptions.CJCommunicationsException: The last packet successfully received from the server was 3,404,887 milliseconds ago. The last packet sent successfully to the server was 3,404,888 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
[04:16:44 WARN]: at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[04:16:44 WARN]: at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
[04:16:44 WARN]: at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[04:16:44 WARN]: at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
[04:16:44 WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
[04:16:44 WARN]: at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
[04:16:44 WARN]: at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
[04:16:44 WARN]: at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
[04:16:44 WARN]: at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
[04:16:44 WARN]: at com.mysql.cj.protocol.a.NativeProtocol.send(NativeProtocol.java:567)
[04:16:44 WARN]: at com.mysql.cj.protocol.a.NativeProtocol.sendCommand(NativeProtocol.java:622)
[04:16:44 WARN]: at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:987)
[04:16:44 WARN]: at com.mysql.cj.NativeSession.execSQL(NativeSession.java:666)
[04:16:44 WARN]: at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:930)
[04:16:44 WARN]: ... 3 more
[04:16:44 WARN]: Caused by: java.net.SocketException: Connection reset by peer
[04:16:44 WARN]: at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:420)
[04:16:44 WARN]: at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:440)
[04:16:44 WARN]: at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:826)
[04:16:44 WARN]: at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:1035)
[04:16:44 WARN]: at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
[04:16:44 WARN]: at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
[04:16:44 WARN]: at com.mysql.cj.protocol.a.SimplePacketSender.send(SimplePacketSender.java:55)
[04:16:44 WARN]: at com.mysql.cj.protocol.a.TimeTrackingPacketSender.send(TimeTrackingPacketSender.java:50)
[04:16:44 WARN]: at com.mysql.cj.protocol.a.NativeProtocol.send(NativeProtocol.java:558)
[04:16:44 WARN]: ... 7 more
 
Это происходит из-за того, что плагин долго не делает никаких запросов к БД. В итоге база закрывает соединение с собой, а плагин не переподключается.

Добавь к параметрам подключения к бд вот это:
autoReconnect=true
Если отдельного поля в конфиге нет, то можно попробовать добавить в название базы данных:
myDatabase?autoReconnect=true
Но тоже не факт, что сработает.

Есть и альтернативное решение этой проблемы, но я бы не рекомендовал его использовать. Если интересно - переводи текст ошибки:
The last packet sent successfully to the server was 3,404,888 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

Но вообще плагин ведёт себя косячно. Рекомендую как минимум зарепортить это разработчику, а как максимум перейти на другой плагин
 
Это происходит из-за того, что плагин долго не делает никаких запросов к БД. В итоге база закрывает соединение с собой, а плагин не переподключается.

Добавь к параметрам подключения к бд вот это:
autoReconnect=true
Если отдельного поля в конфиге нет, то можно попробовать добавить в название базы данных:
myDatabase?autoReconnect=true
Но тоже не факт, что сработает.

Есть и альтернативное решение этой проблемы, но я бы не рекомендовал его использовать. Если интересно - переводи текст ошибки:
The last packet sent successfully to the server was 3,404,888 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

Но вообще плагин ведёт себя косячно. Рекомендую как минимум зарепортить это разработчику, а как максимум перейти на другой плагин
Благодарю, репорт написал, с проблемой что-нибудь сделаю.
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх