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

Для начала разделим проблему на две, серьезную и не очень.
1) Нехорошие люди на самом деле на самом деле декомпилируют мод и получают рабочие сорцы.
2) Нехорошие, но глупые люди думают, что декомпилировали мод, хотя на самом деле полученные сорцы работать как надо не будут. Несмотря на кажущуюся несерьезность проблемы, такие люди способны изрядно подпортить нервы.

Две проблемы — два решения. К счастью, первая проблема решается существенно проще. Я расскажу о том, как защищать серверную часть модов, и чуть-чуть о том, как обфусцировать моды.

[h]Защита серверной части[/h]
Довольно существенная часть кода в мультиплеере никогда не выполняется на клиентской стороне (в моем случае — около 15%). Два самых очевидных примера — обработка пакетов на сервере и подобные куски кода:

15 СПОСОБОВ ЗАЩИТИТЬ ДОМ В МАЙНКРАФТ

if (!world.isRemote)< //какой-нибудь серверный код >

Если полностью вырезать такой код из клиента, то даже после успешной декомпиляции восстановить его будет почти невозможно. В большинстве случаев написать аналогичный мод с нуля будет быстрее, чем разбираться в том, каких участков кода где не хватает и что на их месте нужно дописать. Однако, каждый раз вырезать часть кода при сборке мода — сущая мука. К счастью, компилятор javac достаточно умён для того, чтобы нам в этом помочь.

Пишем где-нибудь (желательно — в отдельном классе) вот такую строку:

public static final boolean SERVER = true; //или false, когда будете делать клиентскую сборку

Допустим, эту константу завели в классе CompilationFlag. Тогда перед каждым серверным куском кода нужно проверить эту константу. Два простых примера:

public void someMethod() < //общий код if (CompilationFlag.SERVER)< if (!world.isRemote)< //серверный код >> >
//метод, который выполняется только на сервере public void serverSideMethod()< if (!CompilationFlag.SERVER) return; //код метода >

При компиляции с SERVER == false такие участки кода попросту выбрасываются. Значение этой константы можно менять руками при каждой сборке и собирать по две версии мода — серверную и клиентскую. Когда надоест менять значение руками, напишете собирающий скрипт. Раз написали мод, должны справиться и с этим . Свой скрипт выкладывать не вижу смысла, это костыльная поделка конкретно под мой проект.

Читайте также:  Топор из Майнкрафта своими руками

[h]Обфускация[/h]
Первое решение хорошо своей надежностью и простотой, но у него есть и свои недостатки. Я уже выше жаловался на дурачков, которые хвастаются тем, что «взломали мод», но это не единственная проблема. Есть еще как минимум две.
1) Выкидывание серверной части ломает синглплеер.
2) Иногда хочется защитить не весь мод, а какое-то конкретный элемент, который целиком выполняется на клиенте.

7 ЛАЙФХАКОВ ДЛЯ ЗАЩИТЫ ПРОТИВ ГРИФЕРОВ В МАЙНКРАФТ! (Без Модов)

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

Именно такой вид обфускации применяется в Minecraft’e, и, как вы могли заметить, ее успешно «сломали» разработчики MCP . Тем не менее, более серьезная обфускация стоит денег, снижает производительность, да и вообще не очень понятно зачем нужна. Ваш мод — не Minecraft, и тратить сотни человекочасов на разбор обфусцированного кода никто не будет. Предупреждаю сразу: с обфускацией возни намного больше, чем с первым способом. Её сложно настраивать, легко сломать и невозможно забыть она усложняет отладку мода.

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

1) Качаем ProGuard здесь. Он обфусцирует джарники по куче параметров, которые задаются через специальные конфиги. К счастью, вместе с ProGuard идет утилита под названием ProGuardGUI, через которую этот конфиг можно создать. Писать про эту кучу настроек долго, да и там всё более-менее понятно. Расскажу лишь про основные моменты.
2) В либы добавляем майн, либы майна и фордж (если он идет отдельным файлов).
3) В input добавляем джарник с модом, в output его же
4) В список классов, которые не нужно обфусцировать добавляем главный класс и CommonProxy/ClientProxy. Если есть еще какие-то классы, название которых указывается строками в коде, то их тоже добавляем.
5) Выключаем obfuscation -> use mixed-case class names. Ну то есть можно и оставить, но сами же будете страдать.

Источник: forum.mcmodding.ru

Плагины на защиту

Reporting плагин на репорты для Майнкрафт 1.14.4

Плагин Reporting добавляет в Minecraft систему жалоб или же репортов. Суть данного плагина очень проста, используя команду /report ,игрок кидает репорт на друго.

Читайте также:  Как построить приставку в Майнкрафте

LoginSecurity

LoginSecurity плагин на регистрацию для сервера Майнкрафт 1.14.4

Admin 2019-09-26T23:16:56+03:00

Плагин LoginSecurity это простая, легкая, быстрая и безопасная система управления аутентификацией пользователей. Она была впервые создана ещё в далеком 2012 год.

MuteManager

MuteManager плагин на мут с причиной для Майнкрафт 1.14.4 - 1.5.2

Admin 2019-09-22T21:38:59+03:00

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

Core Protect

Core Protect плагин на защиту сервера от гриферов в Майнкрафт 1.14.4

Admin 2019-09-21T20:49:23+03:00

Плагин Core Protect это быстрый, эффективный инструмент для регистрации данных и защиты от сбоев. Данный плагин организует быструю и эффективную защиту блоков, .

AuthMe Reloaded

AuthMe Reloaded - плагин на регистрацию в Майнкрафт

Admin 2019-09-26T22:54:33+03:00

Плагин AuthMe Reloaded добавляет систему авторизации на ваш сервер Minecraft. Если игрок не авторизовался, AuthMe Reloaded не позволяет ему выполнять такие дейс.

EssentialsX

EssentialsX - плагин на новые команды в Майнкрафт

Admin 2019-09-09T23:40:21+03:00

Плагин EssentialsX является полной заменой плагина Essentials, так как старая версия плагина закончила своё существование на версии Minecraft 1.7.10 , то этот п.

Essentials

Essentials - плагин на новые команды в Майнкрафт

Admin 2019-09-09T23:40:52+03:00

Плагин Essentials предлагает более 100 команд и функций, полезных абсолютно на каждом сервере. Наши основные функции включают в себя: Установка домов .

WorldGuard

WorldGuard - плагин на приват территорий

Admin 2019-09-09T23:42:48+03:00

Данный плагин служит для защиты построек на серверах. Если этот плагин установлен на сервере, каждый игрок сможет защитить территорию своего дома — приватом. Пр.

PermissionsEx

permissionsEx - плагин для создание групп игроков в Minecraft

Admin 2019-09-09T23:43:08+03:00

Данный плагин служит для создания групп игроков на сервере. С его помощью можно создать неограниченное количество статусов на сервере и каждому статусу выдавать.

Источник: minecamp.ru

Мод: Безопасность [1.19+]

Превью для «Мод: Безопасность [1.19+]»

Мод Security Craft Bedrock Edition Remake даст вам возможность защититься в Майнкрафт ПЕ (Бедрок) от других игроков. Вы сможете поставить возле своего дома турели, а дом защитить дверью, которую никто не откроет.

  • Особенность мода на безопасность
  • Про защиту
  • Скачать

Особенность мода на безопасность

Если вы хотите обезопасить свою недвижимость в Minecraft PE (Bedrock), тогда этот мод отлично для вас подойдет. Вы сможете сделать много чего для того, чтобы другие игроки не смогли вас обворовать или загриферить.

Кроме того, все механизмы будут доступны в крафте на выживании. Для этого зайдите в верстак и вы всё увидите.

Про защиту

Тут есть много чего для защиты. Например, скрафтите эту палку, и ею нажмите на блоки. И всё, эти блоки в Майнкрафт ПЕ (Бедрок) никто сломать не сможет. Можете считать это как привать территории.

Читайте также:  Как чинить лук в майнкрафте

Защита блоков в Майнкрафт ПЕ (Бедрок)

Но если есть такой вот предмет, то эти блоки ломаются.

Ломание блоков в Майнкрафт ПЕ (Бедрок)
Приват блоков в Майнкрафт ПЕ (Бедрок)

Карт-ключи

С помощью этих блоков вы сможете разблокировать дверь и многое другое. Для этого нужно поставить этот блок рядом с механизмом. И разблокируется всё с помощью специальной карты.

Разблокировка картой в Майнкрафт ПЕ (Бедрок)

Замок

Это специальный замок с код паролем. У него есть свой интерфейс.

Замок в Майнкрафт ПЕ (Бедрок)
Замок открывает дверь в Майнкрафт ПЕ (Бедрок)

Сканер

Он будет сканировать игрока, и если игрок тот, то он разблокирует ближайший механизм.

Сканер лица в Майнкрафт ПЕ (Бедрок)

Сундук

Этот сундук с замком. Его может открыть тот, кто его закрыл.

Защищенный сундук в Майнкрафт ПЕ (Бедрок)

Двери

Их также может открыть тот, кто их поставил. Суть дверей в том, что когда вы в них зайдете, то они автоматически закроются.

Защищенные двери в Майнкрафт ПЕ (Бедрок)

Турель

Поставив её, она будет атаковать врагов.

Турель в Майнкрафт ПЕ (Бедрок)

Мина

Когда она красная, она активирована, и если на неё наступить, то будет взрыв. Но вы также можете обезвредить мину с помощью ножниц.

Мина в Майнкрафт ПЕ (Бедрок)

Молния

Эта штука когда заряжена, будет атаковать до 5 мобов молнией.

Защита молнией в Майнкрафт ПЕ (Бедрок)

А это более слабая версия.

Слабая электрическая турель в Майнкрафт ПЕ (Бедрок)

Скачать Мод на Защиту для Minecraft PE

Скачать security-craft-addon-rp.mcpack (175.92 Kb)
18925 скачиваний · mcpack · 12-июнь-22
Скачать security-craft-addon-bp.mcpack (701.89 Kb)
17348 скачиваний · mcpack · 12-июнь-22

Мод Security Craft Bedrock Edition Remake даст вам возможность защититься в Майнкрафт ПЕ (Бедрок) от других игроков. Вы сможете поставить возле.

Похожие статьи:

Превью для «Мод: Защита земли [1.19+]»

Мод: Защита земли [1.19+]

Этот мод позволит вам защитить свой дом и свои вещи в сундуках в Minecraft PE (Bedrock). Тут вы сможете заприватить свою территорию.

Превью для «Мод: Защита мечом [1.19+]»

Мод: Защита мечом [1.19+]

С этим модом вы сможете защититься с помощью меча от урона врагов в Minecraft PE (Bedrock). Кроме того, мод поддерживает и другие мобы.

Превью для «Мод: Турель [1.17+]»

Мод: Турель [1.17+]

Если же вам нужно защитить свою территорию, тогда можете скачать мод на турель для Minecraft PE (Bedrock). Также вы сможете управлять ею.

Превью для «Мод: Блокировка двери [1.17+]»

Мод: Блокировка двери [1.17+]

Если же вы хотите заблокировать свою дверь в Minecraft PE (Bedrock), чтобы никто кроме вас в нее не вошел. Тогда можете скачать этот мод.

Превью для «Мод: Блокируемые двери [1.17+]»

Мод: Блокируемые двери [1.17+]

Если у вас есть хранилище в Minecraft PE (Bedrock), тогда вам срочно нужно создать для него блокируемую дверь, которую сможете открыть только вы.

Превью для «Мод: Заблокированный сундук [1.17+]»

Мод: Заблокированный сундук [1.17+]

Мод добавит новые сундуки в Minecraft PE (Bedrock). И главная уникальность в том, что их можно заблокировать и разблокировать с помощью карточек.

Источник: pe-world.org