Перейти к содержанию
Авторизация  
Crypt

Игровой клиент, вводим данные (username/pwd) в итоге только с 3-5 попытки заходим в игру. Причина?

Рекомендуемые сообщения

Собственно такая вот проблема, на локальной машине ее не было и нету. А вот на VPS зайти получается только при следующей манипуляции, вводим: username + password нажимаем CAPS(вкл+выкл), получаем ошибку "The username and password do not match..." и так до 3й попытки, на третьей клиент решает оказать услугу и таки впустить. Если не использовать прием с капсом, будет всегда писать "The username and password do not match..." и не впускать. А после 3й или 4й попытки закроет клиент.

 

Есть идеи?

 

Клиент IO, 28 протокол. Вот пытаюсь понять, это на стороне сервера или игрового клиента нужно решать.

Изменено пользователем Crypt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собственно такая вот проблема, на локальной машине ее не было и нету. А вот на VPS зайти получается только при следующей манипуляции, вводим: username + password нажимаем CAPS(вкл+выкл), получаем ошибку "The username and password do not match..." и так до 3й попытки, на третьей клиент решает оказать услугу и таки впустить. Если не использовать прием с капсом, будет всегда писать "The username and password do not match..." и не впускать. А после 3й или 4й попытки закроет клиент.

 

Есть идеи?

 

Клиент IO, 28 протокол. Вот пытаюсь понять, это на стороне сервера или игрового клиента нужно решать.

maxDbconnections проверь как вариант.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так, по тому что было и на что поменял:

 

URL = jdbc:mysql://localhost/dbname?useUnicode=true&characterEncoding=utf-8 на URL = jdbc:mysql://localhost/dbname (на всякий)

MaximumDbConnections = 500 заменил на 100 (gs)

MaximumDbConnections = 50 заменил на 10 (ls)

 

Что могу сказать, ничего не поменялось. Единственное, механику с капсом можно убрать. Т.е авторизоваться получается как и раньше, на третий раз после ввода без использования капса. Капс судя по всему, я просто сам уже выдумал.

Изменено пользователем Crypt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот лог:

The last packet successfully received from the server was 63,808 milliseconds ago.  The last packet sent successfully to the server was 1 milliseconds ago.
	at sun.reflect.GeneratedConstructorAccessor8.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
	at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:981)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3465)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3365)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3805)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
	at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1962)
	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:353)
	at com.l2.loginserver.LoginController.retriveAccountInfo(LoginController.java:224)
	at com.l2.loginserver.LoginController.retriveAccountInfo(LoginController.java:170)
	at com.l2.loginserver.network.clientpackets.RequestAuthLogin.run(RequestAuthLogin.java:144)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
	at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2957)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3375)
	... 14 more

[26/02 14:58:36] Exception while retriving account info for 'bobby'!
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 429,618 milliseconds ago.  The last packet sent successfully to the server was 0 milliseconds ago.
	at sun.reflect.GeneratedConstructorAccessor8.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
	at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:981)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3465)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3365)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3805)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
	at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1962)
	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:353)
	at com.l2.loginserver.LoginController.retriveAccountInfo(LoginController.java:224)
	at com.l2.loginserver.LoginController.retriveAccountInfo(LoginController.java:170)
	at com.l2.loginserver.network.clientpackets.RequestAuthLogin.run(RequestAuthLogin.java:144)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
	at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2957)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3375)
	... 14 more

[26/02 14:58:39] Exception while auto creating account for 'bobby'!
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 569,967 milliseconds ago.  The last packet sent successfully to the server was 0 milliseconds ago.
	at sun.reflect.GeneratedConstructorAccessor8.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
	at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:981)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3465)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3365)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3805)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1192)
	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute(NewProxyPreparedStatement.java:67)
	at com.l2.loginserver.LoginController.retriveAccountInfo(LoginController.java:262)
	at com.l2.loginserver.LoginController.retriveAccountInfo(LoginController.java:170)
	at com.l2.loginserver.network.clientpackets.RequestAuthLogin.run(RequestAuthLogin.java:144)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
	at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2957)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3375)
	... 14 more

[26/02 14:58:42] Auto created account 'bobby'.

В нем видно, что первые 2е попытки заканчиваются неудачей, однако третья проходит успешно. Так происходит каждый раз.

Изменено пользователем Crypt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ищите что блокирует тот или инной порт.

максДбконн нужно глянуть в параметрах мускула,а не сборки.

Изменено пользователем kosss
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конфиг выглядит так:

[mysqld_safe]
innodb_buffer_pool_size=2M
innodb_additional_mem_pool_size=500K
innodb_log_buffer_size=500K
innodb_thread_concurrency=2

[mysqld]
local-infile=0
datadir=/var/lib/mysql
user=mysql
symbolic-links=0

max_connections = 100
wait_timeout = 60
query-cache-type = 1
query-cache-size = 8M
query_cache_limit = 2M
thread_cache_size = 8
tmp_table_size = 16M
max_heap_table_size = 16M
join_buffer_size = 1M
table_open_cache = 64

port		= 3306
socket		= /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M







innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
innodb_log_buffer_size = 8M

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

max_connections = 100 попробуй поставить 10к

Что то как то жестко, ну для теста сойдет я думаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Никаких изменений не дало. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Никаких изменений не дало. 

есть спец.ПО,которое можно подкл к клииенту и смотреть куда идут пакеты,это в гугл.

включи дебаг и тд.

была проблема на груте,решилась заменой лс-а.

посмотри что обрабатывает поток.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

есть спец.ПО,которое можно подкл к клииенту и смотреть куда идут пакеты,это в гугл.

включи дебаг и тд.

была проблема на груте,решилась заменой лс-а.

посмотри что обрабатывает поток.

как вариант http://www.mchange.com/projects/c3p0/#configuring_to_debug_and_workaround_broken_clients.

как вариант 2 настроить reconnect

как вариант 3(Communications link failure)отключить ipV6

либо посмотрите какую версию беблиотеки для работы с mysql использует сервер.

обновите\откатите ее.

Изменено пользователем kosss
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Корень проблемы кроется в GC overhead limit exceeded, это я теперь вижу в логах. 

 

Но штука в том, что: 

 

Memory Usage
Resource   Used   Free Total green_16.gifMemory 1 GB m5.gif 51% 1,003.5 MB 2 GB
Изменено пользователем Crypt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да мало, согласен. Уже это понял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...