Как открыть fml лог майнкрафт
Выявлена критическая уязвимость, угрожающая серверам и клиентам Minecraft
В популярном фреймворке Apache Log4j, предназначенном для ведения журналирования в Java-приложениях, выявлена критическая уязвимость, которая позволяет выполнить произвольный код при записи в лог сообщения в определённом формате.
Библиотека Log4j очень популярна и практически стала стандартом. Ею пользовались многие Java-разработчики, а, значит, угрозе сейчас потенциально подвержено множество приложений.
Ожидается, что уязвимость привлечёт к множественным атакам на корпоративные приложения и веб-сервисы, использующие Java.
Ситуация осложняется тем, что об уязвимости стало широко известно до того, как было выпущено исправление библиотеки. На момент написания статьи было опубликовано лишь две предварительных версии, исправляющие ошибку.
Библиотека использовалась во множестве популярных фреймворков, таких как Steam, Apple iCloud, Apache Sprut, а также, что нам особенно интересно, в клиенте и сервере игры Minecraft Java Edition.
Как злоумышленники могут использовать данную уязвимость в Minecraft
Поскольку для того, чтобы выполнить произвольный код, необходимо записать в лог строку в определённом формате, то фактически источником уязвимость может стать любой источник, который может повлечь создание такой строки.
Это может быть плагин для сервера, мод или игрок с таким модом, какой-то пакет данных, отправленный с сервера игроку, и т.п.
Ситуация действительно серьёзная, учитывая, что случаи взлома и атаки на игровые серверы в Minecraft-сообществе не являются редкостью.
Думаю, что потенциальными целями для злоумышленников в первую очередь станут серверы, но позаботиться о безопасности нужно всем.
Как защититься игрокам и владельцам серверов
На текущий момент уже выпущены обновления для Minecraft, а также популярных серверов и движков модов.
За создателей игры отдувался разработчик Java Edition @slicedlime, который создал тред в твиттере, в котором рассказал о ситуации.
Важное из его треда:
Разработчики Spigot тоже сообщили об исправлении уязвимости, начиная с версий Spigot 1.8.8 и новее. Minecraft-прокси BungeeCord не подвержен уязвимости.
Разработчики Paper выпустили соответствующие обновления Paper 1.16.5, Paper 1.17, Paper 1.18, а также прокси Waterfall и Velocity.
Выпущен новый Fabric Loader 0.12.9, который должен решать проблему с уязвимостями. Также разработчиками Fabric выпущен мод, который (по идее) должен решать проблему во всех версиях Minecraft.
Выпущено обновление Forge 1.18-38.0.17 (обновления для 1.17 и 1.16 будут выпущены позднее).
С альтернативными лаунчерами в общем случае ситуация должна быть следующая. Лаунчеры, как правило, загружают файлы игры с северов Minecraft, т.е. если сейчас производится загрузка Minecraft 1.17, например, то он будет обновлён.
Будут ли обновляться существующие установки игры — это зависит от каждого лаунчера.
Я получил комментарий от разработчиков лаунчера TL, в котором мне подтвердили, что существующие установки будут обновлены автоматически. Более того, сейчас выпущены бета версии лаунчера (tlaun.ch/latest/jar, tlaun.ch/latest/exe), в которых на стороне лаунчера будет производиться проверка конфигурации Log4j и его модификация с целью предотвращения уязвимости.
Поэтому владельцам серверов нужно:
Игрокам нужно:
И, конечно, теперь надо следить за новостями. Обновления, выпущенные сегодня, скорее всего, не последние. Обновленного релиза Log4j пока нет, а все текущие исправления сводятся к отключению потенциально опасно функции. Думаю, можно ждать дальнейших обновлений, связанных с исправлением этой уязвимости.
Решение проблем в TLauncher
Если у вас появились вопросы при использовании нашего TLauncher, то в этой новости мы собрали наиболее частые проблемы и их решения.
— А это платно?
Нет, это бесплатно.
— Что делать, если TLauncher или Minecraft отказывается работать?
1) Переустановить Java с сайта http://java.com
2) Скачать последнюю версию TLauncher:
3) Удалить файл настройки
/.tlauncher/ru-minecraft.properties
4) Удалить папку
* на скриншоте количество выделяемой памяти стоит для примера, у вас может запуститься только на других значениях.
— Как установить скин?
Купить игру и установить в профиле на официальном сайте.
— Почему мой скин отображается криво?
Начиная с версии 1.8 используется другой формат скинов, который не поддерживается в более ранних версиях.
— Я поставил скин по нику, почему он не отображается?
С введением новой системы скинов (с версий 1.7.5+), скин перестал отображаться у пиратов.
— Где взять моды?
У нас на сайте, в разделе Моды.
— Как установить моды?
Читайте инструкцию в новости с модом.
— Где папка «bin», файл «minecraft.jar»?
После выхода Minecraft 1.6 (которая вышла больше года назад, слоупоки) папка «bin» заменена на папку «versions/Номер_версии/», а «minecraft.jar» на «versions/Номер_версии/Номер_версии.jar» соответственно.
— Версии с Forge (до 1.7.10) не запускаются вообще. Или при их запуске лаунчер перезапускается (закрывается и снова открывается).
Возможно, у тебя установлен один из апдейтов Java 8, который имеет известный баг сортировщика.
(!) Для новых версий Forge 1.7.10 патч не требуется.
2) Открой папку Minecraft, кликнув на иконку папки в главном меню TLauncher.
3) Последовательно перейди в папку libraries/net/minecraftforge/minecraftforge/
4) Найди папку, окончание имени которого совпадает с номером патча.
Например, ты скачал патч для Forge 1.7.2 #1121 / #1147: тебе нужно открыть папку 1.7.2-10.12.2.1121 (или 1.7.2-10.12.2.1147, как там будет; если есть обе папки, применяй патч к обоим)
5) Открой JAR-файл, находящийся в этой папке любым архиватором. Удали папку META-INF/. Открой папку cpw/mods/fml/relauncher/ и скопируй в неё файл, который ты скачал. Согласись на замену и закрой архиватор.
6) Готово 🙂
– Нажмите «Accept License Agreement»
– Если у тебя 64-битная система, выбери «Windows x64 (jre-7uXX-windows-x64.exe)». Если нет, то выбери «Windows x86 Offline (jre-7uXX-windows-i586.exe)».
* На месте XX любое двузначное число от 51 до 99.
– Запусти загруженный файл
— Не могу играть на сервере!
1) Если выходит ошибка «связанная чем-то там с java», то попробуйте отключить антивирус и/или брандмауэр и проверьте подключение к Интернету.
2) Если выходит ошибка «Bad Login» или «Invalid session» («Недопустимая сессия»), то ошибка связана с тем, что сервер использует премиум-модель авторизации, то есть пиратов (или просто людей с другими лаунчерами), на этот сервер не пустят. Попробуйте войти на этот сервер с использованием лаунчера, который предлагается на сайте/странице этого сервера, либо используйте официальный.
— Не могу играть по локальной сети: пишет «Недопустимая сессия»
«Открыть» сервер для сети могут только премиум-пользователи. Создайте отдельный сервер (У нас есть статья как создать сервер Майнкрафт) и в его настройках пропишите online-mode=false
— Антивирус Касперского блокирует загрузку ресурсов. Что делать?
Добавьте в белый список Анти-баннера адрес: http://resources.download.minecraft.net/ad/ad*
У этой ошибки нет строго определённой причины.
Но мне известно, что она имеет место:
— Преимущественно на версиях >1.6.4
— При попытке сломать стекло
— После установки текстур-пака (с сервера)
— Техническая причина: из-за ошибки выделения памяти (PermGen, все дела).
Возможные решения:
— Нажмите галочку «Обновить клиент» и нажмите «Переустановить». Таким образом Вы даёте лаунчеру шанс обнаружить поврежденные файлы и скачать их заново.
— Удалите моды и ресурс-паки. Да, они тоже могут наложить свои лапы на сложившуюся ситуацию
— Можете отключить звук в настройках самого Minecraft. Вы будете играть без звука, зато без вылетов.
— Как установить Forge самостоятельно?
1. Перейдите на этот сайт: http://files.minecraftforge.net/
— Как установить OptiFine самостоятельно?
1. Перейдите на этот сайт: http://optifine.net/downloads
— Как установить LiteLoader самостоятельно?
1. Перейдите по этой ссылке: http://www.liteloader.com/download
2. Найдите нужную Вам версию и скачайте её
3. Запустите загруженный файл и выберите версию, на которую надо установить LiteLoader. Примечание: если Вы устанавливали Forge способом выше, то установщик автоматически найдет её. Таким образом, если Вы хотите совместить Forge и LiteLoader, то либо выберите Forge в списке версий, либо щёлкните по галочке «Chain to Minecraft Forge».
— Я обновил лаунчер, а у меня пропали все аккаунты/сохранения/сервера/плюшки. Что делать?
Начнём с того, что ничего не пропало. Обновился ТОЛЬКО лаунчер и ТОЛЬКО файл его конфигурации.
Скорее всего, ты поместил папку Minecraft не в стандартную директорию, а в какое-то другое место. Вспомни, где всё это дело лежало, и в настройках лаунчера в поле «Директория» укажи на него. Ничего трудного. Лаунчер снова начнёт работать по старому пути.
0) Прочитайте FAQ выше и попробуйте все варианты решения наиболее частых проблем. Если же не помогло, читаем дальше.
990x.top
Простой компьютерный блог для души)
FML Early Loading Progress Minecraft — что это?

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

Также проблема может быть из-за большого количества установленных модов. Некоторые пользователи пишут что Minecraft нормально загружается без forge/mods.
Основные/частые причины зависания игры при загрузке:
Стоит обратиться на форумы, посвященные игре Minecraft, создайте тему, опишите проблему и прикрепите файл debug.log, который поможет выявить причину. С высокой вероятностью, что причина ошибки будет указана в файле debug.log, который содержит записи об успешных/неуспешных операциях.
Также может быть проблема в определенном файле, например на форуме Minecraft одному человеку порекомендовали удалить данный файл:
Внимание: вам этого делать не нужно, причина может быть в другом.
Надеюсь некоторая информация вам все таки смогла помочь решить проблемы. Удачи и добра.
как открыть fml лог майнкрафт
Делаем лог-систему для 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. Обычный тест с использованием этого фреймворка выглядит так:
Фреймворк стучит из обоих потоков с разным порядком, что позволяет выловить самые противные баги в асинхронном коде.
Заключение
Пока по количеству скачиваний будет понятно стоит ли развивать дальше этот мод и идею. Из примерных планов на будущее:
990x.top
Простой компьютерный блог для души)
FML Early Loading Progress Minecraft — что это?

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

Также проблема может быть из-за большого количества установленных модов. Некоторые пользователи пишут что Minecraft нормально загружается без forge/mods.
Основные/частые причины зависания игры при загрузке:
Стоит обратиться на форумы, посвященные игре Minecraft, создайте тему, опишите проблему и прикрепите файл debug.log, который поможет выявить причину. С высокой вероятностью, что причина ошибки будет указана в файле debug.log, который содержит записи об успешных/неуспешных операциях.
Также может быть проблема в определенном файле, например на форуме Minecraft одному человеку порекомендовали удалить данный файл:
Внимание: вам этого делать не нужно, причина может быть в другом.
Надеюсь некоторая информация вам все таки смогла помочь решить проблемы. Удачи и добра.
Делаем лог-систему для 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. Обычный тест с использованием этого фреймворка выглядит так:
Фреймворк стучит из обоих потоков с разным порядком, что позволяет выловить самые противные баги в асинхронном коде.
Заключение
Пока по количеству скачиваний будет понятно стоит ли развивать дальше этот мод и идею. Из примерных планов на будущее:

