В настоящий момент компьютерная игра Minecraft является одной из самых популярных игр не только среди детей, но и среди взрослого поколения за счет огромного числа возможностей для творчества людей. Это привело к образованию серверов, на которых игроки могли строить, веселиться, общаться и просто проводить свободное время вместе. Научная статья посвящана вопросам модерирования контента на серверах с большим количеством игроков. В статье представлены проблемы, с которыми сталкиваются администраторы крупных сообществ, а также предлагаемое решение, способное помочь им справиться с обозначенными трудностями. Важность этого исследования заключается в появлении уникального алгоритма для упрощения модерирования контента на высоконагруженных серверах.
Ключевые слова : информационные технологии, программирование, Java, Minecraft, клиентские модификации, высоконагруженные сервера, модерирование контента.
Проблема
Одна из самых частых и серьезных проблем на серверах с большой аудиторией — нарушители установленных администраторами сервера правил. Российские сервера не исключение. Пиковая нагрузка на них может переваливаться за 1000 одновременных подключений, что для СНГ сегмента очень неплохой результат, тем более в нынешнее время, когда с рекламой не все так просто.
Для решение этой проблемы, администраторы, а также другие лица (модераторы, донатеры, которые имеют доступ к выдаче наказаний) модерируют весь контент на сервере, в том числе рассматривают жалобы от игроков проекта.
Все бы ничего, но каждый модератор рано или поздно замечает, что изо дня в день зачастую приходится повторять одни и те же действия: указывать тип наказаний, вручную вписывать никнейм игрока, указывать время и причину наказаний. К тому же, если учитывать тот факт, что львиная доля выданных наказаний точь-в-точь совпадают (отличается лишь никнейм игрока), то этот процесс возможно автоматизировать таким образом, чтобы модератору больше не пришлось указывать одни и те же данные вновь и вновь. Следовательно, процесс модерирования не превратится в рутину, и сам процесс ускорится в разы.
Решение
Все можно свести к тому, что может быть разработана программа, которая позволяет решить обозначенные проблемы. Такой программой является уникальный клиентский мод EasyPunishment, разработанный специально для Отечественных Minecraft серверов.
Существующие аналоги
Если говорить о существующих аналогах, то в открытом доступе их найти не удалось. Был проведен сравнительный анализ, который представлен в таблице 1, с возможными конкурентами в лице TabbyChat2 и MacroKey, но ни один из них не предоставляет хотя бы на половину похожий функционал.
TabbyChat 2 [1] — альтернатива стандартному чату, устанавливается на сторону клиента. Мод обладает рядом полезных функций, удобным дизайном и позволяет использовать фильтры и деление на вкладки в самом чате.
MacroKey Keybinding [2] — клиентский мод, позволяющий привязывать основные и часто используемые команды к кнопкам клавиатуры. Имеет простой и понятный графический интерфейс пользователя, поддается легкой настройке и облегчает игру на серверах.
Таблица 1
Сравнительный анализ
Критерий |
TabbyChat 2 |
MacroKey |
EasyPunishment |
Требуемые зависимости |
LiteLoader, MnmUtils |
Не требуются |
Не требуются |
Поддерживаемые версии Minecraft |
1.8 — 1.12.2 |
1.8 — 1.12.2 |
1.12.2 |
Графический интерфейс |
Кастомный |
Стандартный |
Кастомный |
Извлечение любого слова из игрового чата при клике ЛКМ |
Не поддерживается |
Не поддерживается |
Поддерживается |
Поддержка наказаний, выдаваемых как модераторами, так и игроками, имеющие доступ к выдаче наказаний |
Не поддерживается |
Частично поддерживается |
Поддерживается |
Автоматическое формирование наказаний |
Не поддерживается |
Частично поддерживается |
Поддерживается |
Отображение и выбор из списка существующих нарушений правил сервера (пункт + описание), сгруппированных по виду наказания |
Не поддерживается |
Не поддерживается |
Поддерживается |
Создание и сохранение собственной причины наказания |
Не поддерживается |
Не поддерживается |
Поддерживается |
Отображение и выбор из списка собственных причин для наказаний |
Не поддерживается |
Не поддерживается |
Поддерживается |
Для понимания выбора версии Minecraft для разработки мода необходимо предоставить объяснение. Все дело в том, что хоть и сервера имеют поддержку сразу нескольких версий игры, например, 1.8 — 1.19.2, но большинство игроков, включая модераторов проекта, используют именно 1.12.2 версию. Это несложно проверить, используя данные одного из крупнейших Отечественных Minecraft сообществ — сервера ForsCraft [3], где отчетливо видно, что подавляющее большинство игроков используют версию Minecraft 1.12.2 (рис. 1).
Рис. 1. Игроки и используемые ими версии
Кодовая база
Так как разработка модификаций для Minecraft требует использование Java в качестве языка программирования, именно этот язык был выбран для реализации программы.
Вся уникальность предоставляемого решения заключается в особенном алгоритме получения любого слова из игрового чата по нажатию кнопки мыши. Именно этот алгоритм был разработан с нуля, поскольку в открытом доступе ничего подобного нет. С помощью него модератор может по клику ЛКМ получить ник игрока-нарушителя в мгновение ока, не печатая самостоятельно ни буквы. Это в разы ускоряет и упрощает выдачу наказаний, учитывая тот факт, что никнейм может содержать в себе большое количество разнообразных символов. Исходный код разработанного алгоритма представлен на рис. 2.

Рис. 2. Исходный код метода получения слова из игрового чата по клику ЛКМ
Для лучшего понимания работы алгоритма созданной модификации был составлен пользовательский сценарий (рис. 3), который рассматривает выдачу наказания игроку-нарушителю администратором / модератором сервера.
Рис. 3. Пользовательский сценарий выдачи наказания игроку-нарушителю администратором / модератором
Графический интерфейс пользователя
Пользователь взаимодействует с модом через удобный самописный графический интерфейс пользователя (GUI), в котором возможности администратора / модератора, а также игрока, имеющего права на выдачу наказаний, разбиты на соответствующие вкладки, что повышает понимание и удобство использования. Одна из вкладок «Бан (Модератор)» графического интерфейса представлена на рис. 4, другие вкладки имеют схожую структуру.
Рис. 4. Вкладка «Бан (Модератор)» GUI модификации
Заключение
Исходя из вышесказанного, с уверенностью можно сказать, что модификация EasyPunishment, которая предоставляет механизм получения любого слова из чата игры по нажатию левой кнопки мыши, а также другие мелочи, которые ей присуще, является уникальным на текущий момент времени. До сегодняшнего дня в открытом доступе подобного решения не было, а дальнейшее исследование и разработки в этой области могут раскрыть новые аспекты автоматизации для максимальной эффективности и удобства модерирования контента в больших Minecraft сообществах.
Литература:
- Matthew, M. Исходный код модификации клиентской части Minecraft «TabbyChat-2» / M. Matthew. — Текст : электронный // GitHub : [сайт]. — URL: https://github.com/killjoy1221/TabbyChat-2 (дата обращения: 04.12.2023).
- Matthew, M. Исходный код модификации клиентской части Minecraft «MacroKey Keybinding» / M. Matthew. — Текст : электронный // GitHub : [сайт]. — URL: https://github.com/Matts/MacroKey (дата обращения: 04.12.2023).
- Официальный сайт Отечественного Minecraft сервера ForsCraft. — Текст : электронный // ForsCraft : [сайт]. — URL: https://forscraft.net (дата обращения: 04.12.2023).