Forwarded from Квинтессенция костылей и говнокода
Как вы знаете, Minecraft сервера - совершенно отвратительная вещь в вопросах оптимизации, исходя из этого достаточно давно было принято решение что самым оптимальным (на данный момент), будет разбить игровой процесс на множество серверов, что успешно получилось сделать на PPL. На данный момент, для игроков доступно 6 игровых и один неигровой сервер (лобби), а как все это работает, разберемся чуть дальше.
Я постараюсь объяснить это языком, понятным и для людей далеких от программирования, но если хочется более глубинного понимания - всегда можно спросить меня лично.
Для игроков все начинается с главного сервера, от которого зависит множество вещей в нашей системе - BungeeCord. Этот сервер занимается распределением игроков между игровыми серверами, но непосредственно на него "зайти" в обычном понимании нельзя. По факту, играя на PPL вы всегда к нему подключены, так как именно он отвечает за передачу данных игрока между конечным сервером и непосредственно игроком. На скриншоте можно увидеть, что это самый требовательный сервер, так оно и есть на самом деле, потому что наибольшая нагрузка приходится именно на Bungee. Обычно, он используется для различных мини-игр или подобных им серверам, на моей памяти - мы были первыми кто решили использовать BungeeCord именно таким способом, поэтому для наших нужд зачастую не хватает готовых решений, и их приходится изобретать самостоятельно. Одним из таких решений является плагин на синхронизацию инвентарей и состояний игрока.
Дальше, пути игроков расходятся между различными серверами по интересам, но не важно какой сервер выбирает игрок, с технической стороны все сервера никак не отличаются друг от друга, отличается лишь их конфигурация. На данный момент все игровые сервера работают на ядре Paper. За время существования PPL и Экспериментов мы попробовали множество различных ядер, но ни одно из них не подходит нам по особенностям каждого в частности, и либо ломают ванильный опыт игры (Airplane), либо слишком экзотичны, чтобы использовать их для проекта нашего уровня (Feather).
На PPL9 появилась новая особенность - голосовой чат. Из плюсов - игрокам не приходится кооперироваться в дискорде, и можно общаться прям на сервере. Из минусов - все остальное. Начиная от детей с плохим микрофоном, заканчивая постоянными падениями. Так вышло, что плагин сам по себе работает отлично, но не его прокси, который постоянно валится сам (спасибо, что не роняет BungeeCord), с чем на данный момент мы ищем способ побороться.
Синхронизация - на каждом из серверов стоит кастомный плагин, отвечающий за синхрон. Более того, он работает независимо от майнкрафт хранилища данных игроков, но дублирует его и имеет приоритет. Синхронизация происходит дважды - перед выходом игрока сохраняются его данные, а после входа - восстановление инвентаря, и опять же, это все происходит на банже.
Следующий пост по ппл - на следующей неделе!
Я постараюсь объяснить это языком, понятным и для людей далеких от программирования, но если хочется более глубинного понимания - всегда можно спросить меня лично.
Для игроков все начинается с главного сервера, от которого зависит множество вещей в нашей системе - BungeeCord. Этот сервер занимается распределением игроков между игровыми серверами, но непосредственно на него "зайти" в обычном понимании нельзя. По факту, играя на PPL вы всегда к нему подключены, так как именно он отвечает за передачу данных игрока между конечным сервером и непосредственно игроком. На скриншоте можно увидеть, что это самый требовательный сервер, так оно и есть на самом деле, потому что наибольшая нагрузка приходится именно на Bungee. Обычно, он используется для различных мини-игр или подобных им серверам, на моей памяти - мы были первыми кто решили использовать BungeeCord именно таким способом, поэтому для наших нужд зачастую не хватает готовых решений, и их приходится изобретать самостоятельно. Одним из таких решений является плагин на синхронизацию инвентарей и состояний игрока.
Дальше, пути игроков расходятся между различными серверами по интересам, но не важно какой сервер выбирает игрок, с технической стороны все сервера никак не отличаются друг от друга, отличается лишь их конфигурация. На данный момент все игровые сервера работают на ядре Paper. За время существования PPL и Экспериментов мы попробовали множество различных ядер, но ни одно из них не подходит нам по особенностям каждого в частности, и либо ломают ванильный опыт игры (Airplane), либо слишком экзотичны, чтобы использовать их для проекта нашего уровня (Feather).
На PPL9 появилась новая особенность - голосовой чат. Из плюсов - игрокам не приходится кооперироваться в дискорде, и можно общаться прям на сервере. Из минусов - все остальное. Начиная от детей с плохим микрофоном, заканчивая постоянными падениями. Так вышло, что плагин сам по себе работает отлично, но не его прокси, который постоянно валится сам (спасибо, что не роняет BungeeCord), с чем на данный момент мы ищем способ побороться.
Синхронизация - на каждом из серверов стоит кастомный плагин, отвечающий за синхрон. Более того, он работает независимо от майнкрафт хранилища данных игроков, но дублирует его и имеет приоритет. Синхронизация происходит дважды - перед выходом игрока сохраняются его данные, а после входа - восстановление инвентаря, и опять же, это все происходит на банже.
Следующий пост по ппл - на следующей неделе!
🔥1
Forwarded from PEPELAND TAROT
⊹₊ Ваша покорная слуга отрисовала несколько карт, в их числе Рыцари Мечей Пепеленда — Рилавеон, Трефис и Дремо!
₊ #PPLTarot_authors
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤1
Forwarded from ShadowDemonHD
С днём обнимашек 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
monkaKotiki Мне Манук передал эстафету, про вайб или что-то
Передаю эстафету вот этим человекам:
Фасоль, Факел, Форель, Лосось, Карась, Плесень, Лишайник, Леший, Фенилантраниловая кислота, Фосфат, Фосфор, Феня, Франция, Финляндия, Фиалка, Флеровий, Фактура, fact, Фарфор, Фантастика Фейслесс, Фаселасе, ФЧЕТЫРЕЦТРИЛТРИСПЯТЬ, F4C3Li3S5, Фтор 4 Углерод 3 Литий 3 Сера 5
Тестер теста
Бимверт
Бедкок
Задрыхозавр 3aDpblx
Суть эстафеты: выбрать 8-9 фотографий, которыми вайбит ваш ос\селфсона (характер, история, внешность и тд)
Передаю эстафету вот этим человекам:
Фасоль, Факел, Форель, Лосось, Карась, Плесень, Лишайник, Леший, Фенилантраниловая кислота, Фосфат, Фосфор, Феня, Франция, Финляндия, Фиалка, Флеровий, Фактура, fact, Фарфор, Фантастика Фейслесс, Фаселасе, ФЧЕТЫРЕЦТРИЛТРИСПЯТЬ, F4C3Li3S5, Фтор 4 Углерод 3 Литий 3 Сера 5
Тестер теста
Бимверт
Бедкок
Задрыхозавр 3aDpblx
🆒7❤🔥1