↑ ↓

Ошибка с сохранением Game сервером данных в бд

Тема в разделе "Помощь", создана пользователем Koxae, 24 мар 2019.

  1. TopicStarter Overlay
    Offline

    Koxae Рядовой

    17
    3
    31
    Кредиты:
    $118,00
    Репутация:
    0
    Сборка 4.8 ревизия 721. MySQL 5.7x64 (в составе Open Server). С подключением никаких проблем. А с сохранением дикие косяки. Сохраняются: положение чара и его уровень. Не сохраняется всё остальное: шмот, содержимое инвентаря, скилы, спеллы и тп. Иногда сохраняется, но чаще всего нет.

    Отчёт Game сервера (очень много текста)
    at com.mysql.jdbc.util.ReadAheadInputStream.readFromU nderlyingStreamIfNe
    cessary(ReadAheadInputStream.java:143) ~[mysql-connector-java-5.1.33.jar:5.1.33]

    at com.mysql.jdbc.util.ReadAheadInputStream.read(Read AheadInputStream.ja
    va:173) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2911 ) ~[mysql-connector
    -java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO. java:3337) ~[mysql-
    connector-java-5.1.33.jar:5.1.33]
    ... 24 common frames omitted
    20:03:52.083 INFO [pool-4-thread-1]: - Sending account disconnected 2
    20:06:49.951 INFO [pool-2-thread-18]: - Sending current game time to all players

    20:06:49.951 INFO [pool-2-thread-18]: - Game time saved...
    20:06:49.956 ERROR[pool-2-thread-18]: - Error storing server time
    java.sql.SQLException: Could not retrieve transation read-only status server
    at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:996) ~[mysql
    -connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:935) ~[mysql
    -connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:924) ~[mysql
    -connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:870) ~[mysql
    -connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:902) ~[mysql
    -connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:892) ~[mysql
    -connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.ConnectionImpl.isReadOnly(Connectio nImpl.java:3603) ~[
    mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.ConnectionImpl.isReadOnly(Connectio nImpl.java:3572) ~[
    mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.PreparedStatement.executeUpdate(Pre paredStatement.java
    :2107) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.PreparedStatement.executeUpdate(Pre paredStatement.java
    :2077) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.PreparedStatement.executeUpdate(Pre paredStatement.java
    :2062) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.jolbox.bonecp.PreparedStatementHandle.executeU pdate(PreparedState
    mentHandle.java:203) ~[bonecp-0.7.1.RELEASE.jar:0.7.1.RELEASE]
    at mysql5.MySQL5ServerVariablesDAO.store(MySQL5Server VariablesDAO.java]:
    67) ~[na:na]
    at com.aionemu.gameserver.utils.gametime.GameTimeMana ger.saveTime(Unknow
    n Source) [AL-Game.jar:na]
    at com.aionemu.gameserver.services.GameTimeService$1. run(Unknown Source)
    [AL-Game.jar:na]
    at com.aionemu.commons.utils.concurrent.ExecuteWrappe r.execute(ExecuteWr
    apper.java:48) [al-commons.jar:na]
    at com.aionemu.commons.utils.concurrent.RunnableWrapp er.run(RunnableWrap
    per.java:40) [al-commons.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.cal l(Executors.java:47
    1) [na:1.7.0_80]
    at java.util.concurrent.FutureTask.runAndReset(Future Task.java:304) [na:
    1.7.0_80]
    at java.util.concurrent.ScheduledThreadPoolExecutor$S cheduledFutureTask.
    access$301(ScheduledThreadPoolExecutor.java:178) [na:1.7.0_80]
    at java.util.concurrent.ScheduledThreadPoolExecutor$S cheduledFutureTask.
    run(ScheduledThreadPoolExecutor.java:293) [na:1.7.0_80]
    at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.
    java:1145) [na:1.7.0_80]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor
    .java:615) [na:1.7.0_80]
    at java.lang.Thread.run(Thread.java:745) [na:1.7.0_80]
    Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsExce ption: Communicatio
    ns link failure

    The last packet successfully received from the server was 177а871 milliseconds a
    go. The last packet sent successfully to the server was 0 milliseconds ago.
    at sun.reflect.GeneratedConstructorAccessor449.newIns tance(Unknown Sourc
    e) ~[na:na]
    at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingC
    onstructorAccessorImpl.java:45) ~[na:1.7.0_80]
    at java.lang.reflect.Constructor.newInstance(Construc tor.java:526) ~[na:
    1.7.0_80]
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:37 7) ~[mysql-connecto
    r-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.SQLError.createCommunicationsExcept ion(SQLError.java:1
    036) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO. java:3427) ~[mysql-
    connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO. java:3327) ~[mysql-
    connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:3814) ~[mysql-co
    nnector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:24 35) ~[mysql-connect
    or-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java :2582) ~[mysql-conn
    ector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm pl.java:2526) ~[mys
    ql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm pl.java:2484) ~[mys
    ql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.StatementImpl.executeQuery(Statemen tImpl.java:1446) ~[
    mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.ConnectionImpl.isReadOnly(Connectio nImpl.java:3597) ~[
    mysql-connector-java-5.1.33.jar:5.1.33]
    ... 17 common frames omitted
    Caused by: java.net.SocketException: Software caused connection abort: recv fail
    ed
    at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.7.0_80]
    at java.net.SocketInputStream.read(SocketInputStream. java:152) ~[na:1.7.
    0_80]
    at java.net.SocketInputStream.read(SocketInputStream. java:122) ~[na:1.7.
    0_80]
    at com.mysql.jdbc.util.ReadAheadInputStream.fill(Read AheadInputStream.ja
    va:100) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.util.ReadAheadInputStream.readFromU nderlyingStreamIfNe
    cessary(ReadAheadInputStream.java:143) ~[mysql-connector-java-5.1.33.jar:5.1.33]

    at com.mysql.jdbc.util.ReadAheadInputStream.read(Read AheadInputStream.ja
    va:173) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2911 ) ~[mysql-connector
    -java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO. java:3337) ~[mysql-
    connector-java-5.1.33.jar:5.1.33]
    ... 25 common frames omitted
    20:08:44.022 INFO [pool-2-thread-5]: - [SurveyController] update task start.
    20:08:44.024 ERROR[pool-2-thread-5]: - Database access problem. Killing off all
    remaining connections in the connection pool. SQL State = 08S01
    20:08:44.033 WARN [pool-2-thread-5]: - getAllNew() from DB: The last packet succ
    essfully received from the server was 353а612 milliseconds ago. The last packet
    sent successfully to the server was 353а613 milliseconds ago. is longer than th
    e server configured value of 'wait_timeout'. You should consider either expiring
    and/or testing connection validity before use in your application, increasing t
    he server configured values for client timeouts, or using the Connector/J connec
    tion property 'autoReconnect=true' to avoid this problem.
    com.mysql.jdbc.exceptions.jdbc4.CommunicationsExce ption: The last packet success
    fully received from the server was 353а612 milliseconds ago. The last packet se
    nt successfully to the server was 353а613 milliseconds ago. is longer than the s
    erver configured value of 'wait_timeout'. You should consider either expiring an
    d/or testing connection validity before use in your application, increasing the
    server configured values for client timeouts, or using the Connector/J connectio
    n property 'autoReconnect=true' to avoid this problem.
    at sun.reflect.GeneratedConstructorAccessor449.newIns tance(Unknown Sourc
    e) ~[na:na]
    at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingC
    onstructorAccessorImpl.java:45) ~[na:1.7.0_80]
    at java.lang.reflect.Constructor.newInstance(Construc tor.java:526) ~[na:
    1.7.0_80]
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:37 7) ~[mysql-connecto
    r-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.SQLError.createCommunicationsExcept ion(SQLError.java:1
    036) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3661) ~[mysql-connector-java
    -5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:24 17) ~[mysql-connect
    or-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java :2582) ~[mysql-conn
    ector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm pl.java:2530) ~[mys
    ql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.PreparedStatement.executeInternal(P reparedStatement.ja
    va:1907) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.PreparedStatement.executeQuery(Prep aredStatement.java:
    2030) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.jolbox.bonecp.PreparedStatementHandle.executeQ uery(PreparedStatem
    entHandle.java:172) ~[bonecp-0.7.1.RELEASE.jar:0.7.1.RELEASE]
    at mysql5.MySQL5SurveyControllerDAO.getAllNew(MySQL5S urveyControllerDAO.
    java]:55) ~[na:na]
    at com.aionemu.gameserver.services.SurveyService.task Update(Unknown Sour
    ce) [AL-Game.jar:na]
    at com.aionemu.gameserver.services.SurveyService$Task Update.run(Unknown
    Source) [AL-Game.jar:na]
    at com.aionemu.commons.utils.concurrent.ExecuteWrappe r.execute(ExecuteWr
    apper.java:48) [al-commons.jar:na]
    at com.aionemu.commons.utils.concurrent.RunnableWrapp er.run(RunnableWrap
    per.java:40) [al-commons.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.cal l(Executors.java:47
    1) [na:1.7.0_80]
    at java.util.concurrent.FutureTask.runAndReset(Future Task.java:304) [na:
    1.7.0_80]
    at java.util.concurrent.ScheduledThreadPoolExecutor$S cheduledFutureTask.
    access$301(ScheduledThreadPoolExecutor.java:178) [na:1.7.0_80]
    at java.util.concurrent.ScheduledThreadPoolExecutor$S cheduledFutureTask.
    run(ScheduledThreadPoolExecutor.java:293) [na:1.7.0_80]
    at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.
    java:1145) [na:1.7.0_80]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor
    .java:615) [na:1.7.0_80]
    at java.lang.Thread.run(Thread.java:745) [na:1.7.0_80]
    Caused by: java.net.SocketException: Software caused connection abort: socket wr
    ite error
    at java.net.SocketOutputStream.socketWrite0(Native Method) ~[na:1.7.0_80
    ]
    at java.net.SocketOutputStream.socketWrite(SocketOutp utStream.java:113)
    ~[na:1.7.0_80]
    at java.net.SocketOutputStream.write(SocketOutputStre am.java:159) ~[na:1
    .7.0_80]
    at java.io.BufferedOutputStream.flushBuffer(BufferedO utputStream.java:82
    ) ~[na:1.7.0_80]
    at java.io.BufferedOutputStream.flush(BufferedOutputS tream.java:140) ~[n
    a:1.7.0_80]
    at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3643) ~[mysql-connector-java
    -5.1.33.jar:5.1.33]
    ... 18 common frames omitted
    20:09:49.956 INFO [pool-2-thread-7]: - Sending current game time to all players
    20:09:49.956 INFO [pool-2-thread-7]: - Game time saved...
    20:09:49.997 ERROR[pool-2-thread-7]: - Error storing server time
    java.sql.SQLException: Could not retrieve transation read-only status server
    at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:996) ~[mysql
    -connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:935) ~[mysql
    -connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:924) ~[mysql
    -connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:870) ~[mysql
    -connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:902) ~[mysql
    -connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:892) ~[mysql
    -connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.ConnectionImpl.isReadOnly(Connectio nImpl.java:3603) ~[
    mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.ConnectionImpl.isReadOnly(Connectio nImpl.java:3572) ~[
    mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.PreparedStatement.executeUpdate(Pre paredStatement.java
    :2107) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.PreparedStatement.executeUpdate(Pre paredStatement.java
    :2077) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.PreparedStatement.executeUpdate(Pre paredStatement.java
    :2062) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.jolbox.bonecp.PreparedStatementHandle.executeU pdate(PreparedState
    mentHandle.java:203) ~[bonecp-0.7.1.RELEASE.jar:0.7.1.RELEASE]
    at mysql5.MySQL5ServerVariablesDAO.store(MySQL5Server VariablesDAO.java]:
    67) ~[na:na]
    at com.aionemu.gameserver.utils.gametime.GameTimeMana ger.saveTime(Unknow
    n Source) [AL-Game.jar:na]
    at com.aionemu.gameserver.services.GameTimeService$1. run(Unknown Source)
    [AL-Game.jar:na]
    at com.aionemu.commons.utils.concurrent.ExecuteWrappe r.execute(ExecuteWr
    apper.java:48) [al-commons.jar:na]
    at com.aionemu.commons.utils.concurrent.RunnableWrapp er.run(RunnableWrap
    per.java:40) [al-commons.jar:na]
    at java.util.concurrent.Executors$RunnableAdapter.cal l(Executors.java:47
    1) [na:1.7.0_80]
    at java.util.concurrent.FutureTask.runAndReset(Future Task.java:304) [na:
    1.7.0_80]
    at java.util.concurrent.ScheduledThreadPoolExecutor$S cheduledFutureTask.
    access$301(ScheduledThreadPoolExecutor.java:178) [na:1.7.0_80]
    at java.util.concurrent.ScheduledThreadPoolExecutor$S cheduledFutureTask.
    run(ScheduledThreadPoolExecutor.java:293) [na:1.7.0_80]
    at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.
    java:1145) [na:1.7.0_80]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor
    .java:615) [na:1.7.0_80]
    at java.lang.Thread.run(Thread.java:745) [na:1.7.0_80]
    Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsExce ption: Communicatio
    ns link failure

    The last packet successfully received from the server was 65а788 milliseconds ag
    o. The last packet sent successfully to the server was 1 milliseconds ago.
    at sun.reflect.GeneratedConstructorAccessor449.newIns tance(Unknown Sourc
    e) ~[na:na]
    at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingC
    onstructorAccessorImpl.java:45) ~[na:1.7.0_80]
    at java.lang.reflect.Constructor.newInstance(Construc tor.java:526) ~[na:
    1.7.0_80]
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:37 7) ~[mysql-connecto
    r-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.SQLError.createCommunicationsExcept ion(SQLError.java:1
    036) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO. java:3427) ~[mysql-
    connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO. java:3327) ~[mysql-
    connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:3814) ~[mysql-co
    nnector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:24 35) ~[mysql-connect
    or-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java :2582) ~[mysql-conn
    ector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm pl.java:2526) ~[mys
    ql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm pl.java:2484) ~[mys
    ql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.StatementImpl.executeQuery(Statemen tImpl.java:1446) ~[
    mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.ConnectionImpl.isReadOnly(Connectio nImpl.java:3597) ~[
    mysql-connector-java-5.1.33.jar:5.1.33]
    ... 17 common frames omitted
    Caused by: java.net.SocketException: Software caused connection abort: recv fail
    ed
    at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.7.0_80]
    at java.net.SocketInputStream.read(SocketInputStream. java:152) ~[na:1.7.
    0_80]
    at java.net.SocketInputStream.read(SocketInputStream. java:122) ~[na:1.7.
    0_80]
    at com.mysql.jdbc.util.ReadAheadInputStream.fill(Read AheadInputStream.ja
    va:100) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.util.ReadAheadInputStream.readFromU nderlyingStreamIfNe
    cessary(ReadAheadInputStream.java:143) ~[mysql-connector-java-5.1.33.jar:5.1.33]

    at com.mysql.jdbc.util.ReadAheadInputStream.read(Read AheadInputStream.ja
    va:173) ~[mysql-connector-java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2911 ) ~[mysql-connector
    -java-5.1.33.jar:5.1.33]
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO. java:3337) ~[mysql-
    connector-java-5.1.33.jar:5.1.33]
    ... 25 common frames omitted

    Помогите, пожалуйста, починить игру!
     
  2. Offline

    klubheads Сержант Команда форума Модератор

    2.011
    356
    189
    Кредиты:
    $2.140,45
    Репутация:
    54
    Please login or register to view links, попробуй MySQL 5.5 отдельно поставить.
     
    Koxae нравится это.
  3. TopicStarter Overlay
    Offline

    Koxae Рядовой

    17
    3
    31
    Кредиты:
    $118,00
    Репутация:
    0
    Пробовала (Open Server позволяет включать разные версии мускула, от 5.5 до 5.7). Не помогло. Но я нашла причину. Оказалось, в настройках MySQL interactive_timeout и wait_timeout были со значениями 30. Естественно, геймсервер просто не успевал туду запихать всю информацию. Поставила 28800, и всё починилось.
    Ивините за беспокойство! Спасибо за неравнодушие!
     
    romanz, tilk и klubheads нравится это.