creator cover FlatiCommunity
FlatiCommunity

FlatiCommunity 

«Бабки, статус, рабы»

1subscriber

20posts

About

В этом блоге содержится общедоступная информация на бесплатных условиях публикации "FlatiCommunity" из всех возможных "арок", а также платная основа "Арка: Оптимизация" из "FlatiShop".
Все остальные платные версии "арок" находятся в боте "FlatiShop".

Арка: Ядра. Бесполезная переменная для логгера?

В файле bukkit.yml по пути settings.warn-on-overload можно было найти переменную принимающую boolean значение, о которой умалчивают в ру гайдах.
Разбираем что это такое: она отвечает за предупреждение об overload из основного потока сервера по классу MinecraftServer (в ядре) и всё, более никаких итераций/математических вычислений.
overload'ом считается время перегрузки сервера относительно его тиков (в 1 секунде 20 тиков, 1000 миллисекунд делите на 20 тиков к слову).
Формулу разбирайте сами, она на скрине ниже)))
Если увидеть данный лог, то можно понять с какого и по какой момент сервак был перегружен т.е. его могли нагрузить по CPU% и иным параметрам, в том числе эксплойтам. Хотя это не даёт общей картины по "крашу" или проблеме, ведь будет ещё лог самого падения сервера, поэтому переменную можно считать косметической для обычных админов и полезной для разрабов.

Арка: Ядра. Как ещё можно узнать версию кроме /version /ver /about?

Ну собственно существует некий файл ЯДРА под названием commands.yml, в котором есть пара настроек и одна является настройкой алиасных команд (вы о ней знали вообще?).
Так вот, там есть магическая команда, которую ваши ПЛАГИНХАЙДЕРЫ не скрывают почему-то. Чё?
- Да...
Вот собственно и конфигурация рандомной сборки под названием YummyLand:
Самое интересное, что там стоит $1-, т.е оно заденет все аргументы и таким образом мы можем узнать информацию о плагине, ведь /version отвечает ещё и за плагины, значит /icanhasbukkit PlaceholderAPI.
К слову о правах которые можно отобрать у игрока, чтобы ничего не творил он с серверными командами ядра: bukkit.command.version.

Арка: Ядра. Отдельная папка миров.

В очередной раз насилуем ядро Paper 1.12.2 и выше.
Существует настройка в файле bukkit.yml по пути settings.world-container, по умолчанию её там нету, но вы можете указать, но из-за дебилизма разработчиков ядра она не работает (см. https://hub.spigotmc.org/jira/browse/SPIGOT-5824), но существуют аргументы запуска (флаги).
Флаг и все к нему алиасы: -W -world-dir -universe -world-container
Как юзать ето? Ответ прост: java -jar govno_a_ne_yadro.jar -W worlds
+++++++ВАЖНО++++++
К сожалению, если Вы удалите файл bukkit.yml и по умолчанию в нём (в ядре) добавить строчку settings.world-container, то она не применится.
Если Вы хотели бы создавать миры всегда в отдельной папке (прям при запуске сервера), то необходимо использовать флаги, но никак не конфигурацию. 😩
+++++++ВАЖНО+++++++
Так сложно? 😳
Creator has disabled comments for this post.

Арка: Ядра. Факт про пинг.

Для примера будет взято ядро Paper версии 1.12.2.
В старых версиях маена пингование сервера производилось с особенностями, именно поэтому в ядре можно заметить много различных методов обработки пинга.
Для этих особенных версий используется отдельная обработка и логирование в консоль сервера пинга, некоторую информацию о пинге старой версии можно видеть на приложенном скриншоте.
* net.minecraft.server.v1_12_R1.LegacyPingHandler
Источник: PasteCommunity
Дата: 30 июня 2022 г.
Creator has disabled comments for this post.

Арка: Ядра. Эксплойт с помощью люка и редстоуна.

Активно форситься данная ошибка в ядре, которую начали применять в своих целях люди, начала в мае 2023 года.
Тогда многие проекты русского комьюнити Minecraft ложили этим эксплойтом, а в логах ошибок были какие-то механизмы с координатами.
Логи ниже:
Скриншот из игры с места события от 18 мая 2023 года ниже.
Почему возникала данная проблема?
- Всё дело в повторении редстоун сигналов, они заходили в цикл и не выходили из него (проблема ядра).

Как изучил наш эксперт в ядрах в мае 2023 года, ошибка возникала на следующих версиях ядра Paper:
- 1.16.5 - краш.
- 1.17.1 - краш.
- 1.18.2 - краш.
- 1.19.2 - дикие пролаги, сервер попытается "убить" механизм.
- 1.19.4 - новая механика обработки повторных сигналов, не особо работает, просто "убьёт" механизм.
ВАЖНО: На версии 1.19.4 от Folia происходит Memory Leak, даже, если механизм "убивается".
Итоги из версий сделали таковы: 
Начиная с 1.19 в ядре на каждый редстоун сигнал появились ограничения - сколько раз он повторится.

Арка: Плагины. «Зарубежные умняшки»: О конфигурациях Bukkit API.

Многие разработчики плагинов не хотят пользоваться базовым кодом от Bukkit API разработанным для создания конфигов config.yml вызывающихся через метод saveDefaultConfig() и getConfig() из класса JavaPlugin необходимого для включения-выключения плагина и в целом его функционирования, но и бывают моменты, когда необходимо создать ещё один конфиг или файл иного формата.

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

В видеоролике от зарубежной медиа персоны, которая уже не выпускает ролики есть много полезных "советов" о создании конфигов и в отрезке в этом посте кокрас-таки говорится об копировании данных с конфига в сохранёнке в нужный вам путь.
Почему это нельзя забывать и учитывать?
- Данные могут копироваться с плохой кодировкой (переводы по новой писать);

Арка: Анти-чит. Самая необычная защита.

Гениальная капча в разработке от DSK в плагине DAC (обзор от автора) в мае 2022 года покорила румайн своим нововведением.
Данная капча не давала пройти читерам на сервер, но почему же?
Всё дело в том, что она писала в чат от имени игрока команду чита начинаемую с точки или с прочего символа, через стандартный код плагина:
* Исходники предоставил сам DSK, далее свою защиту он интегрировал в плагин DSKAuth.
В свою очередь ивент в ядрах Bukkit и его форках PlayerChatEvent обработает это мсг и если оно не пришло - читераст, а если пришло - прошёл проверку.

На деле - желательно проверять все виды таких команд от читов, но разработчик акриена - Fals3r подумал и ещё в марте выпустил апдейт, в котором добавил функцию NoCommands отключающие команды чита и даёт только по бинду открыть гуи чита (продумал всё).
Как обойти эту проверку и зайти на сервер, если она только на точку?
Ответ прост: Перебиндить бинд этих команд.
Например, в Inertia можно поменять бинд через prefix.

Арка: Ядра. Сохранение паролей у юзера на локале.

Начиная с 1.20.2. Mojang release было выпущено обновление, которое сохраняет прошедшие 50 команд выполненные игроком в файл commands_history.txt со стороны клиента игрока.

Исходя из сохранения команд, если человек пользуется не лицензионным лаунчером, то его команды /login /register и иные алиасные будут сохранены в этот файл.

К сожалению, это не оставляет факта утечки паролей юзера, если его RAT-нут.
* Скриншот взят с QuiltMC changelog.
Источник: PasteCommunity.
Дата: 21 сентября 2023 г.

Арка: Ядра. Как отключить информацию о мирах (World Settings for [nameworld])?

Данная информация относится к ядру Spigot (в т.ч. форках соответственно) и генерируется настройками от файла spigot.yml.

Для каждого мира существуют свои настройки, но большинство использующих это ядрышко и/или его форки напрочь забывают о базовых настройках того, что вы используете, поэтому используют множество хлама, как плагины (зачем очистка, если в ядре уже есть??? и т.д).

По умолчанию уведомления отключены в ядре, во всяком случае начиная с 1.16.4/5 версий это так, но ранее могло быть иначе.
В некоторых "готовых сборках" есть спам с информацией о мире, так вот, по умолчанию путь для отключения этой информации world-settings.default.verbose.

ВАЖНО: default распространяется на все миры, но если Вы укажете название мира, то на него будут распространяться разные настройки.

Источник: PasteCommunity.
Дата: 1 июля 2023 г.
Subscription levels1

Арка. Оптимизация.

$7.4 per month
> В цене учитывается комиссия платформы, альтернативная покупка доступна в боте FlatiShop.
Go up