Цитата(Juzzver @ 24.8.2021, 6:46)

В уо можно сказать есть свой внутренний пинг, который таки напрямую зависит от скорости обработки игровой логики. Это видно через внутренний пинг, через пакеты сервера, что можно проверить разором/стимом, и т.д., где разбег может быть сумасшедшим от 20мс до 500 и 1000. Так что один лишь переход на .net 5 - уже оказывает существенное влияние.
Все что выше 1 мс, это уже лаги сервера и кривой код в скриптах/ядре, потому что в ранке нету ограничения по тикрейту или чего-нить подобного, ограничевающего работу ядра. Если пришёл пакет, его кидает в очередь для обработки и сразу срабатывает мейн тред ядра для его обработки + заодно таймеры и все остальное, что там ещё есть, обрабатывается. Ты, скорее всего, нашёл какой-то корнер кейс со Стимом/Разором. Какие именно пакеты ты спамил? Что-то связанное с текстом? В ранке был/есть кусок говнокода, который мы ещё на УОРПГ фиксили. Там 1 игрок на Стиме мог тупо заставить сервер лагать, это при том что там есть система троттлинга пакетов, которая нихера не работает, судя по всему )) А фикс был очень простым. Когда приходил определенный пакет, от которого лагало, смотрели сколько таких пакетов с текстом пришло от текущего нетстейта за послехних Х мс и если их было слишком много, тупо не обрабатывали его. Просто свой, очень простой троттлинг сделали. Его Вап вроде делал, если не ошибаюсь.
Так что в целом, при таком высоком внутреннем пинге, больше решают точечные фиксы кода ранки, для этого не нужно сразу весь фреймворк менять. Да, нет5 он лучше и пошустрее, но на .NET Framework уже много лет дофига огромных аппликаций работает и он не сильно хуже в целом. Там в основном просто натягивание совы на глобус и маркетинг. Наделали бенчмарков для отдельных элементов, которые являются мега корнер кейсами и вообще ничего общего с реальностью не имеют. Что-то вроде итерирования по списка с 1кк записей ( там такого нету, но почти все бенчмарки у них такого типа ) и в итоге у них там получается +30% прирост, лол. А в реальном мире такого никогда не будет, по крайней мере точно не в контексте УО сервера. А потом давай бложики пилить, а кое-кто начитался и теперь папугайничает тут у нас, вместо того что бы своей головой думать. Да, там однозначно хорошо оптимизировали стек для asp.net, так что теперь любой нюбас, создавший веб аппликацию на asp.net core из темплейта сможет на Х тысяч больше CCU обслуживать на том же самом железе. Но в контексте УО сервера вся эта оптимизация мало что решает, если там куча других, куда более критических дыр, в самом коде сервера.
Цитата(Juzzver @ 24.8.2021, 6:46)

Про tcp оптимизации не знаю, но уверен что таки имеет место быть на уровне тех же вызовов по стеку, но визуально это будет видно слабо в контексте уо сервера.
Для этого делают бенчмарки, о чем я сразу и начал говорить. Батман почему-то на заморачивался сделать бенчмарки, что бы иметь хоть какие-то обьективные данные, но зато перелопатил кучу кода. Вот это меня сильно смущает. Смысл оптимизировать, если ты не знаешь какой прирост производительности в итоге получаешь??? Разве это не странно?
Цитата(Juzzver @ 24.8.2021, 6:46)

По поводу аутлендса, они ж таки лагали дико после открытия, когда онлайн начал превышать ожидания, и там были применены какие-то оптимизации, которые решили данную проблему. Кто над этим работал не знаю, но Бэтмен у них в команде, не исключаю что имело место быть его рука.
Он так-же помог оптимизировать дико лагающий сервуо, но там тоже скорее всего имел место быть .нет 5.
Из весомых плюсов, он проработал систему таймеров, от куда могло произрастать куча проблем, включая тот же аутлендс.
Это как раз те самые точечные фиксы cамой ранки о которых я и говорил выше. Даже переработку/оптимизацию таймеров можно назвать точечным фиксом. Кстати, реализация таймеров в РанУО довольно хороша с архитектурной точки зрения и по производительности не должно быть с ней огромных проблем. Там есть более критические зоны где все куда хуже с этим делом. ServUO все ещё на .NET Framework судя по их гитхабу. Да и наврядли на UO Outlands в то время кинулись переходить на .NET Core, потому что через месяц после их выпуска только анонсировали релиз .NET Core 2.2 который не имел стольких оптимизаций на тот момент. Да и скорее всего что Outlands все ещё на .NET Framework и Mono.
Цитата(Juzzver @ 24.8.2021, 6:46)

Value у проекта сомнительный исходя из того, что штатный юзер не будет понимать к чему все эти оптимизации/перформанцы, и возьмет сервуо за счет контента. Но если браться за серьезный проект, я бы как минимум присмотрелся к модерн уо, изучив его получше. Работы активно ведутся уже пару лет, так что вполне вероятно что-то заслуженное там уже присутствует
(пока не нашел времени во всем этом глубже разобраться, проекту не хватает какого нибудь вики).Я это все к тому, что как форк - вполне себе имеет место быть. Приятно видеть что кто-то уделяет время скучным оптимизациям, даже в столь мало актуальных местах сервера, интересно к чему это все со временем приведет. Так же он активно отвечает всем заинтересованным, помогает, делится планами на будущее. Такому энтузиазму можно позавидовать, учитывая текущее положение уо в целом

Конечно имеет место быть! Это ж опен сорс! А value сомнительный, потому что делаются оптимизации, которые 99% а может и всем 100% шардов никогда и не понадобятся, при этом вбухивается куча человекочасов во все это дело. Чувак просто ловит кайф от написания максимально оптимального кода на новом стеке, вот как сейчас выглядит MUO для меня.
Цитата(M0rBiT @ 24.8.2021, 8:54)

Не знаю всех тонкостей по оптимизации, но не так давно пинг на ауте был 250+, сейчас же пинг 115.
Это скорее больше с хостингом связано. Возможно перенесли сервак куда-нить, где путь между узлами более оптимальный для тебя.
Если б скорость обработки игровой логики ( внутренний пинг, как его называет Juzzver ) была раньше 100+ мс, то на UO Outlands никто не смог бы комфортно играть.