doom2d.org

Главная база плоских морпехов
Текущее время: 15 июл 2025, 10:14

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
СообщениеДобавлено: 14 сен 2024, 13:47 
Не в сети
Принципиально неуничтожаем
Аватара пользователя

Зарегистрирован: 18 окт 2009, 04:01
Сообщения: 7252
Откуда: Владивосток
В списке серверов у некоторых из них вместо пинга может отображаться Н/Д ("нет данных") красным цветом.

Странно, что этот косяк не был записан здесь ранее, так как существует он давно.

Но только сейчас я внезапно заметил шаблон: если на одном IP висит несколько серверов, то отображаться пинг будет только у одного из них. Видимо, проблема в том, что пытаются подключиться к мастерсерверу сразу несколько из них, но получается это только у одного. Исправить должно быть несложно.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 сен 2024, 21:16 
Не в сети

Зарегистрирован: 27 апр 2020, 20:02
Сообщения: 547
Этот пинг ваще бесполезный, там дублируется информация из мастер-сервера, а эти Н/Д у нескольких серверов происходят из-за того что операция неблокирующая и много серверов на одном порте происходит гонка где всегда выигрывает один Альфа сервер, а сообщения от остальных клиентом уже отсекаются потому что порт из сообщения не соответствует порту из мастер сервера
Этот пинг нужно удалить

[сообщение восстановлено автором по памяти вместо затёртого]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 сен 2024, 04:42 
Не в сети
Принципиально неуничтожаем
Аватара пользователя

Зарегистрирован: 18 окт 2009, 04:01
Сообщения: 7252
Откуда: Владивосток
Макс» дублирующуюся в мастер-сервере информацию про карты
Она не дублирующаяся, а просто более точная. Потому что период синхронизации с мастерсервером может быть дольше времени раунда.

Макс» Наверное потому что операции с сокетом не блокирующие, какой-то из серваков каждый раз первым отвечает на пинги, а остальные уже не успевают и отсекаются из-за несовпадения порта в сообщении и указанного в мастер-сервере
Да, я об этом же.

Макс» По-моему можно этот пинг просто удалить, мне кажется что там задержка суммируется и ответ каждого сервера влияет на последующий
Зачем? Для пинга достаточно было бы просто дозваниваться до каждого из хостов единожды, а не по количеству серверов на нём. Но поскольку там и другая информация передаётся, то можно брать просто среднее арифметическое от замеров, не учитывая при этом Н/Д.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 сен 2024, 10:05 
Не в сети

Зарегистрирован: 27 апр 2020, 20:02
Сообщения: 547
Чёрный Думер писал(а):
Макс» дублирующуюся в мастер-сервере информацию про карты
Она не дублирующаяся, а просто более точная. Потому что период синхронизации с мастерсервером может быть дольше времени раунда.

Макс» Наверное потому что операции с сокетом не блокирующие, какой-то из серваков каждый раз первым отвечает на пинги, а остальные уже не успевают и отсекаются из-за несовпадения порта в сообщении и указанного в мастер-сервере
Да, я об этом же.

Макс» По-моему можно этот пинг просто удалить, мне кажется что там задержка суммируется и ответ каждого сервера влияет на последующий
Зачем? Для пинга достаточно было бы просто дозваниваться до каждого из хостов единожды, а не по количеству серверов на нём. Но поскольку там и другая информация передаётся, то можно брать просто среднее арифметическое от замеров, не учитывая при этом Н/Д.

Это, все, конечно весело, но в текущем виде пинг не нужен:

1. Отдельный протокол, которым можно крашнуть как и со стороны клиента, так и сервера
2. Ненастраиваемый порт, ещё и явно нигде не указанный, что может помешать хостерам, и при контексте пробросов портов из, например, контейнера
3. Единственная уникальная информация это кол-во локальных игроков и боты, которую мало того хрен прочитаешь даже если знаешь куда смотреть, так она ещё и всегда по нулям в контексте 99% серверов куда можно подключиться
4. С этой системой можно пакостить: допустим, я добавлю айпишники Надзирателей в белый список и буду показывать им хорошую информацию, а всем заходящим из Гейропы или СШП буду показывать всякие антизападные лозунги вместо названия сервера. Они не будут вам жаловаться, и вы об этом никогда не узнаете


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 сен 2024, 20:23 
Не в сети
Принципиально неуничтожаем
Аватара пользователя

Зарегистрирован: 18 окт 2009, 04:01
Сообщения: 7252
Откуда: Владивосток
Макс писал(а):
2. Ненастраиваемый порт, ещё и явно нигде не указанный, что может помешать хостерам, и при контексте пробросов портов из, например, контейнера
Это да, очень нехорошо. Надо подключаться к единому порту.

Макс писал(а):
4. С этой системой можно пакостить: допустим, я добавлю айпишники Надзирателей в белый список и буду показывать им хорошую информацию, а всем заходящим из Гейропы или СШП буду показывать всякие антизападные лозунги вместо названия сервера.
Название в списке берётся всё же с мастерсервера, насколько я помню, так что не получится.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 сен 2024, 00:24 
Не в сети

Зарегистрирован: 27 апр 2020, 20:02
Сообщения: 547
Чёрный Думер писал(а):
Название в списке берётся всё же с мастерсервера, насколько я помню, так что не получится.

Берется и с сервера: https://repo.or.cz/d2df-sdl.git/blob/HEAD:/src/game/g_netmaster.pas#l1529

Надо удалить этот пинг, добавить в протокол мастера информацию о локальном игроке и ботах, а для задержки в таблице посылать на порт сервака какую-нибудь херню и смотреть ртт пира в енете, этого должно хватить чтоб "на глазок".

Кстати интересно почему 0.667 именно b, как различать его от а?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 сен 2024, 07:11 
Не в сети
Принципиально неуничтожаем
Аватара пользователя

Зарегистрирован: 18 окт 2009, 04:01
Сообщения: 7252
Откуда: Владивосток
Макс писал(а):
Берется и с сервера: https://repo.or.cz/d2df-sdl.git/blob/HE ... .pas#l1529
Забавно, я не знал об этом. Кстати, ссылки на код в git-репозиториях лучше делать на конкретный коммит, а не HEAD.
Вот так: https://repo.or.cz/d2df-sdl.git/blob/8588b7c9:/src/game/g_netmaster.pas#l1529
Иначе они поломаются как только файл изменится.

Макс писал(а):
Надо удалить этот пинг, добавить в протокол мастера информацию о локальном игроке и ботах, а для задержки в таблице посылать на порт сервака какую-нибудь херню и смотреть ртт пира в енете, этого должно хватить чтоб "на глазок".
Но ведь это всё равно потребует подключения через enet_host_connect(), а там уже ENet пинги сам будет слать по собственному протоколу, разве нет?

Макс писал(а):
Кстати интересно почему 0.667 именно b, как различать его от а?
Потому что 'b' это не порядковое обозначение, а лишь сокращение от "beta". А поскольку это не первая релизная версия, то "alpha" для неё не было.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 сен 2024, 18:48 
Не в сети

Зарегистрирован: 27 апр 2020, 20:02
Сообщения: 547
Пусть шлет енет сам, нет смысла дублировать функционал встроенный в него своим кустарным дырявым протоколом, авторам библиотеки виднее

[сообщение восстановлено автором по памяти вместо затёртого]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2024, 16:18 
Не в сети

Зарегистрирован: 27 апр 2020, 20:02
Сообщения: 547
А мастерсервер надо укатить с енета и начать использовать какой-то более
высокоуровненый слой типа HTTP. В текущем мастерсервере кустарный рейт лимитинг
и анти флуд на уровне пакетов, чем мастерсервер очевидно не должен заниматься
и даже задумываться. По быстрому не накидать разного рода скрипты, потому что
енет. Если будет сделан TURN, то там вместе с протоколом пинга у игры будет около
4 разных протоколов, когда можно оставить 1 для игры и 1 для работы с списком
серверов. И без прохода в некоторых вахтерских фаерволлах мастер будет
бесполезен, потому что не пройдет из-за того что он не TCP/443, и как вследствие
дело до TURN даже не дойдет.

Упс, написал наверное не в той теме. Но я не нашел лучшего места, куда это можно
написать.

_________________
Модерация doom2d.org» [В] душе [ты] тупорылый школьник-нарцисс, который
всегда старается самоутвердиться за счёт других


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2024, 16:52 
Не в сети
Принципиально неуничтожаем
Аватара пользователя

Зарегистрирован: 18 окт 2009, 04:01
Сообщения: 7252
Откуда: Владивосток
Макс писал(а):
А мастерсервер надо укатить с енета и начать
использовать какой-то более высокоуровненый
слой типа HTTP. В текущем мастерсервере кустарный
рейт лимитинг и анти флуд на уровне пакетов, чем
мастерсервер очевидно не должен заниматься и даже
задумываться. По быстрому не накидать разного рода
скрипты, потому что енет. Если будет сделан TURN, то там
вместе с протоколом пинга у игры будет около 4 разных
протоколов, когда можно оставить 1 для игры и 1 для
работы с списком серверов. И без прохода в некоторых
вахтерских фаерволлах мастер будет бесполезен,
потому что не пройдет из-за того что он не TCP/443, и как
вследствие дело до TURN даже не дойдет.

Упс, написал наверное не в той теме. Но
я не нашел лучшего места, куда это можно
написать.

Всё по делу.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2024, 17:13 
Не в сети

Зарегистрирован: 27 апр 2020, 20:02
Сообщения: 547
Прошу прощения за узкий текст. Когда мне запретили ставить подписи, я начал писать свои тексты в Emacs, где у меня (для почтовых рассылок) стояло маленькое значение для refill-mode. Вот переформатированное сообщение:
jah: обновил

Чёрный Думер писал(а):
Всё по делу.

Тогда ЗБС


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 мар 2025, 17:14 
Не в сети

Зарегистрирован: 27 апр 2020, 20:02
Сообщения: 547
Есть бомжесервера за NAT'ом, где тебе дают только 20 портов, которые ты никак не контроллируешь. Если сервер легко настроить на эти порты, то порт для пинга ты никак не изменишь!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 мар 2025, 19:01 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 17 окт 2009, 23:43
Сообщения: 7887
Откуда: \\HULK
» А мастерсервер надо укатить с енета и начать использовать какой-то более высокоуровненый слой типа HTTP.
Абсолютно согласен. Это позволит еще и выводить с него инфу на сайте.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


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

Найти:
Перейти:  
doom2d.org, since 2007