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

fromgate

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

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

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

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

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

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

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

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

 

Attachments

Top