Тысячи игроков в одном чанке: новая ветка развития MinecraftКак «синхронизировать» множество серверо / Minecraft :: длиннопост :: Мультиплеер :: видео (video) :: Игры

Игры Minecraft Мультиплеер видео длиннопост 

Тысячи игроков в одном чанке: новая ветка развития Minecraft

Как «синхронизировать» множество серверов в единый бесшовный мир и как изменится игровое сообщество с выходом нового серверного ядра — MultiPaper.

Одной из самых главных проблем большинства игровых серверов является однопоточность или сильная зависимость от главного потока, где важна частота процессора (а точнее IOPS), что сильно ограничивает масштабность игры в мультиплеере. Разработчики Minecraft пытаются решить данную проблему ещё с версии 1.14, но всё упирается в сложности разработки и «неповоротливость» компании. С каждой новой версией производительность серверов наоборот ухудшалась. Многие всё ещё остаются на 1.12 ради возможности вместить больше 200 игроков.

В 2020 году студия Mojang экспериментировала с Aether Engine компании Hadean, чьи технологии используются в EVE Online Aether Wars. Они смогли поднять сервер на 1024 игрока.

"Внедрение Aether Engine в Minecraft открывает для наших игроков множество новых захватывающих впечатлений, событий и режимов игры. Aether Engine отлично справляется с увеличением количества соединений и вычислительной сложности, что позволит нам создавать более масштабные и захватывающие события, чем когда-либо прежде. Увеличение возможностей игроков и производственных возможностей также открывает новые возможности для получения прибыли, не перестраивая радикально существующую инфраструктуру Minecraft."

Майкл Вайлбахер, CTO Mojang Studios

Что в итоге получилось от сотрудничества непонятно. Сообщество решило взять эту задачу в свои руки. С каждым годом серверные ядра, плагины и моды пытались превзойти друг друга добавляя всё больше оптимизаций и переписываний оригинального кода игры под многопоточность.

В 2021 году появился проект Mammoth от WorldQL. Они пытались добавить возможность горизонтального масштабирования с использованием общей базы данных и брокера сообщений. Проект провалился.

"Горизонтальное масштабирование подразумевает увеличения вычислительных ресурсов путём распределения задач на разные компьютеры и сервера. А вертикальное — увеличение на уже имеющихся мощностях (апгрейд процессора, добавление памяти)

Форк — использование кодовой базы программного проекта в качестве старта для другого, при этом основной проект может как продолжать существование, так и прекратить его." Википедия

Также можно отметить попытки реализовать полностью самописные движки для сервера. С 2019 года в медленном темпе разрабатывается Feather, написанный на Rust. Выглядит перспективно, но не понятно что с проектом.

Ещё есть Minestom, что также пытаются написать свой мультипоточный сервер, но уже на Java. Имеют довольно активное сообщество. Подходит скорее для мини-игр, чем на полноценный опыт.

Для ядер Fabric и Forge также были попытки написать моды на многопоточность — MCTM и MCTMFabric. Разработка практически не ведётся.

Начало положено

В это же время над своим решением начал работать австралийский разработчик PureGero — MultiPaper (github / сайт). Основой для него является серверное ядро Pufferfish. Это позволяет получить лучшую производительность со всеми оптимизациями и сохранить совместимость с гигантской экосистемой плагинов Bukkit. Вот так выглядят отношения между популярными серверными ядрами:

Vanilla → CraftBukkit → Spigot → Paper → Airplane → Pufferfish → MultiPaper

Vanilla → CraftBukkit → Spigot → Paper → Airplane → Pufferfish → Purpur

Vanilla → FabricСтрим ютубера Ish. Все 897 игроков собрались в одном месте.
В начале марта 2022 года проект вышел в полный open-source и публичную бету. Это произошло благодаря финансированию со стороны CritterzNFT. До этого использовалась модель с платным доступом к ветке с более оптимизированной и «вместительной» версией. Известность проект уже получил с выходом видео ютубера Ish с РП ивентом про тюрьму.
Потенциал невероятный и оно уже работает! Не без багов, но всё же. Вы только представьте какие весёлые и масштабные идеи можно реализовать: вместо мини-игр можно устраивать уже большие, королевская битва на несколько тысяч игроков, политические сервера с упором на экономику с городами и королевствами, сервера анархии с безумными событиями. Это действительно превратит Minecraft в ММО со своей существующей метавселенной.
Проект находится в стадии бета-тестирования и постоянно улучшается. Но требуется помощь сообщества в распространении информации о нём. Это поможет в интеграции и поддержке серверов MutliPaper уже существующими плагинами и написанию новых из-за увеличения популярности. Я верю, что проект станет трендовым. Возможно даже привлечёт новую аудиторию в игру. Всё из-за того, что здесь нет слишком амбициозных замашек вроде написания движка с нуля.

"Попробовать поиграть самому можно уже сейчас на специально созданном под эту статью сервере на MultiPaper. Он тестовый и не будет регулироваться, поэтому прошу соблюдать рамки приличия и быть благоразумными.

Хотел сразу на 1.19 сделать, но один из плагинов на приват, HuskTown, не успел обновиться.

syndicate.ss220.space - Minecraft 1.18.2 (любой клиент)"

09:27 Day tine I
x: -1410. z: 1792. y: 179 <11> savanna
i да i	V.V i
	1,Игры,Minecraft,Мультиплеер,видео,video,длиннопост
Клиент на Fabric на Multipaper сервере

Как это работает?

Концепт MultiPaper состоит из мастера — общей базы данных, шардов (нод) — игровых серверов, и прокси. Шарды общаются друг с другом напрямую p2p и координируются с мастером.
Players
Players,Игры,Minecraft,Мультиплеер,видео,video,длиннопост

Multipaper Master — это прокси-сервер и база данных, которая взаимодействует между подчиненными серверами и предоставляет сервис, на основе которого эти серверы синхронизируют свои данные и отправляют пакеты. Каждый сервер MultiPaper подключается к одному Master, чтобы данные между ними обновлялись в режиме реального времени. Если игрок на сервере A атакует другого игрока на сервере B, сервер A отправит эти данные прямо на сервер B, чтобы сервер B нанес повреждения игроку и применил обратную связь.

PureGero, автор проекта

Такая координация позволяет удостоверится, что каждый загруженный чанк «тикается» только одним сервером за раз и позволяет осуществлять смену текущего «владельца» чанка в зависимости от нагрузки. Каждый шард кэширует чанки, которые нужны игрокам, что обслуживаются им. Если правильно всё сделать, то вы сможете поднимать/останавливать шарды по мере необходимости и игроки практически бесшовно будут переключаться между ними (увидят лишь загрузочный экран на 1 секунду).

ÍServers] <flvg Tick Tine / Tps / [seruer4S215] 17ns, 20.0 tps, 37 [seruer67063] 50ns, 16.4 tps, 39 Cseryer03712] 20ns, 20.0 tps, 42 [seruer93024] 50ns, 16.3 tps, ¿II [seruer774S7] 16ns, 20.0 tps, 39 [serrer36693] 41ns, 19.5 tps, 33 Cser'...'er76373] 17ns, 20.0 tps, 46 [seruer30057] 13ns, 20.0

Вывод команды /servers с информацией о состоянии каждого шарда

Недавно PureGero поставил рекорд по заполненности сервера — 7000 ботов в одном прегенерированном мире на 7200x7200 блоков со 100+ ботами на каждом шарде. Для этого использовались виртуальные сервера Google Cloud Platform. Также потребовались тонкие оптимизации настроек методом проб и ошибок.

ñücel016 6 Mil flücel034 0 ..mi flücel052 0
O С> G G1 И G G1 G G G G G G G1 G1 G1 G G G1
00 T LO Г- CO U-. G -H 03 00 T LO ‘JJ Г- 00 CT-LO LO LO LO LO LO LO \û ■■£« ‘-.Ü ‘-.Ü vü vû ‘.Jj 4ü 'JJ Г-Q G G1 G1 G1 G1 G1 G1 G1 G G G1 G G1 G1 G1 G1 G G ■Н-Н-Н-Н-Н-Н-Н-Н-Н’Ч-Н’Ч-Н-Н-Н-Н-Н-Н-Н
ai ai ai ai

Стресс-тест ботами - https://github.com/PureGero/minecraft-stress-test

Достаточно тяжело уловить золотую середину между количеством шардов на машине, количеством памяти на один шард и расходами на хостинг. Всё это очень индивидуально и зависит от концепции сервера. Рекомендуется арендовать выделенные сервера на расстоянии до 1мс между шардами и мастером для избегания проблем с синхронизацией и с хорошей шириной канала.

Уже есть некоторый список проверенных плагинов, что были опробованы с MultiPaper. Вы можете попробовать и другие. Если в плагине есть поддержка работы с базами данных, то есть вероятность, что он заработает без изменений. Тут уже надо экспериментировать.

Советую вступить в discord разработчика MultiPaper, чтобы иметь возможность задавать вопросы и делится своим ценным опытом с другими. Есть слухи, что уже больше 5 крупных коммерческих компаний готовят новые сервера на MultiPaper на протяжении последних нескольких месяцев.

З.ы.

Дальше дополняет автор к спизженной мною статье от себя пару слов:

Надеюсь вам понравилась статья. Пытался писать для обычных геймеров, не перегружая технической информацией. Целью статьи является попытка сделать MulitPaper более известным среди майнкрафтеров, и чем известнее он будет становится, тем больше технической поддержки будет от сообщества.

Немного расскажу про свой опыт. Я являюсь одним хостом довольно крупного игрового проекта и discord-сообщества на 17000+ участников. Оно сформировано по совершенно другой нишевой игре, не Minecraft. Дневной онлайн на наших игровых серверах составляет обычно 400-600 игроков.

Недавно попробовали вместе с некоторыми стримерами Банды (суммарно вышло 1к+ зрителей) организовать ивент на MultiPaper сервере с двумя этапами: строительство игровой зоны (город/пригороды) и последующая масштабная королевская битва. Как оказалось, привлечь больше чем 100 игроков довольно трудно, даже если есть такое немалое сообщество и среднего размера стримеры.

Поэтому мне интересно посотрудничать со стримерами, ютуберами и сообществами в организации чего-нибудь интересного на MultiPaper или просто общения для обмена опытом.

Telegram: @azizonkg

Email: azizonkg@gmail.com


Подробнее
09:27 Day tine I x: -1410. z: 1792. y: 179 <11> savanna i да i V.V i 1
Players Players
ÍServers] <flvg Tick Tine / Tps / [seruer4S215] 17ns, 20.0 tps, 37 [seruer67063] 50ns, 16.4 tps, 39 Cseryer03712] 20ns, 20.0 tps, 42 [seruer93024] 50ns, 16.3 tps, ¿II [seruer774S7] 16ns, 20.0 tps, 39 [serrer36693] 41ns, 19.5 tps, 33 Cser'...'er76373] 17ns, 20.0 tps, 46 [seruer30057] 13ns, 20.0 tps, 38 [seryerlÛ750] 17ns, 20.0 tps, 43 [seruer61065] 42ns, 19.0 tps, 37 [seruer65443] 22ns, 20.0 tps, 43 [seruer21873] 47ns, 17.2 tps, 36 [ser'...'er97193] 20ns, 20.0 tps, 37 [seruerS4516] 19ns, 20.0 tps, 41 [seryer05750] 21ns, 20.0 tps, 38 Flayer Count) players players players players players players players players players players players players players players players
ñücel016 6 Mil flücel034 0 ..mi flücel052 0 O С> G G1 И G G1 G G G G G G G1 G1 G1 G G G1 00 T LO Г- CO U-. G -H 03 00 T LO ‘JJ Г- 00 CT-LO LO LO LO LO LO LO \û ■■£« ‘-.Ü ‘-.Ü vü vû ‘.Jj 4ü 'JJ Г-Q G G1 G1 G1 G1 G1 G1 G1 G G G1 G G1 G1 G1 G1 G G ■Н-Н-Н-Н-Н-Н-Н-Н-Н’Ч-Н’Ч-Н-Н-Н-Н-Н-Н-Н ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai о .9 .9 .9 .9 .9 .9 .9 .9 .9 .У .У .9 .9 .9.9 ccccccccccccccccccc C1 c G G G G1 G G1 G G G1 G' G1 G1 G G G G G1 LO 4ü Г- 00 iJï G -H OJ CO T ÜO чО Г- СО СГ-. G -H CO CO CO CO CO TTTTTTTTTTTÜOÜO ÜO Cl G G G G G G G G G G G G G G G G G G ai ai a> ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai .9 .9.9 .9.9.9.9 .ÿ .9.9.9.9.9.9.9 .9 CCCŒCCŒCCCCCCCCŒ Cl Ci G G G G G G G G G G G Ci G G G G G Г - СО СГ- G -H OJ CO T ÜO '■£} Г- CO CT. G -H OJ G ■H -H -H OJ OJ OJ OJ OJ OJ OJ OJ OJ OJ OJ O} 00 00 00 CO Ci G G G G G G G Ci G G G G G G G G G G ■Н’Ч-Н-Н-Н-Н’Ч-Н-Н-Н-Н-Н-Н-Н-Н-Н-Н-Н-Н ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai .9 .9.9.9.9 .9 .9.9.9.9.9.9.9.9.9.9 ccccccccccccccccccc Cl G G G G G 'G G G G G G G G G G G G G G G -H 0J 00 4- L0 VÛ Г- СО (T-. G H OJ 00 LO GGGGGGGGGGG’H-H-H-H-H-H-H С G G G G G G G G G G G G G G G G G G ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai ai .9.9.9.9 ü.9.9.9.9.9 .2 ü ü o ü о ü о ü ü cccccccccccccccccccc Flayers: 7000 I TF5: 20 I Fing: 203 ns
1000 Players Simulate Prison in Minecraft,Entertainment,ish13c,ish,Minecraft Civilization,Minecraft Prison,1000 Players Simulate Prison in Minecraft,prison escape,minecraft prison escape,100 players simulate civilization,100 player civilization in minecraft,minecraft,prison experiment,minecraft roleplay,minecraft story,minecraft movie,minecraft film,minecraft intense,minecraft funny,In this video, I put 1000 Minecraft players in a massive prison. There were 1000 cells, 100 guards, and 1 warden. Each player only had one life. Will the guards maintain order, or will the prisoners riot and escape? Who will survive? Find out now! JOIN MY DISCORD SERVER: https://discord.gg/state More info: Out of 4000+ applicants, 1040 players were accepted to play in my prison event. On the first day, players were led from a giant boat into the prison, where they explored their new home. The prison consisted of four large plots where players could build, long hallways with cells and bathrooms, a cafeteria, an infirmary, and the Warden's Tower. Some prisoners grouped up to cause trouble, while others remained peaceful. Guards functioned within a hierarchy—warden, deputy warden, elite team, prison guard, and perimeter team. Some of the visuals and audio in this video were recorded after the server ended and are not from the actual event. Additionally, some of the plot information in this video is inaccurate/incomplete for purposes of simplification and storytelling. 0:00 - Intro 0:36 - Day 1 6:43 - Day 2 13:57 - Day 3 19:34 - Day 4 28:46 - Day 5 #Civilization #Minecraft My Twitter: https://twitter.com/ish13c
Игры,Minecraft,Мультиплеер,видео,video,длиннопост
Еще на тему
Развернуть
Да будет глобальный Раст
BAKLAN BAKLAN 18.07.202210:21 ответить ссылка 9.6
В Расте и так уже вроде сотни игроков на карту размером с крупное село. А карту побольше Юнити не выдерживает. Собственно, это и есть единственная причина почему из всех сурвов я в него перестал играть - нельзя и шага пройти, не наткнувшись на чью-то базу, не говоря уже о том чтобы спрятать свою постройку.

А вот если подобные технологии применить там, где карты реально масштабные (Дейзи), или где есть возможность для расширения и разнообразия (Конан) - то здесь уже огромный потенциал есть. Основная причина по которым в этих играх было скучно как раз обратная - мало игроков, в первом случае их хрен найдёшь, а во втором - многочисленная группа легко вытесянет с сервера остальных и убивает его. Не говоря уже о том что со временем сервер превращается в лагодром.

Там вроде создатели пубга клепают сейчас масштабную выживалку, может у них и получится. Или у кого ещё. Но я почти с самого детства мечтаю о подобной игре. В плане механик уже всё реализовали, осталось лишь докинуть масштаба и будет идеально.
Майн вроде не из тех игр где нужна такая толпа
doctype doctype 18.07.202210:42 ответить ссылка 0.2
Майн довольно гибкий в этом плане. Как было отмечено в статье - можно будет устраивать уже более полноценные рол-плеи всякие, королевские битвы, ммо и так далее.
> более полноценные
Но зачем, если и так уже есть полноценные
> рол-плеи всякие, королевские битвы, ммо и так далее
Вооплощённые в других играх.
21parit 21parit 18.07.202211:16 ответить ссылка -0.7
Это песочница с самым большим инструментарием к созданию чего либо, от атомной станции, до домика из грязи.
Вся прелесть именно в этом, хочешь устраивай войну королевств и строй замки под все это дело, захватывай их и тд.
Хочешь объединяйся и строй огромный жилой город, в средневековом ( или любом другом ) сетинге.
В общем одна из тех игр, которые позволяют творчески подойти к любому вопросу, другие игры с похожими возможностями зачастую ограниченны базовыми асетами, Майн ничем не ограничен, взял блок и пошел его ставить куда захотелось.
Убедил.
Ну хз, для стариков это игра на 1-4 чела с крафтом. Контингент школьников вроде перекочевал в роблокс. А для рол-плея сейчас полно специально созданных для этого игр.
Особенно если речь идет именно про RolePlay составляющую, а не те коммерческие открытые проекты которые на самом деле тупо RPG. Для RP серверов большого онлайна не надо.
Leonad Leonad 18.07.202213:47 ответить ссылка 0.1
На примере 2B2T видно (знаю только по роликам этого... как там его?Джать), что очень даже нужно, глобальная война - дело не такое класнное, когда не идет замес тыща на тыщу
А с такими замесами и был бы смысл использовать тнт-пушки, взрывные зелья ( например сбрасывая их вниз с крепостных стен, хотя бы над входом).
Видос про тюрьму залипательный
teh drama
да и в целом читать было интересно
Автор над статейкой достаточно хорошо постарался. Мне она больше понравилась из-за потенциала, что в будущем такие игры по типу rust, dayz, arma будут в себя вмещать куда большее количество людей. Опять таки, если этот опыт перенять.
Представил себе тысячи корейцев, что выкопали ад и ходят в незерите...
Да говно будет если если честно. Бреу пример с планетсайда, чтобы это перестало быть обычной стрелялкой, тебе надо наладить систему связи как в реальной армии, а такое можно найти только на всяких тушино, где играют 40летние дядьки и на всяких ивентах. Иначе это симулятор выживания в хаосе
Не согласен. Все будет зависеть от заинтересованности игроков. Могут быть и кланы и крупные проекты. RP-сервера в подтверждение или какой-нибудь r/place.
Kavot Kavot 18.07.202214:41 ответить ссылка 1.3
Одно дело собрать 64 игрока. Другое дело 100. Совсем другое дело 1000
Я те же аргументы, когда-то, слышал и про 64 игрока.
слушай. Я участвовал в попытке собрать толпу для планетсайда. Ты же судишь по унылым рейдам из типичных ммопараш
Зашел на этот syndicate.ss220.space, я там один, хех. Ну хотя бы серв работает, норм вроде.
Отличная новость. Помню эти безумные лаги, фризы и откаты при высоком количестве игроков на сервере. Если появится какой-нибудь мморпг или просто рпг сервер с данным плагином, то мб даже вернусь в майн.
Norm_on Norm_on 18.07.202214:52 ответить ссылка 2.1
Нда...
Азиз все хуйней страдает.
Сперва кучу версий сс13 наподнимал, теперь майном занимается
Блин, 4 человека умудряются спылесосить кучу ресурсов на большом пространстве, что приходится устраивать исследования совсем уж дальних мест, а тут 1000 рыл на чанк.
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Withered | A Minecraft Animation Bedrock Hard Minecraft Abs,Film & Animation,minecraft,gaming,animtion,art,artist,cartoon,illustration,Steve emerges from the mine for the day, carrying 64 stacks of pure iron ore. 

Sounds by Vistram: 
https://www.youtube.com/channel/UCMgYq7R9XTmGNN-MMzZQ-gg
https://twitter.com/Vistram_
подробнее»

peargor artist Pear哥 Minecraft Игры Alex(minecraft) видео,video alex (minecraft)

Bedrock Hard Minecraft Abs,Film & Animation,minecraft,gaming,animtion,art,artist,cartoon,illustration,Steve emerges from the mine for the day, carrying 64 stacks of pure iron ore. Sounds by Vistram: https://www.youtube.com/channel/UCMgYq7R9XTmGNN-MMzZQ-gg https://twitter.com/Vistram_
I made Minecraft in Minecraft with redstone!,Gaming,,3D Minecraft in Minecraft with no command blocks, no datapacks and no mods.
Features include an 8x8x8 fully 3D-rendered world with 16 different block types, 32 different items, and dozens of game mechanics including mining, crafting, smelting,
подробнее»

Minecraft Игры видео,video

I made Minecraft in Minecraft with redstone!,Gaming,,3D Minecraft in Minecraft with no command blocks, no datapacks and no mods. Features include an 8x8x8 fully 3D-rendered world with 16 different block types, 32 different items, and dozens of game mechanics including mining, crafting, smelting,
Minecraft: Приключения Стива - Пробуждение (Эпизод 1) |  HD,Film,Mineworks,Steve's,Adventures,Steve's Adventure,Minecraft,animation,shorts,cartoon,steve,sam,animater,teaser,rig,zombie,skeleton,action,film,short,3D,Short Film,Minecraft Animation,Autodesk,Maya,2012,this
подробнее»

видео,video Игры Minecraft майнкрафт видео недоступно

Minecraft: Приключения Стива - Пробуждение (Эпизод 1) | HD,Film,Mineworks,Steve's,Adventures,Steve's Adventure,Minecraft,animation,shorts,cartoon,steve,sam,animater,teaser,rig,zombie,skeleton,action,film,short,3D,Short Film,Minecraft Animation,Autodesk,Maya,2012,this
Insurgency от нуба до про выпуск 1,People & Blogs,Insurgency,multiplayer,первый,неуловимые мстители,
подробнее»

Игры multiplayer video Insurgency

Insurgency от нуба до про выпуск 1,People & Blogs,Insurgency,multiplayer,первый,неуловимые мстители,