TGViewer
Силли молекула 🫧 Силли молекула 🫧 @sillybreadb · 193 subscribers
Post #435 32

Forwarded from Квинтессенция костылей и говнокода

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

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

Для игроков все начинается с главного сервера, от которого зависит множество вещей в нашей системе - BungeeCord. Этот сервер занимается распределением игроков между игровыми серверами, но непосредственно на него "зайти" в обычном понимании нельзя. По факту, играя на PPL вы всегда к нему подключены, так как именно он отвечает за передачу данных игрока между конечным сервером и непосредственно игроком. На скриншоте можно увидеть, что это самый требовательный сервер, так оно и есть на самом деле, потому что наибольшая нагрузка приходится именно на Bungee. Обычно, он используется для различных мини-игр или подобных им серверам, на моей памяти - мы были первыми кто решили использовать BungeeCord именно таким способом, поэтому для наших нужд зачастую не хватает готовых решений, и их приходится изобретать самостоятельно. Одним из таких решений является плагин на синхронизацию инвентарей и состояний игрока.

Дальше, пути игроков расходятся между различными серверами по интересам, но не важно какой сервер выбирает игрок, с технической стороны все сервера никак не отличаются друг от друга, отличается лишь их конфигурация. На данный момент все игровые сервера работают на ядре Paper. За время существования PPL и Экспериментов мы попробовали множество различных ядер, но ни одно из них не подходит нам по особенностям каждого в частности, и либо ломают ванильный опыт игры (Airplane), либо слишком экзотичны, чтобы использовать их для проекта нашего уровня (Feather).

На PPL9 появилась новая особенность - голосовой чат. Из плюсов - игрокам не приходится кооперироваться в дискорде, и можно общаться прям на сервере. Из минусов - все остальное. Начиная от детей с плохим микрофоном, заканчивая постоянными падениями. Так вышло, что плагин сам по себе работает отлично, но не его прокси, который постоянно валится сам (спасибо, что не роняет BungeeCord), с чем на данный момент мы ищем способ побороться.

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

Следующий пост по ппл - на следующей неделе!
  • 🔥 1
More from @sillybreadb
  1. Sep 30, 2026photo post
  2. Sep 25, 2026Post #1009
  3. Sep 24, 2026•★ #silly_арт хотя скорее не арт а аниматики ну не важн Првиет а вы знали что 24 сентября…
  4. Sep 19, 2026•★ #silly_арт Тренд с тиктока про обсёрвинг и хилинг 👀
  5. Sep 18, 2026•★ #silly_арт Я опять поменяла референс персонажа да а что Мне было лень думать над фоном…
  6. Sep 16, 2026Итс биг Мега ультра Биг ДОМик С подвалом и оказывается бункером снизу. А так же большим ко…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →