Статус Light и пинг 9999.

Menma

Знаменитый
Участник
Старожил I степени
Сообщения
99
Розыгрыши
0
Решения
1
Репутация
41
Реакции
40
Баллы
1 278
Хроники
  1. Interlude
Исходники
Присутствуют
Сборка
acis
Здраствуйте, столкнулась с такой проблемой. Когда запускаю сервер на локальной машине 127.0.0.1 все прекрасно работает и заходит. Попыталась запустить на другой машине, у нее адрес 192.168.1.65. Логин пропускает до выбора сервера, сервер горит синим и статус у него Light но пинг 9999 и при попытке на него зайти ничего не происходит, в консоль так же ничего не выводится. Не могу понять, в чем может быть проблема.
 
Внутри локальной сети не нужен проброс, только открыть порты на машине и все. Судя из того что я вижу, недостаточно Озу для работы сервера.
 

Так вот и я о том же думаю. Порты в брандмауэре открыла естественно.
Первый раз с такой глупостью сталкиваюсь, что на локалхосте все прекрасно работает, а на соседней машине не пускает.
 
Так вот и я о том же думаю. Порты в брандмауэре открыла естественно.
Первый раз с такой глупостью сталкиваюсь, что на локалхосте все прекрасно работает, а на соседней машине не пускает.
Вас логин пускает, а гейму не хватает памяти.
 
Если что, сборку ковыряю вот эту RusACIS
 
С ацисом дел не имел, там где у Вас hostname = ip машины, Internal = 127.0.0.1. На роутере забронируйте dhcp за конкретной машиной. Должно все работать
Сделала, ничего не помогает.
 
Папку logs в архив и сюда или лс.
 
вы сервер в локалке поднять хотите или на внешку?
 
Я уже и в ядре порылась, никакой привязки не нашла. Не понимаю, в чем проблема.
 
Давайте проясним.
Вы хотите запустить сервер внутри локалки или чтобы сервер был виден в интернете?
 
Да хоть так, хоть так. Он никак не виден кроме localhost. Я и с локальным айпи пробовала и со внешним. 999 ping и все.
 
Дело в том что 198 это айпи внутренний. Тот что вы указывали в сообщении, по сему я и подумал, что вы запускаете внутри локальной сети. Нужно больше входных данных, ибо чем дальше в лес тем больше ягодиц. Для начала папку логс для понимания ситуации с сервером.
 
Дело в том что 198 это айпи внутренний. Тот что вы указывали в сообщении, по сему я и подумал, что вы запускаете внутри локальной сети. Нужно больше входных данных, ибо чем дальше в лес тем больше ягодиц. Для начала папку логс для понимания ситуации с сервером.
Всё дело может быть в схеме сети
Если схема Интернет -> Роутер -> Сервер

тогда имеет можно листенить в т.ч. и на внутренний IP, т.к. трафик при форвардинге один черт попадет куда следует, но конечно лучше на нули, дешево и сердито


Что хочу посоветовать ТС - так это просто продебажить соединение по 7777 порту - самое просто tcpdump, или netstat в момент подключения (к гейму), в винде еще есть штука, называется "Монитор ресурсов", по которому так же можно глянуть, что подключение улетает куда следует.

p.s. в мониторе ресурсов вкладка "Сеть", меню "TCP-подключения".

Цель сего действия - убедиться, что подключение улетает куда следует (т.е. туда же куда и логин).
 
Посмотрела через мониторинг ресурсов. От логина соединение идет правильно, на 192.168.1.65 2106, а вот на гейм почему то соединение идет на петлевой адрес в ipv4 7777.

Это я так понимаю логинсервер мне возвращает геймсервер на локалхосте?
 
я вам дал дискорд, а вы не отвечаете.
 
Проблема решена. Решила методом замены этой строки в классе \java\net\sf\l2j\loginserver\network\serverpackets\ServerList

Код:
final String hostName = (isLocalIp(account.getClientIp()) && gsi.getGameServerThread() != null) ? gsi.getGameServerThread().getConnectionIp() : gsi.getHostName();

На эту

Код:
final String hostName = gsi.getHostName();

Всем спасибо за помощь.
 
Назад
Сверху Снизу