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

Nikto .Профи (753) 1 год назад
Меня по атчивке спалили ( Гриферил визером )
ST1MEX Мастер (1046) Nikto ., Хех, понятно, полезный урок на будущее)
Остальные ответы
Возьми да открой логи и посмотри
Nikto .Профи (753) 1 год назад
Чел, у меня откуда сервер?
Я хочу лошков загриферить

Nieren Искусственный Интеллект (178548) Во-первых, в вопросе не указано сервер или клиент Во-вторых, ядра серверов свободно распространяются на сайтах, можно скачать любое ядро и посмотреть

Похожие вопросы
Ваш браузер устарел

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

ПОДСТАВЫ, ЛОГИ, СКИНЫ, ЛАУНЧЕР и другое (ФАЙЛЫ ИГРЫ) — vimeworld ваймворлд minecraft майнкрафт

Источник: otvet.mail.ru

База знаний

Как читать/понимать логи вашего сервера Minecraft:
При чтении логов следует учитывать пять терминов:
TRACE — Показывает, где что-то выполняется в самом сервере/плагине/моде.
DEBUG — Проверка ошибок с целью их устранения.
INFO — Отображение информации о том, что сервер/плагин/мод в настоящее время выполняется.
FATAL — Что-то не удалось выполнить, в результате чего сервер перестал работать.
ERROR — Отображает, где или что вызывает остановку работы сервера/плагина/мода.

Пример:
Следующая ошибка возникает из-за того, что плагин WorldEdit устарел: (1.7.10 > 1.15.2)

28.07 13:26:19 [Server] Server thread/ERROR Error occurred while enabling WorldEdit v5.6.3 (Is it up to date?) 28.07 13:26:19 [Server] INFO java.lang.IllegalArgumentException: Channel must contain : separator (attempted to use WECUI) 28.07 13:26:19 [Server] INFO at org.bukkit.plugin.messaging.StandardMessenger.validateAndCorrectChannel(StandardMessenger.java:503) ~[spigot-1.15.2.jar:git-Spigot-a99063f-be6aaf0] 28.07 13:26:19 [Server] INFO at org.bukkit.plugin.messaging.StandardMessenger.registerIncomingPluginChannel(StandardMessenger.java:216) ~[spigot-1.15.2.jar:git-Spigot-a99063f-be6aaf0] 28.07 13:26:19 [Server] INFO at com.sk89q.worldedit.bukkit.WorldEditPlugin.onEnable(WorldEditPlugin.java:121) ~[. ] 28.07 13:26:19 [Server] INFO at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot-1.15.2.jar:git-Spigot-a99063f-be6aaf0] 28.07 13:26:19 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) [spigot-1.15.2.jar:git-Spigot-a99063f-be6aaf0] 28.07 13:26:19 [Server] INFO at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) [spigot-1.15.2.jar:git-Spigot-a99063f-be6aaf0] 28.07 13:26:19 [Server] INFO at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugin(CraftServer.java:464) [spigot-1.15.2.jar:git-Spigot-a99063f-be6aaf0] 28.07 13:26:19 [Server] INFO at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugins(CraftServer.java:378) [spigot-1.15.2.jar:git-Spigot-a99063f-be6aaf0] 28.07 13:26:19 [Server] INFO at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:457) [spigot-1.15.2.jar:git-Spigot-a99063f-be6aaf0] 28.07 13:26:19 [Server] INFO at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:274) [spigot-1.15.2.jar:git-Spigot-a99063f-be6aaf0] 28.07 13:26:19 [Server] INFO at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:784) [spigot-1.15.2.jar:git-Spigot-a99063f-be6aaf0] 28.07 13:26:19 [Server] INFO at java.lang.Thread.run(Thread.java:748) [?:1.8.0_251]

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

Примечание: Существуют сотни причин, по которым ваш сервер работает неэффективно или дает сбой, но важно проверить выходы FATAL или ERROR, чтобы определить проблему.

ЛОГИРОВАНИЕ ДЕЙСТВИЙ ИГРОКА | COREPROTECT — ОБЗОРЫ ПЛАГИНОВ #9

  • logs, Логи, Как читать логи, ERROR, TRACE, DEBUG, INFO, FATAL
  • 47 Пользователи нашли это полезным

Связанные статьи

Панель включает в себя встроенный FTP-клиент, позволяющий как загружать свои файлы на сервер, так.

После оплаты заказа ваш сервер автоматически устанавливается с выбранными параметрами. В любой.

Если вы хотите загрузить собственную сборку Minecraft сервера, вы должны выполнить следующие.

Как узнать версию сервера PaperSpigot, CraftBukkit, Spigot, PurPur и др.? 1) Перейти в панель.

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

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

Делаем лог-систему для Minecraft

Сегодня речь пойдет о мире, о который большинство из вас не знает, но при этом там крутятся многие отличные инженеры-разработчики и большие деньги. Да, как ни странно, речь пойдет о Minecraft.

Minecraft — игра-песочница и на мультиплеер-серверах остро стоит проблема гриферства (от англ. griefing — вредительство), когда игроки рушат чужие постройки. На серверах с этой проблемой справляются по-разному. На публичных используют плагин на ‘приват’, на остальных же все строится на доверии.

Еще один из способов предотвратить гриферство — бан всех гриферов. И для того чтобы вычислить их, приходиться логгировать установку и удаление блоков. Собственно, о процессе создания такой лог-системы и пойдет речь дальше.

Выбор базы данных

Итак, вот у нас массив данных и хорошо бы его куда-то сохранять. Умные люди давно придумали БД. Лично у меня требования к БД были такие:

  • Быстрая вставка
  • Максимальное сжатие данных
  • Возможность из Java без root-прав развертываться без лишних телодвижений
Читайте также:  Как приручить ведьму в майнкрафте

Последний пункт появился из-за того, что не на всех хостингах есть возможность получить 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.

private final TObjectIntHashMap uuidToId = new TObjectIntHashMap();

Но каждый символ у нас занимает примерно 2 байта. Мы можем снизить потребления памяти с помощью самописного файла ASCIString, в котором символы хранятся в byte[], а не в char[].

Тестирование

В тестировании байтовой сериализации и десериализации ничего необычного нет, а вот для тестирования компонентов, к которым требовался многопоточный доступ пришлось использовать фреймворк от гугла Thread Weaver. Обычный тест с использованием этого фреймворка выглядит так:

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

Заключение

Пока по количеству скачиваний будет понятно стоит ли развивать дальше этот мод и идею. Из примерных планов на будущее:

  • Добавить возможность удалять старые и неактуальные логи автоматически
  • Добавить сжатие для файлов

Ссылки

P.S. Вы только посмотрите какая офигенная конфиг-система в новых версиях Minecraft Forge

Источник: habr.com