1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Обсудим Использование Paper

Тема в разделе "Управление сервером Bukkit", создана пользователем ekbasiaa, 8 июл 2023.

  1. Автор темы
    ekbasiaa

    ekbasiaa Активный участник Пользователь

    Баллы:
    66
    Асинхронность разве не сильнее его должна нагружать?
    Так даже paper 150 онлайна не вывозит, судя по опыту сторонних проектов) Я на подобное и не рассчитываю
    Так.. твой пример наоборот доказывает некомпетентность разработчиков Paper) Аналогично выше приведенным примерам с отменой PlayerDeathEvent и PlayerJumpEvent (все еще не понимаю как можно было адекватно реализовать это событие)
    А сама проблема с BlockPhysics давно известна.. Она описана в документации эвента и на подобное уже был ответ от md_5
    Отрывок из описания эвента (дублируется у обоих апи)
    Plugins should also note that where possible this event may only called for the "root" block of physics updates in order to limit event spam. Physics updates that cause other blocks to change their state may not result in an event for each of those blocks (usually adjacent). If you are concerned about monitoring these changes then you should check adjacent blocks yourself.

    В остальном вроде звучит, но почти все из этого можно минусовать, т.к. возможно те же патчи ванильного редстоуна написаны также криво. Отсюда и отсутствие порта с paper на spigot) Некоторые ведь штуки он переносит, а значит не в лени/устаревании дело.
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ты не там смотришь. Одно только апи более функциональное, не приходиться говногодить с nms, не считая кучи оптимизаций самого сервера для удержания более высокого числа игроков.
     
  3. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    UPD: Для тех, кто наткнулся на эту тему в интернете:
    https://rubukkit.org/threads/190206
    Читайте, там ответы на все вопросы.

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

    Если говорим про 1.16.5, то вывозит с некоторыми геймплейными ограничениями. На более старых версиях ещё больше тянул. Про более свежие не в курсе. Как бы там ни было - эти значения существенно больше, чем у Spigot.

    Тем не менее, до определённого момента всё работало, а потом перестало. Более того, если мой issue не отклонили сразу, то очевидно, что его собираются исправить. Команда Paper 'это сделала, а вот Spigot не может уже год.
    К тому же, если md_5 так беспокоится о большом количестве вызовов события - всегда можно оптимизировать их вызов. Что, собственно, и сделано в Paper при помощи ASM'а.

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

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

    Не знаю уж, что он там переносит, однако то, что работало - ломается, а то, что нужно - не добавляется.

    Так, например, в одном из своих проектов я использую:
    - работу с интеллектом сущностей: Pathfinder, Goal, GoalKey, GoalType и другие
    - гибкая работа с текстовыми объектами: всё AdventureAPI
    - профили игроков: PlayerProfile и ProfileProperty
    - прочие утилитарные классы: Namespaced, MaterialSetTag, ParticleBuilder
    - события:
    ServerExceptionEvent, ServerPluginException
    EntityAddToWorldEvent, EntityRemoveFromWorldEvent
    EntityZapEvent
    PlayerStartSpectatingEntityEvent

    Вот задать md_5 вопрос, а как реализовать нужный функционал на спиготе - он просто пожмёт плечами и скажет, что такой возможности нет (и похоже, что уже никогда и не будет)
     
    Последнее редактирование: 6 янв 2024
  4. NoLogic

    NoLogic Активный участник Пользователь

    Баллы:
    66
    Эх, вернуться бы лет на 11 назад, когда только появился баккит и все просто дружно писали плагины, а не считали крохи, сравнивая между собой ядра. Так или иначе, это опенсорс. А значит, что нужно не заниматься явным потребительством, а решать проблемы самостоятельно, ведь каждая конкретная задача уникальна. Если ты весь такой уберкодер из себя, то лучшее решение — разработка проекта под собственные нужды, а не использование существующего ядра, которое за бесплатно пилится активными членами сообщества и предоставляется как есть.
     
  5. Автор темы
    ekbasiaa

    ekbasiaa Активный участник Пользователь

    Баллы:
    66
    Уже нельзя сравнивать опенсорс проекты? Мне было интересно в чем плюсы и есть ли необходимость перехода. Я был убежден, что paper это сплошной говнокод с ужасным подходом и в некоторых моментах всеж оно ряльно так и есть, но упустим)
    Dymeth в последнем сообщении вроде прояснил за счет пары пунктов, но теперь интересен момент с перечисленными интерфейсами/утилитами/апишками.. почему md_5 их скипает? Не думаю что дело в лени или навыках) Да и команда у него всеж своя есть и никуда она не уходила (исключения: те кто полностью ушел из майна)
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Он уже давно ничего не делает и стал жадным на бабки, бесплатно хер что сделает. И сервер его уже мертв.
     
  7. NoLogic

    NoLogic Активный участник Пользователь

    Баллы:
    66
    Such a bold claim without any proofs. Нет, правда, расскажи подробнее. Я часто вижу его посты на форуме, он помогает людям решать проблемы. Так же он не берёт проценты от продаж премиумных плагинов (хотя вполне бы мог это делать), ограничиваясь ненавязчивым предложением задонатить на пиво. Где тут жадность-то?
     

Поделиться этой страницей