Коммиторинг #9 Тайминги и RCON встречают новый TextFormat

Discussion in 'Новости Nukkit и MCPE/MCW10E' started by fromgate, 13/8/16.

  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
We welcome you on our site. This site is devoted to the Nukkit project and all that is connected with him. Here you can communicate, download plugins, also many other things get acquainted! Register the account right now :3
  1. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    195
    Коммиторинг #9 Тайминги и RCON встречают новый TextFormat

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

    Это конечно же и относительно небольшие дополнения, такие как новые звуки камеры и сфер опыта, рамки для предметов, новый биом - пляж.

    Но есть и такие, на которых хотелось бы остановиться отдельно:

    Поддержка RCON — протокола для удалённого управления сервером. Это очень важный и нужный инструмент. Администраторы серверов оценят если не сейчас, то в будущем.

    Тайминги. Кто не знает, это механизм отслеживающий производительность различных аспектов работы сервера. Если у Вас всё тормозит, то тайминги позволят выявить это и принять меры. Да и разработчикам плагинов такой инструмент в помощь. Без написания встроенных профайлеров они могут оценить нагрузку, которую добавляют обработчики событий или время выполнения команды плагином.
    Вообще, для майнкрафт серверов это уже практически стандарт, который поддерживают Spigot, Sponge, PocketMine и другие сервные платформы. И понятно, что Nukkit'у они тоже нужны.
    Кстати, с реализацией таймингов произошла интересная история. Сначала была реализована первая версия таймингов — тут постарался (они отличаются форматом данных), а потом она была заменена на вторую, более прогрессивную и удобную.

    Изменение класса TextFormat
    @Pub4Game внёс изменения в этот класс и теперь это ENUM (разработчиков плагинов прошу обратить особое внимание — придётся перекомпилировать и обновить плагины) и как нам представляется это первый шаг к избавлению от наследия прямого перевода с php на Java, при разработке.
    Думаю постепенно большинство подобных классов будет преобразовано в ENUM'ы: список пакетов, предметов и блоков (пользуясь случаем снова приглашаю обратить внимание на обсуждения реализации класса Material), направление, цвета и многое другое.
    Это добавить определённую гибкость и позволит много оптимизировать, снизит вероятность возникновения ошибок и вообще.

    Ну и конечно же ведётся работа над ошибками и оптимизацией кода. А самый примечательный результат продемонстрировал @Tee7even, который кстати реализовал и поддержку RCON и вторую версию таймингов.
    Результат лучше всего демонстрируется прилагаемым графиком, на котором отлично видна разница — после внесённых изменений, пропадают волнообразные скачки потребления памяти, которые довольно долго нас смущали.

    [​IMG]
     

    Attached Files:

    egr7v8 likes this.

Share This Page