doom2d.org

Главная база плоских морпехов
It is currently 06 Oct 2024, 17:25

All times are UTC + 3 hours




Post new topic Reply to topic  [ 11 posts ] 
Author Message
PostPosted: 14 Sep 2024, 13:47 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6822
Location: Владивосток
В списке серверов у некоторых из них вместо пинга может отображаться Н/Д ("нет данных") красным цветом.

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

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

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


Top
 Profile  
 
PostPosted: 14 Sep 2024, 21:16 
Offline
User avatar

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

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

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


Top
 Profile  
 
PostPosted: 15 Sep 2024, 04:42 
Offline
Принципиально неуничтожаем
User avatar

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

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

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

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


Top
 Profile  
 
PostPosted: 15 Sep 2024, 10:05 
Offline
User avatar

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

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

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

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

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

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


Top
 Profile  
 
PostPosted: 15 Sep 2024, 20:23 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6822
Location: Владивосток
Макс wrote:
2. Ненастраиваемый порт, ещё и явно нигде не указанный, что может помешать хостерам, и при контексте пробросов портов из, например, контейнера
Это да, очень нехорошо. Надо подключаться к единому порту.

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

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


Top
 Profile  
 
PostPosted: 16 Sep 2024, 00:24 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 317
Чёрный Думер wrote:
Название в списке берётся всё же с мастерсервера, насколько я помню, так что не получится.

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

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

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

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


Top
 Profile  
 
PostPosted: 16 Sep 2024, 07:11 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6822
Location: Владивосток
Макс wrote:
Берется и с сервера: 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
Иначе они поломаются как только файл изменится.

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

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

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


Top
 Profile  
 
PostPosted: 16 Sep 2024, 18:48 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 317
Пусть шлет енет сам, нет смысла дублировать функционал встроенный в него своим кустарным дырявым протоколом, авторам библиотеки виднее

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

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


Top
 Profile  
 
PostPosted: 23 Sep 2024, 16:18 
Offline
User avatar

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

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

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


Top
 Profile  
 
PostPosted: 23 Sep 2024, 16:52 
Offline
Принципиально неуничтожаем
User avatar

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

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

Всё по делу.

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


Top
 Profile  
 
PostPosted: 23 Sep 2024, 17:13 
Offline
User avatar

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

Чёрный Думер wrote:
Всё по делу.

Тогда ЗБС


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
doom2d.org, since 2007