Задача плагина в извещении игроков и администрации, что кто-то (или кто-то кроме) заходил или выходил в выделенный регион. Регион предлагается выделять средствами worldguard
Команды:Код:region: #можно так name: reg1 #имя региона owner: Name,name2,name3,name4 #владельцы #координаты региона: min x y z max x y z #а можно так, раз мы используем wg, инфу о координатах региона берем оттуда. name: reg1 loging: on #включаем логи в данном регионе alarm: on #включаем извещения владельцам о том, что кто-то зашел к ним admin-alarm: on #извещать ли админов #хотелось бы иметь возможность получать алярмы на почту или вообще на сайт. name: reg2 ....
/alarm reg1 on\off включить\выкл извещения для себя в регионе reg1 (alarm.region.reg1)
/alarm reg1 log показать лог (alarm.region.reg1)
/alarm reg1 log remove удалить лог (alarm.admin)
/alarm reg1 owner add momai - добавить momai в списки участников региона. (alarm.region.reg1)
/alarm reg1 owner del momai (alarm.region.reg1)
Формат отображения лога:
[дата][время] momai зашел в регион reg1!
[дата][время] momai вышел из региона reg1!
Формат отображения алертов
Внимание! В ваш регион reg1 зашел игрок momai!
-
Надоели заброшенки. А давайте сделаем приват? Но правильный. В условиях где игроки имеют единые возможности на всей карте, в т.ч. и на чужих участках, но под нашим чутким присмотром. К тому же, когда игроки часто меняются, появляется желание что нибудь украсть. А админы и не узнают.
Функционал из глаз игрока:
1) Зашел, отметил регион дома установкой кровати - кроватей может быть несколько. Регион все равно общий - строить могут все. Пускай регион ограничится чанком в котором стоит игрок.
2) Можешь добавлять друзей во все регионы по команде /friend (members в wg конфиге)
3) Если кто-то не из друзей заходит в твой регион - тебе пишется в чат.
4) Долго не заходил в свой регион? Инфа о твоем регионе записана в очередь на ручное удаление.
5) Попытался удалить свою кровать? Сначала тебе сообщат, что если ты действительно этого хочешь, то потеряешь точку респавна (если установлена стуком по кровати), а так же, твоя постройка отправится в очередь на удаление.
6) Кол-во возможных установленных кроватей ограничено
7) Ты можешь посмотреть список своих кроватей и их координаты
Функции от админа
1) Установка авторегиона по команде. Пусть выделяется чанк где стоял игрок. Плагин на автофлаги вроде есть.
2) Доступ к командам wg по добавлению участников (members) в свой регион.
3) Запись логов входов выходов с региона чужаков. Записывать последний вход владельца региона. Реализация функционала описана в первом посте.
4) Если игрока нет в регионе n дней, сообщать админу в игре и записать это в текстовый файлик на удаление.
Получая все эти данные, я смогу удалять большие пласты карты, для её последующей регенерации, посредством LokiRegenerator, без последствий.
Со стороны разработки:
1) Реализация авторегиона. Вроде есть такой плагин, но говорят глючит. Нужно что б не глючило, либо найти усредненный вариант между реализацией региона по 1й команде и бегатней с топором.
2) Добавить в событие wg "вход\выход с региона" переменную игрока и дальнейшую его проверку на владелец\чужак.
3) В случае владельца - перезаписать информацию о последнем входе. В случае чужака - дописать в конец файла. Реализовать алярмы, в том случае, если игрок\оп в сети.
Остальное должно быть условно понятно.Последнее редактирование: 1 май 2017 -
Еще немного структурированных мыслей:
При установке кровати, создается регион в wg в размере 9 чанков, с кроватью в центре. Так же, эти данные записываются в БД (или файл) с информацией о последнем заходе владельца\участников региона, никах владельцев\участников, логи о входе\выходе прохожих, а так же, координаты региона. В случае внесения изменений в worldguard руками, администратор должен ввести команду синхронизации, которая обновит владельцев\участников региона и его координаты в базе данных плагина. Названия регионов так же записываются в бд плагина и синхронизируются с wg. Конфиг wg является главным.
В случае, когда владелец\участники региона не появляются на участке в пределах выставленных в конфиге - данные в бд помечаются на удаление. Думаю будет разумным помечать участки на удаление два раза, потому, если владелец\участники региона не повляются на участке еще дольше - участок помечается в бд на срочное удаление.
Администратор должен иметь возможность из игры и из консоли по команде получить список активных участков и участков на удаление (со списком участков на срочное удаление сверху), по отдельности.
Из, вероятно, сложно реализуемого - в случае если игрок играет уже больше 1\2\3\5 месяцев, размеры региона соответственно увеличиваются. В случае наложения регионов друг на друга, в БД плагина, записи объединять, с пометкой объединения и сохранением обоих имен, а координаты складывать в общий регион, оставляя при этом конфиг wg нетронутым.
Задача глобальной чистки такова - получив список регионов, облететь их, подправить их координаты в соответствие с постройками игроков. Удалить все что не в регионах.
Задача профилактики - получив список регионов на удаление - удалить их. -
Описание плагина: Создает автоматически регион wg с указанными флагами (можно отдельным плагином сделать флаги) при установке кровати игроком. Записывает данные о событиях в регионе в бд. Ставит заброшенные регионы в очередь на ручное удаление, извещает об этом пользователей и администраторов.
Примерная структура данных в бд:
таблица всех игроков с выдачей им id
таблица со списком регионов, в ней:
- Время создания региона
- владельцы региона
- координаты региона
- вкл\выкл извещения
- список друзей
Таблица с событиями:
- Время последнего входа владельца в регион
- Список игроков посетивших регион
- Время когда они входили, каждый по отдельности.
Код:mysql: #стандартные настройки для подключения к бд region: 9 chunk #сколько чанков приватить name-tag: @username_region #ну типа имя региона - имя юзера+ что-то autoflag: '{entry: allow, greeting: Владения @username. , passthrough: allow, farewell:Выход с владений} #Передача флагов в wg, я подозреваю это крайне геморойно реализовать в таком виде, #но взаимодействие с конфигом wg все равно реализовывать так почему бы и нет. #Нужно понимать, что флаги farewell и greeting присутствуют для детектирования. #Если можно брать событие о входе в регион, не включая данный #флаг в конфиге - все упрощается. max-regions: 2 #кол-во допустимых регионов у игрока. После этого, новые регионы создаваться не будут. delete-time: 90d #какое кол-во дней игрок не должен появляться в регионе,что бы данные попали в список на удаление f-delete-time 60d #сколько пройдет еще времени, что бы регион попал в список на срочное удаление username-ignore: momai #эти игроки не будут детектиться плагином logs: #кол-во хранимых записей о событиях в бд alien-user: 150 #сколько записей хранить о посещении региона игроками messages: create: Вы установили кровать, тем самым обозначив это место домом. Данная постройка и прилегающие к ней, находятся под наблюдением администраторов. create-2: Вы установили вторую кровать и обозначили это место вторым домом. Это максимально допустимое кол-во домов за которыми может следить администрация. max-region: Вы превысили кол-во домов, удалите кровать в старом доме, в противном случае, сохранность региона в долгосрочной перспективе не гарантируется (больше месяца)
Последнее редактирование: 10 май 2017 -
Ещё раз. Заново.
Описание плагина\мода:
1) Автоматическое создание региона при установке кровати игроком в заданном радиусе. Регион не блокирует доступ другим игрокам а служит средством самоконтроля добропорядочности игрового комьюнити самими игроками. Участники региона получают оповещения о действиях на регионе на email или на сайт, а так же могут просмотреть список логов по своим регионам.
2) Второй ключевой особенностью мода является контроль заброшенных участков. С возможностью их последующего ручного удаления.
Суть:
1) Игрок поставил кровать, создался автоматом регион вокруг кровати о чем игроку оповещается. Регион позволяет игроку получать уведомления о том кто ходил у него по региону. Базовая функциональность - оповещение владельца региона и его участников о входе в регион игрока не принадлежащего к списку участников. Оповещение должно приходить во вне - на почту или сайт и содержать данные: ник кто зашел, когда, когда вышел. Игрок должен видеть оповещение и в игровом чате, а так же просматривать список логов по своему региону в хронологическом порядке. Необязательным эл-ом, в случае не высокой нагрузки, можно добавить открывание сундуков и всякого такого в регионе незнакомым лицом.
2) В случае если владелец или участники поселения не появляются на территории более N дней, регион помещается в очередь на удаление. Доступ к этому списку должен быть у администратора в web в порядке убывания.
Особенности:
Все регионы представлены в таблице в порядке убывания в web.
(имя региона / создан / последний вход участника и ник / последние вошедшие с датой / координаты региона / участники / дней до удаления)
Нельзя установить регионы ближе 5 чанков друг к другу.
При удалении кровати регион и информация о нем удаляется.
Кровать - единственный защищенный блок. Кол-во защит = кол-ву допустимых регионов.
Владелец и участники могут расширять границы региона командой.
Владелец может приглашать и удалять игроков.
Все участники региона могут настроить оповещения через команды (вкл\выкл email, вкл\вкл game, ignore name - исключить игрока из детектов)
Администратор может включить оповещения для себя на любых регионах.
Возможность редактирования координат регионов администратором.
Примерная структура данных в бд:
таблица всех игроков с выдачей им id, настройками оповещений и списком их регионов
таблица со списком регионов, в ней:
- Время создания региона
- владельцы и участники региона
- координаты региона
Таблица с событиями:
- Время последнего входа владельца в регион
- Список игроков посетивших регион
- Время когда они входили, каждый по отдельности.
Код:mysql: #стандартные настройки для подключения к бд region: 5 chunk #сколько чанков приватить по умолчанию name-tag: @username_region #имя региона - имя юзера+ что-то #детекторы и настройки по умолчанию join: true #вход и выход на регион max-regions: 2 #кол-во допустимых регионов у игрока. После этого, новые регионы создаваться не будут. delete-time: 90d #какое кол-во дней игрок не должен появляться в регионе,что бы данные попали в список на удаление f-delete-time 60d #сколько пройдет еще времени, что бы регион попал в список на срочное удаление alert-delete-user: true #оповестить ли участников поселения? (email + game) alert-delete-op: true: #оповещение админа username-ignore: momai #эти игроки не будут детектиться плагином logs: #кол-во хранимых записей о событиях в бд alien-user: 150 #сколько записей хранить о посещении региона игроками messages: create: Вы установили кровать, тем самым обозначив это место домом. Данная постройка и прилегающие к ней, находятся под наблюдением администраторов. create-2: Вы установили вторую кровать и обозначили это место вторым домом. Это максимально допустимое кол-во домов за которыми может следить администрация. errorcreate: Вы поставили кровать слишком близко к первой, так что регион создан не будет. Если вы хотите расширить существующий регион на 10 чанков, используйте команду /re 10 max-region: Вы превысили кол-во домов, удалите кровать в старом доме, в противном случае, сохранность региона в долгосрочной перспективе не гарантируется (больше месяца)
Последнее редактирование: 14 авг 2018 -
1) А как быть, если другой игрок случайно сломал чужую кровать. Например мутузил зомби, у него проглючило и случайно снес. Что будет?
2) Есть ли какой-то индивидуальный подход к "заходибельности" игрока в игру? Например игрок перешел на время с Ванили на ТФК, а потом просто оставался в дискорде, ибо взял "перерыв" на полгода;
3) Правила отката регионов распространяются на плагин? Например вайпнули регион и на следующий день вернулся игрок;
4) Что, если игрок не может по той или иной причине сделать кровать. Как ему быть (актуально для ТФК)?
5) Что происходит с регионами забаненных игроков? Они автоматом переходят в категорию "на удаление"?
6) Предоставляются ли поселениям какие-либо "дополнительные" бонусы в создании регионов?
7) Как отслеживается то, что например владелец региона 1 раз зашел, зарегистрировал регион и "попал", а на его регионе активно продолжает играть его друг,при этом его кровать в абсолютно другом месте?
8) Не будет ли у не "заприваченных" территорий меньше шансов поймать грифера и больше шансов быть вайпнутыми?
9) Если игроки поставят кровать до установки "дополнения плагина", то им нужно ее переставить?
10) Как быть игрокам, которые используют кровати как декор? -
В любом случае это лишь концепт, который еще надо будет реализовывать)Последнее редактирование: 15 авг 2018 -
Мне не нравится визуально непонятная картина касательно распределения регионов. Хочу что бы админ мог увидеть регионы на карте, а игроки иметь представление о свободных от регионов участках.
Пока не придумал ничего вразумительного. Думаю правильным шагом будет интеграция с картой, к примеру динмапа. Либо сингловая карта. Нужно подумать. С одной стороны новичок не должен иметь доступ к инфе о расположении регионов, с другой - он должен иметь представление о свободных участках. -
Запишу сюда, про отдельную кровать-итем для этих целей, отличную от шерсте-кровати для тфк. Хотя как сказал Момай, это все скорее для магии.