Welcome to RUSaCis - эмулятор Interlude

Присоединяйтесь к нам прямо сейчас, чтобы получить доступ ко всем нашим возможностям. После регистрации и входа в систему вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию пользователям - так же приобрести исходный код. Это также быстро, так чего же вы ждете?

Error loading registered gameservers

FerdSNP

Бродяга
Регистрация
1 Дек 2023
Сообщения
13
Реакции
1
Баллы
3
RaCoin
0
Привет, Я тестирую сервисы Google Cloud, виртуальная машина Debian 10. При попытке запустить сервер у меня возникает следующая ошибка в консоли loginserver:
Error connectTimeout 30,000 ms:
[2024-02-08 14:17:28] Error loading registered gameservers.
java.sql.SQLSyntaxErrorException: No connection available within the specified time (option 'connectTimeout': 30,000 ms)
    at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62)
    at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:153)
    at org.mariadb.jdbc.MariaDbPoolDataSource.getConnection(MariaDbPoolDataSource.java:239)
    at net.sf.l2j.commons.pool.ConnectionPool.getConnection(ConnectionPool.java:47)
    at net.sf.l2j.loginserver.data.manager.GameServerManager.loadRegisteredGameServers(GameServerManager.java:89)
    at net.sf.l2j.loginserver.data.manager.GameServerManager.load(GameServerManager.java:50)
    at net.sf.l2j.loginserver.data.manager.GameServerManager.<init>(GameServerManager.java:41)
    at net.sf.l2j.loginserver.data.manager.GameServerManager$SingletonHolder.<clinit>(GameServerManager.java:183)
    at net.sf.l2j.loginserver.data.manager.GameServerManager.getInstance(GameServerManager.java:178)
    at net.sf.l2j.loginserver.LoginServer.<init>(LoginServer.java:64)
    at net.sf.l2j.loginserver.LoginServer.main(LoginServer.java:36)
Caused by: java.sql.SQLSyntaxErrorException: No connection available within the specified time (option 'connectTimeout': 30,000 ms)
    at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62)
    at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:171)
    at org.mariadb.jdbc.internal.util.pool.Pool.getConnection(Pool.java:413)
    at org.mariadb.jdbc.MariaDbPoolDataSource.getConnection(MariaDbPoolDataSource.java:237)
    ... 8 more
На gameserver: [08-02-2024 13:32:17] INFO Подключение к логину по адресу 127.0.0.1:9014. [08-02-2024 13:32:17] INFO Регистрация LoginServer не удалась: Причина: неправильный hexid.
Проблема в том, что я выполнил "RegisterGameServer.sh" и зарегистрировал новый hexid.txt

Ниже приведены мои конфигурации loginserver/gameserver

/root/server/login/config/loginserver.properties:
# Это передается клиентам, поэтому это должнен быть IP или разрешаемое имя хоста
Hostname = localhost

# IP доступности сервера авторизации. Используется символ * для всех адресов.
LoginserverHostname = *
LoginserverPort = 2106

# Хост и порт Loginserver.
LoginHostname = *
LoginPort = 9014

# Количество попыток входа с неверным логином/паролем, после которых IP будет забанен.
LoginTryBeforeBan = 3

# Время бана IP за неправильные данные при входе.
LoginBlockAfterBan = 600

# Могут ли любые игровые сервера регистрироваться в свободные слоты?
AcceptNewGameServer = False

# Включение/отключение показа лицензии при входе.
ShowLicence = True

#=============================================================
#                    Информация о базе данных
#=============================================================
URL = jdbc:mariadb://localhost/RUSaCis?useUnicode=true&characterEncoding=UTF-8
#URL = jdbc:mysql://localhost/RUSaCis?serverTimezone=UTC
#URL = jdbc:hsqldb:hsql://localhost/RUSaCis
#URL = jdbc:sqlserver://localhost/database=RUSaCis/user=sa/password=

Login = mydbuser
Password = mydbpasswd

/root/server/gameserver/config:
# This is transmitted to the clients, so it has to be an IP or resolvable hostname. If this ip is resolvable by Login just leave *
Hostname = my Gcloud VM IP

# Bind ip of the gameserver, use * to bind on all available IPs.
GameserverHostname = *
GameserverPort = 7777

# The Loginserver host and port.
LoginHost = 127.0.0.1
LoginPort = 9014

# This is the server id that the gameserver will request.
RequestServerID = 1

# If set to true, the login will give an other id to the server (if the requested id is already reserved).
AcceptAlternateID = True

# Use Blowfish cipher to encrypt packet data between server and client (by default: True).
# /!\ Don't edit this value and reload config while the server is running. It would lead to all connected clients to become unresponsive (waiting de/crypted packets, but receiving the versus).
UseBlowfishCipher = True

# ================================================================
#                        Database informations
# ================================================================

URL = jdbc:mariadb://localhost/rusacis?useUnicode=true&characterEncoding=UTF-8
#URL = jdbc:mysql://localhost/rusacis?serverTimezone=UTC
#URL = jdbc:hsqldb:hsql://localhost/rusacis
#URL = jdbc:sqlserver://localhost/database=rusacis/user=sa/password=

Login = mydbuser
Password = mydbpasswd


User DB Privileges:
MariaDB [(none)]> SHOW GRANTS FOR 'mydbuser'@'%';
+---------------------------------------------------------------------------------------------------------------+
| Grants for mydbuser@%                                                                                            |
+---------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO `mydbuser`@`%` IDENTIFIED BY PASSWORD 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' |
+---------------------------------------------------------------------------------------------------------------+
1 row in set (0.000 sec)

/etc/mysql/mariadb.conf.d/50-server.cnf:
bind-address            = 0.0.0.0

Я не знаю, какую еще информацию я могу предоставить, чтобы найти корень проблемы.
У кого-нибудь есть представление, в чем может быть проблема?
 

ForceUnleashed

Old school
Команда форума
Leader
Developer
Donator
Customer
Регистрация
21 Авг 2020
Сообщения
769
Решения
1
Реакции
612
Баллы
93
Веб-сайт
rusacis.com
RaCoin
15
Неправильное подключения бд. No connection available within the specified time (option 'connectTimeout': 30,000 ms)
Проверяйте имя бд, пользователя, пароль. (на linux обязательно смотрите на регистр).
 

FerdSNP

Бродяга
Регистрация
1 Дек 2023
Сообщения
13
Реакции
1
Баллы
3
RaCoin
0
Неправильное подключения бд. No connection available within the specified time (option 'connectTimeout': 30,000 ms)
Проверяйте имя бд, пользователя, пароль. (на linux обязательно смотрите на регистр).
По какой-то причине это не работает с Login = mydbuser Password = mydbpasswd Мне пришлось изменить строку базы данных, чтобы это работало Пример: URL = jdbc:mariadb://localhost/rusacis?useUnicode=true&characterEncoding=UTF-8&User=mydbuser&Password=mydbpasswd Как вы думаете, почему это происходит?
 

ForceUnleashed

Old school
Команда форума
Leader
Developer
Donator
Customer
Регистрация
21 Авг 2020
Сообщения
769
Решения
1
Реакции
612
Баллы
93
Веб-сайт
rusacis.com
RaCoin
15
По какой-то причине это не работает с Login = mydbuser Password = mydbpasswd Мне пришлось изменить строку базы данных, чтобы это работало Пример: URL = jdbc:mariadb://localhost/rusacis?useUnicode=true&characterEncoding=UTF-8&User=mydbuser&Password=mydbpasswd Как вы думаете, почему это происходит?
Я не знаю, что у Вас за проблема - я несколько раз ставил сборку на linux, никакой проблемы не было.
Я думаю ваша проблема была в том, что в логин сервере имя бд указано как RUSaCis, а в геймсервере rusacis.
 

FerdSNP

Бродяга
Регистрация
1 Дек 2023
Сообщения
13
Реакции
1
Баллы
3
RaCoin
0
Я не знаю, что у Вас за проблема - я несколько раз ставил сборку на linux, никакой проблемы не было.
Я думаю ваша проблема была в том, что в логин сервере имя бд указано как RUSaCis, а в геймсервере rusacis.
Возможно, потом я попробую все с маленькой буквы (так по умолчанию в конфиге xD) на Windows это не имеет значения, возможно, на Linux есть разница, не уверен :p

Спасибо за всегда внимательное обслуживание :)
 

Сверху Снизу