Не пускает на сервер - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Описание темы:Надеюсь решить проблему и чтобы это осталось тут

Ответ
Опции темы
Непрочитано 25.01.2022, 10:24   #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.
И появляется выбор сервера и все тут хоть жми, хоть что делай, бесполезно.
Выручайте.
Nab вне форума Ответить с цитированием
Непрочитано 26.01.2022, 15:41   #2
Пользователь

По умолчанию Re: Не пускает на сервер

Логин-сервер в 4-м ответном пакете возвращает фактические адрес+порт игрового сервера.

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

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

Автор темы (Топик Стартер) Re: Не пускает на сервер

Цитата:
Сообщение от kotelok Посмотреть сообщение
Логин-сервер в 4-м ответном пакете возвращает фактические адрес+порт игрового сервера.

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

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

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

GameServerThread: Incorrect packet checksum, closing connection.

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

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


А это сервер:
Nab вне форума Ответить с цитированием
Непрочитано 31.01.2022, 14:56   #4
Пользователь

По умолчанию Re: Не пускает на сервер

Цитата:
Сообщение от Nab Посмотреть сообщение
Сборку скачал где-то давно на этом источнике.
Final Rising
Так ведь исходники есть в открытом доступе (вместе со всеми крипто-методами) - запустите в отладке, ну или допишите протоколирование расширенное, и станет понятно в чём именно проблема.
kotelok вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 31.01.2022, 20:43   #5
Пользователь

Автор темы (Топик Стартер) Re: Не пускает на сервер

Цитата:
Сообщение от kotelok Посмотреть сообщение
Так ведь исходники есть в открытом доступе (вместе со всеми крипто-методами) - запустите в отладке, ну или допишите протоколирование расширенное, и станет понятно в чём именно проблема.
Спасибо, что пытаетесь мне помочь, очень ценю вашу помощь, но не могли бы вы подробнее объяснить, что нужно сделать?(
Не очень понимаю, что надо.
Nab вне форума Ответить с цитированием
Непрочитано 31.01.2022, 23:14   #6
Пользователь

По умолчанию Re: Не пускает на сервер

Цитата:
Сообщение от 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'.
kotelok вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 01.02.2022, 08:48   #7
Пользователь

Автор темы (Топик Стартер) Re: Не пускает на сервер

Цитата:
Сообщение от 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
Непонятно.
Ну да ладно, главное разобрался =)
Nab вне форума Ответить с цитированием
Непрочитано 01.02.2022, 10:25   #8
Пользователь

По умолчанию Re: Не пускает на сервер

Цитата:
Сообщение от Nab Посмотреть сообщение
но почему сервер молчал, без включенных опций:
Код:
Debug = True
Developer = True
PacketHandlerDebug = True
ReserveHostOnLogin = True
Непонятно.
Потому что столь детальное протоколирование сказывается на производительности. А значит разумно включать его явным образом только в случае возникновения реальных проблем.
kotelok вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 01.02.2022, 12:01   #9
Пользователь

Автор темы (Топик Стартер) Re: Не пускает на сервер

Цитата:
Сообщение от kotelok Посмотреть сообщение
Потому что столь детальное протоколирование сказывается на производительности. А значит разумно включать его явным образом только в случае возникновения реальных проблем.
Есть же еще добрые люди =)
Спасибо тебе еще раз!
Хоть кто-то помогает.
Nab вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не пускает на сервер MDobrih Lineage II 4 12.01.2015 22:52
Не пускает на сервер Auri Lineage II 5 28.03.2012 14:11
Не пускает на сервер lolpwnz Lineage II 3 28.02.2011 13:31
Не пускает на сервер. alendelonio Серверная часть 14 06.02.2010 12:04
Не пускает на сервер Velant World of WarCraft 0 04.03.2009 12:35


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 03:07. Часовой пояс GMT +3.

Вверх