Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [SEC/FIX] MachineGuard Reloaded 2.4 — приват блоков из модов и не только [1.4.7-1.14.4+]

  • Автор темы Автор темы Bars
  • Дата начала Дата начала
Ссылки битые. Обнови.
 
Очень и очень жаль, что плагин не работает с таким прекрасным модом, как TerraFirmaCraft.
 
Да настройка то тривиальная довольно. К тому же в первом посте все очень подробно описано.
в blocked-sign-list добавляются позиции по инструкции, но когда устанавливаешь табличку, в случае включенного параметра sign-block, она оказывается не подписанной и без всяких сообщений. Если sign-block отключен, то высвечивается ошибка из разряда "Null"
 
Скоро ждите недопиленные исходники 2.2, кому надо 2.1, тот уберёт UUID'ы
 
Как быстро заполнить список для привата:​
Способ #1
1. Запускаем сервер с нужными вам модами.
2. Останавливаем сервер.
3. Заходим в папку logs и находим файл latest.log. Открываем.
4. Листаем вниз, пока не наткнемся на следующие строчки (Можно воспользоваться поиском)
Код:
[Server thread/INFO]: Applying holder lookups
[Server thread/INFO]: Holder lookups applied
5. После Holder lookups applied идет инжект сервером всех блоков и айтемов, которые он видит, тем самым Cauldron читает их id и распознает имя.
Копируем все что ниже, такого типа:
Код:
Injected new Forge block material IC2_BLOCKREACTORVESSEL with ID 228.
Injected new Forge block material IC2_BLOCKELECTRIC with ID 229.
Injected new Forge block material IC2_BLOCKCHARGEPAD with ID 230.
Injected new Forge block material IC2_BLOCKMACHINE with ID 231.
Injected new Forge block material FORESTRY_FACTORY with ID 453.
до Injected new Forge item material ... Итемы вносить в список не нужно!
Скопировали.
6. Вставляем в новую вкладку текстового редактора. И вырезаем все кроме названий, которые написаны "капсом". Их то нам и нужно будет вставить в список MGR.

Что бы быстро убрать лишнее, используем преимущества Notepad++

1. Через Ctrl+F во вкладке замены заменяем все "Injected new Forge block material " на ничего (в обычном режиме)
2. Заменяем все " with ID (.*)." на ничего в режиме поиска "Регуляр. выражен."
3. Копируем в MGR не всё, а только нужные нам блоки. Если сомневаетесь в названиях, перепроверьте через /mgid

Способ #2
1. Ставим на сервер/клиент мод bspkrsCore.
2. Запускаем сервер/клиент. Останавливаем.
3. Заходим в папку с клиентом/сервером, далее в папку config.
4. Открываем файл UniqueNames.txt
5. Берем названия блоков.
6. Вставляем в форму https://dev.paulsay.ru/mgr.php . Жмем кнопку - отправить. Копируем полученный список в конфиг плагина MGR.
Но после этого способа на некоторые блоки дважды выводиться сообщение что нельзя взаимодействовать от mgr и wg можно ли это как-то исправить?
 
Но после этого способа на некоторые блоки дважды выводиться сообщение что нельзя взаимодействовать от mgr и wg можно ли это как-то исправить?
Команды написаны в первом сообщении /rg flag __global__ bla bla bla ...
 
Код:
[16:02:14] [Server thread/WARN]: [MachineGuard_Reloaded] Task #2648 for MachineGuard_Reloaded v2.1 generated an exception
java.lang.NullPointerException
    at net.minecraft.entity.player.EntityPlayerMP.func_71053_j(EntityPlayerMP.java:1097) ~[mw.class:?]
    at org.bukkit.craftbukkit.v1_7_R4.entity.CraftHumanEntity.closeInventory(CraftHumanEntity.java:313) ~[CraftHumanEntity.class:1.7.10-1481.144]
    at ru.onlymc.MachineGuard.MGListener$2.run(MGListener.java:139) ~[?:?]
    at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[CraftTask.class:1.7.10-1481.144]
    at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:346) [CraftScheduler.class:1.7.10-1481.144]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:873) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:431) [lt.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:809) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:669) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_40]
[16:02:14] [Server thread/WARN]: [MachineGuard_Reloaded] Task #2714 for MachineGuard_Reloaded v2.1 generated an exception
java.lang.NullPointerException
    at net.minecraft.entity.player.EntityPlayerMP.func_71053_j(EntityPlayerMP.java:1097) ~[mw.class:?]
    at org.bukkit.craftbukkit.v1_7_R4.entity.CraftHumanEntity.closeInventory(CraftHumanEntity.java:313) ~[CraftHumanEntity.class:1.7.10-1481.144]
    at ru.onlymc.MachineGuard.MGListener$2.run(MGListener.java:139) ~[?:?]
    at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[CraftTask.class:1.7.10-1481.144]
    at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:346) [CraftScheduler.class:1.7.10-1481.144]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:873) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:431) [lt.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:809) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:669) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_40]
[16:02:15] [Server thread/WARN]: [MachineGuard_Reloaded] Task #2788 for MachineGuard_Reloaded v2.1 generated an exception
java.lang.NullPointerException
    at net.minecraft.entity.player.EntityPlayerMP.func_71053_j(EntityPlayerMP.java:1097) ~[mw.class:?]
    at org.bukkit.craftbukkit.v1_7_R4.entity.CraftHumanEntity.closeInventory(CraftHumanEntity.java:313) ~[CraftHumanEntity.class:1.7.10-1481.144]
    at ru.onlymc.MachineGuard.MGListener$2.run(MGListener.java:139) ~[?:?]
    at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) ~[CraftTask.class:1.7.10-1481.144]
    at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:346) [CraftScheduler.class:1.7.10-1481.144]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:873) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:431) [lt.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:809) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:669) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_40]
[16:02:15] [Server thread/WARN]: [MachineGuard_Reloaded] Task #2833 for MachineGuard_Reloaded v2.1 generated an exception
Число "Task" все время меняется. Недавно начало спамить в консоли, так-же именно сейчас спамит вот этим:
Код:
java.lang.NullPointerException
[16:39:08] [Server thread/WARN]: [MachineGuard_Reloaded] Task #951887 for MachineGuard_Reloaded v2.1 generated an exception
java.lang.NullPointerException
[16:39:08] [Server thread/WARN]: [MachineGuard_Reloaded] Task #952000 for MachineGuard_Reloaded v2.1 generated an exception
java.lang.NullPointerException
[16:39:08] [Server thread/WARN]: [MachineGuard_Reloaded] Task #952109 for MachineGuard_Reloaded v2.1 generated an exception
 
Это число ничего не значит. Проблема с закрытием инвентаря у игрока, отключите additional-protect
 
Ребят не приватит предметы из мода Advansed Solar Panel...
MachineGuard Reloaded - приват блоков из модов и не только

Начиная с версии 2.0 таблички работают иначе и их нужно переставлять! Оповестите игроков!

Этот плагин - отличная замена LWC, Lockette (который кстати заброшен) и многим другим плагинам привата! Он позволяет запросто запретить любое взаимодействие (внутри регионов) с блоками, указанными в настройках плагина. MachineGuard поддерживает все блоки, в том числе из модов, таких как, например, IC/BC/RP. Кроме того, этот плагин позволяет запретить взаимодействие с блоками по всему миру, а не только в регионах WorldGuard.

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

Конфигурация:

  • additional-protect: дополнительная защита (закрытие GUI блока на стороне клиента игрока через два тика - 1/10 секунды)
  • block-all: запрет взаимодействия во всём мире (т.е. не только в регионах WG. Полезно для Adventure серверов (например, MineZ), чтобы игроки не прятали вещи в раздатчиках (чтобы потом забрать) и не трогали люки, ведь они часто используются в постройках)
  • sign-block: если хотите дать возможность игрокам для привата использовать таблички
  • block-list: список блоков для привата
  • blocked-sign-list: список блоков, которые разрешено приватить табличками
Как прописывать ID, чтобы работало [NEW]:
  1. Возьмите в руку блок, который надо внести в конфиг
  2. Поставьте его на землю и не отводите с него прицел
  3. Пропишите команду /mgid
  4. Если вывело разные ID (под прицелом / в руке), прописывайте первый
  5. Если вывело две мета-даты и они разные (ID:мета), прописывайте вторую
PS: зачастую достаточно прописать в конфиг только ID без :мета-дата.
Наглядный пример:
- WOOL:0 # Заприватится только белая шерсть
- WOOL:14 # Заприватится только красная шерсть
- WOOL # Заприватится шерсть всех видов
- CHEST # Заприватятся сундуки "смотрящие" в любую сторону
Как быстро заполнить список для привата - туториал от @MySt1k

Команды:
  • /mgr - перезагрузка конфигурации плагина
  • /mgid - получить ID блока под прицелом / в руке
Permissions:
  • machineguard.bypass.build - доступ ко всем блокам без таблички (даже если Вы не состоите в регионе)
  • machineguard.bypass.build.ID - разрешить доступ к определённому блоку (например, к сундуку Края для VIP)
  • machineguard.bypass.sign - доступ ко всем блокам с табличкой (даже если на ней нет Вашего ника)
  • machineguard.reload - возможность перезагружать конфигурацию плагина
  • machineguard.cmdblock - доступ к командным блокам
  • machineguard.infdis - право устанавливать табличку [Dispenser]
Как приватить:
1.
Повесьте настенную табличку на блок (или рядом) с зажатым Shift (т.е. крадучись) с любой из шести сторон, блок должен быть указан в настройках плагина
2. Напишите [Public] или [Private] на первой строчке
3. Предмет будет доступен даже тем, кто не состоит в привате (если приват публичный). Чтобы дать доступ только состоящим в регионе игрокам и никому больше, просто не вешайте табличку
  • [Public] - блок будет доступен абсолютно всем (публичный приват)
  • [Private] - блок будет доступен только некоторым игрокам, на остальных трёх строчках напишите их ники (по одному на строчку, регистр не учитывается)
  • [Dispenser] - вещи в раздатчике не будут тратиться при выпадании


Известные ошибки:
  • Некоторые блоки уже приватит WorldGuard (сундук, раздатчик, печь, проигрыватель) и MachineGuard с ним не даёт доступ.
  • Фикс: прописать команду /rg flag __global__ chest-access allow
    и затем /rg flag __global__ interact -g non_members allow
Планы на будущее:
  • Исправить недочёт с флагом chest-access Исправляется командой выше
Лог изменений:

# Версия 2.1
  • Плагин обновлён под версии 1.7.9+ (и также 1.7.2-1.7.8)
  • ID больше не в тренде, и теперь плагин работает с именами блоков (не забудьте обновить конфиг!)
# Версия 2.0b
  • Пофикшена табличка [Dispenser]
# Версия 2.0
  • Плагин полностью переписан заново
  • Убраны таблички над блоками, так что теперь для работы приватов надо размещать табличку либо сбоку, либо внизу через один блок. Предупредите игроков!
  • Убраны списки IC/BC/RP, теперь все ID прописываются в одном месте
  • Поддержка мета-даты
  • Запрет на поломку и установку табличек к уже заприваченным блокам
  • Метрика (для отключения opt-out: true в PluginMetrics/config.yml)
  • Команда /mgid
  • Табличка [Dispenser]
  • Дополнительная защита в случае если блок не поддаётся привату
  • Новая папка для удобного обновления (старая без пробела)
# Версия 1.3
  • Окончательный фикс привата табличками (да, теперь можно спокойно приватить двери и двойные сундуки)
  • Табличка под блоком больше не проверяется. В целях безопасности оповестите об этом игроков! Вместо этого табличка проверяется ещё ниже: теперь можно приватить двери, вешая табличку не на них, а под блоками, на которых они стоят (это касается не только дверей, но и остальных блоков)
  • Добавлен Permission на доступ к определённым блокам
  • Добавлена возможность приватить указанные в конфиге блоки во всём мире (block-all), а не только в регионах WorldGuard
  • Исправлено два средней опасности бага, поэтому настоятельно рекомендую обновиться!
# Версия 1.2
  • Перезагрузка командой /mgr (идея Linkinkov)
  • Исправлен баг с названием конфига (спасибо MySt1k'у)
# Версия 1.1
  • Добавлен приват с помощью табличек
  • Поддержка блоков с ID от 1024 до 4095
# Версия 1.0
  • Релиз плагина и прекращение автором его дальнейшей разработки
Привет,вопрос могу ли я настроить,чтоб игроки не могли открыть одновременно 1 блок?
 
подскажите пожалуйста, поставил, настроил чтобы всё в привате автоматом приватилось - всё работает отлично, но небольшая проблема, если вешаешь табличку [public] на блок он разрешает взаимодействовать не только с блоком на котором табличка, но и с соседним если 2 рядом ставишь, как это можно исправить не подскажите ?
 
Это так быть и должно, просто вешайте на одинарный сундук или ставьте рядом обычный и ловушку
 
@Bars Плагин нормально не работает с модом GalactiCraft. Инвентарь механизмов можно открыть и взаимодействовать с настройками механизма. Кажется, с ячеек ничего нельзя взять. Можете исправить?
 
@Bars Плагин нормально не работает с модом GalactiCraft. Инвентарь механизмов можно открыть и взаимодействовать с настройками механизма. Кажется, с ячеек ничего нельзя взять. Можете исправить?
Это ошибка мода. Если нельзя забирать, то он свою работу выполняет
 
Назад
Верх