TGViewer
ShadowDemonHD ShadowDemonHD @shadowdemonhd · 570 subscribers
Post #2987 391

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

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

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

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

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

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

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

Следующий пост по ппл - на следующей неделе!
  • ❤ 15
More from @shadowdemonhd
  1. Oct 14, 2026Комишочка
  2. Oct 13, 2026https://www.youtube.com/watch?v=nEDMDI-g0n4 Dear Viewer Thank u for your interest in my ar…
  3. Oct 3, 2026Наступило 3️⃣ октября, а это значит наступил МОЙ ДЕНЬ РОЖДЕНИЯ 😆 Теперь мне 1️⃣7️⃣, ещё г…
  4. Oct 1, 2026Привет ребята, так как я недавно подсел на идею создать сайт, я решил поместить туда творч…
  5. Sep 29, 2026С другой стороны 19 плащей и топ 458 пока что в мире 😌🍵 было бы круто догнать пакета по…
  6. Sep 27, 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 →