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

  • Автор темы Автор темы ekbasiaa
  • Дата начала Дата начала
Работа с диском занимает существенное время, поэтому смысл есть, и это действительно даёт существенный профит.
Асинхронность разве не сильнее его должна нагружать?
- игрокам гораздо интересней играть на сервере с онлайном 150 человек, нежели играть среди 50-и, но с ванильной механикой редстоуна и тнт.
Так даже paper 150 онлайна не вывозит, судя по опыту сторонних проектов) Я на подобное и не рассчитываю
Я не знаю, о какой стабильности стабильности может идти речь, если проблемы в спиготе решатся годами. Приведу пример из личного опыта - в одном из обновлений то ли можанг, то ли спигот сломали возможность отслеживать плагинами разрушение рельс из-за исчезновения блока под ними. Я зарепортил проблему в спигот и в пейпер. А теперь привожу время решения этой проблемы обеими командами:
PaperMC: 58 дней - https://github.com/PaperMC/Paper/issues/8191
SpigotMC: проблема не решена до сих пор, спустя 350 дней - https://hub.spigotmc.org/jira/browse/SPIGOT-7120
То есть плагин, который работал на старой версии, благополучно перестал работать на SpigotMC на новой, и никто не пытается с этим ничего сделать.

Можно сказать, что это частный случай, а можно самому поресерчить и понять, что SpigotMC остановился в развитии уже очень давно. Все адекватные люди из команды SpigotMC давным-давно перешли на PaperMC, поскольку это существенно более производительный, функциональный и современный инструмент, нежели Spigot
Так.. твой пример наоборот доказывает некомпетентность разработчиков 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) Некоторые ведь штуки он переносит, а значит не в лени/устаревании дело.
 
Может я не там смотрю?
Ты не там смотришь. Одно только апи более функциональное, не приходиться говногодить с nms, не считая кучи оптимизаций самого сервера для удержания более высокого числа игроков.
 
UPD: Для тех, кто наткнулся на эту тему в интернете:
https://rubukkit.org/threads/190206
Читайте, там ответы на все вопросы.

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

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

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

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

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

Отсюда и отсутствие порта с paper на spigot) Некоторые ведь штуки он переносит, а значит не в лени/устаревании дело.
Не знаю уж, что он там переносит, однако то, что работало - ломается, а то, что нужно - не добавляется.

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

Вот задать md_5 вопрос, а как реализовать нужный функционал на спиготе - он просто пожмёт плечами и скажет, что такой возможности нет (и похоже, что уже никогда и не будет)
 
Последнее редактирование:
Эх, вернуться бы лет на 11 назад, когда только появился баккит и все просто дружно писали плагины, а не считали крохи, сравнивая между собой ядра. Так или иначе, это опенсорс. А значит, что нужно не заниматься явным потребительством, а решать проблемы самостоятельно, ведь каждая конкретная задача уникальна. Если ты весь такой уберкодер из себя, то лучшее решение — разработка проекта под собственные нужды, а не использование существующего ядра, которое за бесплатно пилится активными членами сообщества и предоставляется как есть.
 
Эх, вернуться бы лет на 11 назад, когда только появился баккит и все просто дружно писали плагины, а не считали крохи, сравнивая между собой ядра. Так или иначе, это опенсорс. А значит, что нужно не заниматься явным потребительством, а решать проблемы самостоятельно, ведь каждая конкретная задача уникальна. Если ты весь такой уберкодер из себя, то лучшее решение — разработка проекта под собственные нужды, а не использование существующего ядра, которое за бесплатно пилится активными членами сообщества и предоставляется как есть.
Уже нельзя сравнивать опенсорс проекты? Мне было интересно в чем плюсы и есть ли необходимость перехода. Я был убежден, что paper это сплошной говнокод с ужасным подходом и в некоторых моментах всеж оно ряльно так и есть, но упустим)
Dymeth в последнем сообщении вроде прояснил за счет пары пунктов, но теперь интересен момент с перечисленными интерфейсами/утилитами/апишками.. почему md_5 их скипает? Не думаю что дело в лени или навыках) Да и команда у него всеж своя есть и никуда она не уходила (исключения: те кто полностью ушел из майна)
 
Он уже давно ничего не делает и стал жадным на бабки, бесплатно хер что сделает. И сервер его уже мертв.
Such a bold claim without any proofs. Нет, правда, расскажи подробнее. Я часто вижу его посты на форуме, он помогает людям решать проблемы. Так же он не берёт проценты от продаж премиумных плагинов (хотя вполне бы мог это делать), ограничиваясь ненавязчивым предложением задонатить на пиво. Где тут жадность-то?
 
Назад
Верх Низ