Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Не пускает на сервер
#1
Всем добра!
Ребят, в общем беда у меня.
Почему-то не заходит дальше выбора сервера.
Что уже только не пытался сделать, ничего не выходит.
Темы которые нахожу, все просто бесполезные.
Где-то говорят решили, а как, ничего не говорят и это плохо.

Я думаю, что я просто что-то не так делаю.
Сборку скачал где-то давно на этом источнике.
Final Rising

loginserver.properties
Код:
#=============================================================
#                         Loginserver
#=============================================================

# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname
ExternalHostname = 127.0.0.1

# This is transmitted to the client from the same network, so it has to be a local IP or resolvable hostname
InternalHostname = 127.0.0.1

# Bind ip of the LoginServer, use * to bind on all available IPs
LoginserverHostname = *
LoginserverPort = 2106

# How many times you can provide an invalid account/pass before the IP gets banned
LoginTryBeforeBan = 10

# Time you won't be able to login back again after LoginTryBeforeBan tries to login. Provide a value in seconds. Default 10min. (600)
LoginBlockAfterBan = 600

# The address on which login will listen for GameServers, use * to bind on all available IPs
LoginHostname = *

# The port on which login will listen for GameServers
LoginPort = 9014

# If set to true any GameServer can register on your login's free slots
AcceptNewGameServer = False

# If false, the licence (after the login) will not be shown
# It is highly recomended for Account Security to leave this option as default (True)
ShowLicence = True

server.properties

Код:
# ================================================================
#                          Gameserver setting
# ================================================================

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

# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname
# If this ip is resolvable by Login just leave *
ExternalHostname = *

# This is transmitted to the client from the same network, so it has to be a local IP or resolvable hostname.
# If this ip is resolvable by Login just leave *
InternalHostname = 127.0.0.1

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

# 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

l2.ini
Код:
[URL]
Protocol=unreal
ProtocolDescription=Unreal Protocol
Name=Player
Map=Index.unr
LocalMap=Entry.unr
Host=
Portal=
MapExt=unr
EXEName=l2.exe
SaveExt=usa
Port=7777
Class=LineageWarrior.MFighter
ServerAddr=127.0.0.1

Доходит до выбора сервера, после ввода логина и пароля, а дальше все глухо.
Проверил в пакете PlayOK - доходит ли, все доходит через обычный Syste.out.println("Все ок!") - выводит норм.
Значит все-же пакет отправляется.
Но что может быть не так?

После входа в логин сервер выдает
LoginController: admin 127.0.0.1 logged.
И появляется выбор сервера и все тут хоть жми, хоть что делай, бесполезно.
Выручайте.
Ответ
#2
Логин-сервер в 4-м ответном пакете возвращает фактические адрес+порт игрового сервера.

Там корректные значения приходят?

На эти адрес+порт удаётся установить подключение через telnet с той же машины, откуда предпринимается попытка в игру зайти?
Ответ
#3
kotelok Написал:Логин-сервер в 4-м ответном пакете возвращает фактические адрес+порт игрового сервера.

Там корректные значения приходят?

На эти адрес+порт удаётся установить подключение через telnet с той же машины, откуда предпринимается попытка в игру зайти?

Спасибо за ответ.

Мне сейчас в login выдало вот такое:

GameServerThread: Incorrect packet checksum, closing connection.

Из-за этого походу и есть проблема?
Как лечить эту ошибку?
Ну почему-то последующие запуски, больше не выводят эту ошибку!
Что вообще за херня происходит?
Полтергейст прям!Smile

По телнету заходит.
К примеру на логин заходишь, там кракозяблы, за место пустого окна:
[Изображение: f5f40de9e5a2.png]

А это сервер:
[Изображение: 8b039a9fae9a.png]
Ответ
#4
Nab Написал:Сборку скачал где-то давно на этом источнике.
Final Rising
Так ведь исходники есть в открытом доступе (вместе со всеми крипто-методами) - запустите в отладке, ну или допишите протоколирование расширенное, и станет понятно в чём именно проблема.
Ответ
#5
kotelok Написал:Так ведь исходники есть в открытом доступе (вместе со всеми крипто-методами) - запустите в отладке, ну или допишите протоколирование расширенное, и станет понятно в чём именно проблема.

Спасибо, что пытаетесь мне помочь, очень ценю вашу помощь, но не могли бы вы подробнее объяснить, что нужно сделать?(
Не очень понимаю, что надо.
Ответ
#6
Nab Написал:подробнее объяснить, что нужно сделать?
Скачиваете исходники. Собираете, запускаете.

Далее находите точку, где выводится ваше сообщение об ошибке, судя по тем исходникам, что есть у меня - это логин-сервер, файл '\loginserver\GameServerThread.java', строка 120 и далее, где вызвается метод 'verifyChecksum' для расшифрованного пакета.

По какой-то причине эта проверка не проходит. Именно с java-сборками дел почти не имел, но судя по коду, это поток, который обрабатывает подключения игрового сервера к логин-серверу. И, похоже, у них какое-то расхождение в понимании протокола. Или же надо им где-то какой-то общий ключ прописать. Не знаю. Но т.к. у вас есть и исходники login-сервера, и исходники игрового сервера, то разобраться будет несложно (даже трафик слушать/расшифровывать не придётся):
1. Сделать в указанном выше файле протоколирование всех пакетов, поступающих от игрового сервера. Сделать аналогичное протоколирование в коде игрового сервера ('gameserver\LoginServerThread.java').
2. Определить, у какого именно пакета логин-сервер видит некорректную чексумму и далее изучить весь обмен данными между логин-сервером и игровым сервером вплоть до этого пакета.

Вероятно, что-то с hexid-ом не так (для java-сервера его нужно как-то правильно сгенерировать и положить в определённое место конфига). Вероятно, где-то в базе данных логин/гейм-сервера есть таблицы конфигурации, в которые нужно прописать согласованные данные для логин и гейм-сервера.

* на PTS-сборке, например, в базе 'lin2db' есть таблица 'server', откуда логин-сервер забирает информацию о доступных серверах (внешний/внутренний адрес, ip:порт и прочеее), в базе java-сборки сходу вижу таблицу 'gameservers' с полями 'server_id', 'hexid', 'host'.
Ответ
#7
kotelok Написал:Скачиваете исходники. Собираете, запускаете.

Далее находите точку, где выводится ваше сообщение об ошибке, судя по тем исходникам, что есть у меня - это логин-сервер, файл '\loginserver\GameServerThread.java', строка 120 и далее, где вызвается метод 'verifyChecksum' для расшифрованного пакета.

По какой-то причине эта проверка не проходит. Именно с java-сборками дел почти не имел, но судя по коду, это поток, который обрабатывает подключения игрового сервера к логин-серверу. И, похоже, у них какое-то расхождение в понимании протокола. Или же надо им где-то какой-то общий ключ прописать. Не знаю. Но т.к. у вас есть и исходники login-сервера, и исходники игрового сервера, то разобраться будет несложно (даже трафик слушать/расшифровывать не придётся):
1. Сделать в указанном выше файле протоколирование всех пакетов, поступающих от игрового сервера. Сделать аналогичное протоколирование в коде игрового сервера ('gameserver\LoginServerThread.java').
2. Определить, у какого именно пакета логин-сервер видит некорректную чексумму и далее изучить весь обмен данными между логин-сервером и игровым сервером вплоть до этого пакета.

Вероятно, что-то с hexid-ом не так (для java-сервера его нужно как-то правильно сгенерировать и положить в определённое место конфига). Вероятно, где-то в базе данных логин/гейм-сервера есть таблицы конфигурации, в которые нужно прописать согласованные данные для логин и гейм-сервера.

* на PTS-сборке, например, в базе 'lin2db' есть таблица 'server', откуда логин-сервер забирает информацию о доступных серверах (внешний/внутренний адрес, ip:порт и прочеее), в базе java-сборки сходу вижу таблицу 'gameservers' с полями 'server_id', 'hexid', 'host'.

Hexid тут не при причем.
Если бы был hexid, то регистрации сервера бы не было.
Ну все равно спасибо, ты гений =)
Я включил дебагер и как посыпалось, проблема найдена.
Вся проблема в том, что до этого там переписывали базу данных и понаделали ошибок, но почему сервер молчал, без включенных опций:

Код:
Debug = True
Developer = True
PacketHandlerDebug = True
ReserveHostOnLogin = True

Непонятно.
Ну да ладно, главное разобрался =)
Ответ
#8
Nab Написал:но почему сервер молчал, без включенных опций:
Код:
Debug = True
Developer = True
PacketHandlerDebug = True
ReserveHostOnLogin = True
Непонятно.
Потому что столь детальное протоколирование сказывается на производительности. А значит разумно включать его явным образом только в случае возникновения реальных проблем.
Ответ
#9
kotelok Написал:Потому что столь детальное протоколирование сказывается на производительности. А значит разумно включать его явным образом только в случае возникновения реальных проблем.
Есть же еще добрые люди =)
Спасибо тебе еще раз!Smile
Хоть кто-то помогает.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Русский Никнейм PTS Сервер! Kenrix 6 3,632 11-26-2023, 09:32 AM
Последний пост: ОргазмО
  где сервер гранит файлы ява? doloto777 3 1,439 04-15-2023, 11:44 AM
Последний пост: gorodetskiy
  Требуется Тех. Администратор на сервер Interlude/High Five! sfmusic 1 1,318 03-15-2023, 01:11 PM
Последний пост: Adamheers
  Требуется Тех. Администратор на сервер essence (mobius) sfmusic 0 983 03-06-2023, 05:26 PM
Последний пост: sfmusic
  Ищу опытного рекламщика чтобы совместно держать готовый сервер Донат - 50 на 50.- xevilx 3 1,724 08-25-2021, 10:09 PM
Последний пост: Lord_Gothic
  Сервер lineage 2 chronicle 1 harbingers of war на node.js space2pacman 3 3,002 02-26-2020, 08:42 AM
Последний пост: space2pacman
  Не пускает дальше в логин сервер Kennedy 2 2,034 12-26-2018, 11:22 PM
Последний пост: n3k0nation
  Инвестиции в сервер DeverGenT 7 3,273 06-13-2018, 03:36 AM
Последний пост: Shell
  Ищу сервер L2 C4 StepanAMK 1 1,651 04-04-2018, 02:18 AM
Последний пост: StepanAMK
  Падает логин сервер CKREPKA 3 1,606 01-28-2018, 06:49 PM
Последний пост: n3k0nation

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)