Данный плагин упростит уход за вашим сервером. С его помощью, вы сможете узнать, кто и когда поставил, разрушил тот или иной блок, откатить действия игроков и многое другое. Проще говоря, он позволит просматривать логи и возвращать состояние блоков, территории, или всего вашего сервера к нужному вам промежутку времени.
Он не требует настроек, сразу же после установки его можно использовать.
Нажатие ЛКМ по верхней части блока, выведет информацию в чат, о том, кем и когда был разрушен блок, который находился над данным. Установив любой блок, вы узнаете информацию о всех блоках, находившиеся ранее на этих координатах.
П ри нажатии ПКМ на любое устройство (кнопка, рычаг, дверь и т.п.) вы узнаете ник игрока, последний использовавший его. Повторный ввод команды /co inspect заканчивает работу с данным плагином.
Команда для отката изменения блоков: /co rollback u: t: b: e: r:
— u: ник игрока, относительно действий которого, произойдет откат
— b: блок, при указании ID откат затронет только эти блоки
— e: исключение, при указании ID, блок останется нетронутым
— r: радиус, относительно вашего положения, в котором произойдет откат
Другие команды плагина :
/co lookup u: t: b: e: r: — просмотр логов по параметрам
/co purge — очистить информацию о блоках за один или несколько месяцев.
Как посмотреть логи в майнкрафте командой
В этой теме будут описаны все команды сервера и как ими пользоваться!
Команды вводятся в чате игры. По умолчанию клавиша Т английская.
/spawn – телепортация на спаун
‼ Команды Цветных надписей в чате: ‼
&k = непонятные символы
‼ Приват территории с помощью деревянного топора: ‼
После топором выделяем нужную область.
Левая кнопка мышки ( ЛКМ ) по блоку установит первую точку выделяемой области
Правая кнопка мышки ( ПКМ ) по блоку установит вторую точку выделяемой области
‼ Добавление(удаление) других игроков в приват. ‼
Команды по привилегиям
Все команды предыдущих донатов
Все команды предыдущих донатов
Все команды предыдущих донатов
Что бы изменить тип спавнера надо найти его в мире навестись на него и прописать команду
Все команды предыдущих донатов
Как пользоваться командой //set?
1) Нужно создать регион минимум на 1 блок больше во все стороны области которую вы хотите сетнуть.
2) выделить топориком область сета так что бы она не касалась краев региона
3) Ввести команду сета
Все команды предыдущих донатов
Все команды предыдущих донатов
1) Создаем заготовку фейерверка. (Порох и бумага в столбик)
2)После создания заготовки, вам необходимо поместить ее в руку (выбранный слот) и только после этого применять команду /firework.
1) color: цвет фейерверка
Использование: color:название_цвета, через, запятую
Пример: color:red,green,pink.
2) fade: цвет затухания фейерверка
Использование: fade:название_цвета, через, запятую
Пример: fade:red,blue
3) shape: форма фейерверка
Использование: shape:название_формы
Пример: shape:large
Применяемые формы:
Star – Звездная форма
Ball – Малый шар
Large – Большой шар
Creeper – Криперообразная форма
4)effect: эффект фейерверка
Использование: effect:название_эффекта, через, запятую
Пример: effect:large
Пример использования команды: /firework color:purple,red,pink,yellow,gray fade:red shape:large effect:trail,twinkle
Возможность писать цветными буквами в чат. (пример «&0 привет &4 мир»)
Делаем лог-систему для Minecraft
Сегодня речь пойдет о мире, о который большинство из вас не знает, но при этом там крутятся многие отличные инженеры-разработчики и большие деньги. Да, как ни странно, речь пойдет о Minecraft.
Minecraft — игра-песочница и на мультиплеер-серверах остро стоит проблема гриферства (от англ. griefing — вредительство), когда игроки рушат чужие постройки. На серверах с этой проблемой справляются по-разному. На публичных используют плагин на ‘приват’, на остальных же все строится на доверии.
Еще один из способов предотвратить гриферство — бан всех гриферов. И для того чтобы вычислить их, приходиться логгировать установку и удаление блоков. Собственно, о процессе создания такой лог-системы и пойдет речь дальше.
Выбор базы данных
Итак, вот у нас массив данных и хорошо бы его куда-то сохранять. Умные люди давно придумали БД. Лично у меня требования к БД были такие:
Последний пункт появился из-за того, что не на всех хостингах есть возможность получить root-доступ или установить какой-либо пакет. К тому же, не хотелось усложнять процедуру установки, а остановиться на «Кинул и забыл».
Базы данных, которые удовлетворяли бы всем критериям я не нашел, поэтому решил сделать свою мини-БД на Java.
Оптимизация места на жёстком диске
Основная проблема игры, как считают многие, — все её вычисления происходят в одном потоке. Это настоящая боль держателей серверов. Распараллелить изначально однопоточную архитектуру — надо постараться.
Поэтому само логгирование пришлось вынести в отдельный поток. А чтобы система не захлебнулась от Event’ов в очереди, добавить поддержку воркеров. Количество воркеров настраеваемое.
В итоге получилось так, что само событие перехватывается в главном тике, потом отправляется в поток, который занят тем, что распределяет задачи между воркерами. Там мы получаем файл, в который надо занести наше событие и передаем уже воркеру, который прикреплен к этому файлу. И сама операция IO происходит в воркере.
Оптимизация места на жёстком диске
Большое количество событий может привести к тому, что логи будут весить больше, чем сам мир. Этого нам допустить нельзя, поэтому будем думать.
Изначально строчка в логфайле выглядела так:
[2001-07-04T12:08:56.235-0700]Player PLACE to 128,128,128
При беглом взгляде можно заметить, что 2001-07-04T12:08:56.235-0700 можно сократить до Timestamp, а PLACE или REMOVE на символ ‘+’ и ‘-‘ соответственно. Ну и уберем нафиг ‘to’:
Не сложно заметить, что в логе будет часто повторятся nickname и blockid. Соответсвенно, их можно вынести в отдельный файл, а в лог писать только id
[123454678]1 + 1 128,128,128
В итоге я пришел к тому, что в строчке лога остались только числа и один символ. Мы сэкономим много места, если уберем разделители (пробелы) и числа будем записывать как байты, а не как символы. Сообственно, это привело меня к решению использовать байтовые логи.
Сама байтовая строка теперь выглядит так:
| Name | posX | posY | posZ | typeaction | playerid | blockid | timestamp |
|---|---|---|---|---|---|---|---|
| Field Length (bytes) | 4 byte | 4 byte | 4 byte | 1 byte (‘0’ for Remove, ‘1’ for Insert) | 4 byte | 8 byte | 8 byte |
Итого мы имеем 35 байтов на строку фиксированно (1 байт для разделения строк).
Вначале был соблазн оставить 34 байта, но так как запись ведется в один файл, то в случае с фиксированной длинной, если побьется одна строка, весь файл станет нечитаемым.
Структура строки для blockname to id:
| Name | id | blockname |
|---|---|---|
| Field Length (bytes) | 8 byte | 1 byte per symbols |
21 байтов на блок
Имя файла: blockmap.bytelog
Структура строки для nickname to id:
| Name | id | nickname |
|---|---|---|
| Field Length (bytes) | 4 byte | 1 byte per symbols |
10 байтов на игрока
Имя файла: nickmap.bytelog
Оптимизация памяти
Чтобы быстро маппить blockname и nickname в id пришлось держать содержимое обоих файлов в памяти. Java не может в HashMap хранить примитивные типы, поэтому каждый Integer будет стоить нам
50 байт в памяти, что очень много.
Решить эту проблему нам поможет библиотека trove.
Но каждый символ у нас занимает примерно 2 байта. Мы можем снизить потребления памяти с помощью самописного файла ASCIString, в котором символы хранятся в byte[], а не в char[].
Тестирование
В тестировании байтовой сериализации и десериализации ничего необычного нет, а вот для тестирования компонентов, к которым требовался многопоточный доступ пришлось использовать фреймворк от гугла Thread Weaver. Обычный тест с использованием этого фреймворка выглядит так:
Фреймворк стучит из обоих потоков с разным порядком, что позволяет выловить самые противные баги в асинхронном коде.
Заключение
Пока по количеству скачиваний будет понятно стоит ли развивать дальше этот мод и идею. Из примерных планов на будущее:
Как посмотреть логи чата в майнкрафт
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Всем Привет!
Сразу к делу: допустим есть у меня чат лог. (C:\Users\[типамоеимя]\AppData\Roaming\.minecraft\logs\latestlog.txt)
Нужно найти строку с сообщением has been received from, (когда тебе перекинули деньги)
И когда найдешь, написать: /tell [ник кинувшего деньги] Спасибо!
Да, понимаю что скрипт просто пишет спасибо в лс. Однако мне интересно как это сделать. И я почти все знаю как сделать. Однако как выделить ник кинувшего деньги: проблема.
семь просмотров, а что нить написать — никто.
ну дак. Я же написал:
«Однако как выделить ник кинувшего деньги: проблема.»
Плюс там написано: Почти все.
Полезно будет в основном тем, кто играет на серверах.
Было у меня немного времени и я решил написать программку для просмотра логов Майнкрафта. В эти самые логи пишется в том числе и чат. Так что теперь есть у вас (нас) возможность вспомнить о чём трепались в чате год-два назад. Если, конечно, не переустанавливали Майнкрафт с тех пор.
Программа «Просмотр логов Minecraft» будет полезна прежде всего для тех, кто предпочитает игру по сети, ибо в логи пишется игровой чат.
Minecraft пишет все свои логи по адресу %appdata%\.minecraft\logs
Последний лог записан в файле latest.log, предыдущие заархивированы в формате gz и находятся рядом.
Для работы с программой нужно:
* указать каталог установки Minecraft (по умолчанию это %appdata%\.minecraft)
* указать фильтры (наличие фильтров заметно ускоряет обработку логов, особенно когда их много)
* нажать кнопку с пиктограммой молотка
* дождаться окончания обработки логов
Как работают фильтры
Фильтров всего два:
* что обязательно должно присутствовать в строке лога. Условия накладываются опционально — либо И, либо ИЛИ.
* что не должно присутствовать в строке лога. Условия накладываются по принципу И.
Если объём логов велик, то правильнее будет сохранить результат работы программы в текстовый файл (кнопка с пиктограммой дискеты) и открыть его более мощным текстовым редактором.
1. Зажать кнопочки вин (
) и R,
3. Ищем папочку vimeworld (в нашем случаи),
3. Выбираем сервер, допустим, vime,
4. В папочке с сервером ищем блокнот с названием ForgeModLoader-client-0.log.
1. Зажать кнопочки вин (
) и R,
3. Ищем папочку vimeworld (в нашем случаи),
3. Выбираем сервер, допустим, vime,
4. В папочке с сервером ищем блокнот с названием ForgeModLoader-client-0.log.
Эра ультрагайдов начинается!
Для новичков норм, но есть и второй способ, и я его опишу сейчас.
1) Открываем Мой Компьютер.
2) Далее жмем на «Вид», приложу ниже скриншоты пронумерованные.
3) Ставим галочку около «Скрытые элементы».
4) Проходим к скриншотам вот так: Мой компьютер\Диск C\Пользователи\Ваше имя компьютера\AppData\Roaming\.vimeworld\название папки нужного сервера\Forge-ModLoader-client-0 в разрешении «LOG», если у вас игра запущена, желательно открывать данный файл либо NotePad++ либо Блокнотом.
Вот сами скриншоты (для 1, 2 и 3 шага). Думаю, мой способ работает на любой Windows, у меня лично 8.1, и у меня так можно, а как у вас, я не знаю, сами разберетесь.
Все команды консоли /locate в Minecraft
Доброго времени суток, дорогие читатели! Когда-то я писал статью про то, как в Майнкрафте быстро найти деревню при помощи команд /locate и /tp, и на удивление она по сей день набирает просмотры, хотя я даже и не ожидал такого. Ну, раз вам так интересно знать, как найти деревню, то сегодня я напишу статью, в которой будут все команды /locate, доступные в игре. Начинаем!
Как найти затонувший корабль
В затонувшем корабле можно найти много интересного, в том числе и карту сокровищ, позволяющую найти клад.
Чтобы найти ближайшие координаты затонувшего корабля, используем следующую команду:
/locate shipwreck
Как найти клад
Подробно про клад мы говорили в отдельной статье.
Но если же вам не хочется мучаться с копанием клада, и вы хотите узнать его точные координаты, то спасет следующая команда:
/locate buriedtreasure
Как найти развалины бастиона
Развалины бастиона появились после выхода адского обновления. В нем можно встретить таких обитателей как пиглин, пиглин-бестия, хоглин. Кроме того, в бастионе можно найти сундук с интересными вещами.
Вот команда, чтобы узнать ближайшие координаты бастиона:
/locate bastionremnant
Как найти город Края
Про то, как найти город Края без команд я писал здесь.
А если же вам нужна команда ближаших координат города Края, то вот:
/locate endcity
Как найти адскую крепость.
Ну, а команда, как было написано в той статье, следующая:
/locate fortress
Как найти особняк
Недавно я писал статью про сид на особняк около спавна. Но зачем?
Все потому, что в основном особняки генерируются на очень огромных координатах, зачастую бывает в несколько десятков тысяч блоков от спавна. Не верите? Проверьте сами, узна ближайшие координаты особняка командой:
/locate mansion
Как найти заброшенную шахту
В Майнкрафте есть такая структура, как заброшенная шахта. В ней можно найти много интересного, включая вагонетки с сундуками с интересным содержимым.
Чтоб узнать координаты ближайшей шахты, пишем следующее:
/locate mineshaft
Как найти подводную крепость
В подводной крепости можно найти губки, а также добыть призмарин для создания конструкции проводника и еще немного золотых блоков.
Чтобы узнать координаты ближайшей подводной крепости, пишем:
/locate monument
Как найти аванпост разбойников
Если же вам хочется сразиться с разбойниками, вызвать рейд на деревню, и после победы получить эффект «Герой деревни», то аванпост разбойников — это то, куда вам надо направляться в первую очередь.
Чтоб узнать ближайшие координаты аванпоста, пишем:
/locate pillageroutpost
Как найти обломки портала
Разрушенный портал очень полезная вещь. С его помощью вам нужно будет лишь починить этот портал (если, конечно, он не будет где-то в океане), и отправиться в путешествие в Нижний мир, а также собрать с него плачущий обсидиан для крафта якоря возрождения.
Чтоб узнать ближайшие координаты разрушенного портала, пишем:
/locate ruinedportal
Как найти руины
Руины — структура в Майнкрафте, которую можно встретить в океане (а иногда и на суше), в которых можно найти сундуки с различными вещами.
Чтобы узнать координаты близких руин, пишем:
/locate ruins
Как найти крепость
Крепость — важная структура игры, потому что именно там можно встретить портал в Край.
Чтобы узнать координаты крепости, пишем
/locate stronghold
Как найти храм
Все мы, наверняка, знаем пустынный храм. И данная команда, которая будет ниже, способна отобразить не только координаты на пустынный храм, но еще и храм джунглей, а также иглу или домик ведьмы. Смотря что из этого будет ближе всего к игроку.
Чтобы узнать ближайшие координаты одной из этих структур, пишем:
/locate temple
Как найти деревню
И, наконец, последняя команда — по нахождению деревни. Про находку деревни я говорил в этой статье.
Но все же, напишу эту команду еще раз:
/locate village
А на этом все! Спасибло за внимание и приятной игры!


















