LINUX.ORG.RU
ФорумGames

Майнкрафт сломался!

 , ,


1

1

Я играю в Minecraft на Raspberry Pi, вот скрин, вот руководство для Raspbian 9, и 10.

Но потом сервер Ttyh обновил версию сервера с 1.12 до 1.14, и у меня всё сломалось!

Автор руководства пишет, что это всё потому, что, начиная с версии 1.13, поддержка 32-битных ОС прекращена. Но я думал, что это только x86! А зачем прекращать поддержку ARM 32-бит? Это же актуальная платформа!

Можно ли вернуть поддержку 32-бит? Хотя исходный код игры закрыт... Но мод-мейкеры же расковыряли все файлы игры? Может где-нибудь встречали какой-нибудь ключик, включающий 32 бита обратно...

★★★★★

Последнее исправление: ZenitharChampion (всего исправлений: 1)

Можно ли вернуть поддержку 32-бит?

LWJGL начиная с версии 3 (если я не ошибаюсь) для Linux собирается только в 64-битном виде. Если сможешь вручную собрать 32-битный lwjgl, то сможешь запустить новые версии Minecraft (1.13+).

На Windows, кстати, поддержка 32-бит есть, там lwjgl собирают и в 32-битном виде.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 1)

Хотя, я сейчас посмотрел, не собирается только для x86, для arm32 библиотеки LWJGL доступны. arm32 - это ведь то, что нужно? Если да, то просто используй их.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Зачем ему 32 алсо? Запилили ж вроде 64-битную версию ос

anonymous
()
Ответ на: комментарий от crutch_master

Ванильным старым версиям (1.12.2 и старее) хватает 500 Мб памяти. Новые (1.13+), да, требуют в 2-3 раза больше, хотя на более малом объеме тоже работают, но фризят периодически.

Другое дело, что новые версии сами по себе более тормозные, независимо от потребляемой памяти. Так что Raspberry Pi может просто не вытянуть.

Kron4ek ★★★★★
()
Ответ на: комментарий от ZenitharChampion

OptiFine на занимаемую память не влияет (в пределах погрешности разве что).

Вот сколько занимает ванильная 1.12.2 при старте.

А вот 1.7.10.

Это при стандартной дальности прорисовки. Если ее понизить, то еще меньше будет занимать.

После нескольких часов игры прибавляется примерно 200 Мб, я проверял.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 1)

У меня, кстати, есть сборка Minecraft для Linux на рутрекере, там используется обычный bash скрипт для запуска. Если хочешь, можешь попробовать ее запустить, нужно только заменить библиотеки lwjgl в каталоге versions/1.14.4/natives. Заменять нужно на LWJGL 3.2.2, а не на последний стабильный релиз (3.2.3), иначе игра не запустится.

По идее, после замены библиотек должно запуститься и на ARM.

Ну или вот ссылка на облако, я там уже заменил библиотеки на специфичные для ARM32, так что тебе остается только запустить скрипт start.sh.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Нативные библиотеки *.so по руководству, по которому я делал, скачиваются скриптом откуда-то из облака. Видимо, автор или компилировал сам, или брал официальные сборки для ARM32. Я решил проверить: скачать версию lwjgl-2.9.4-nightly-20150209 с сайта, и заменить свой бинарник на этот. Но увы: на сайте http://lwjgl.org доступна минимум версия 3.0, а на http://legacy.lwjgl.org - максимум 2.9.3. Тогда я попробовал последнюю версию 3.2.3 (почему-то сборки 3.2.2 для ARM нет). С ней, предсказуемо, запуск провалился. Возможно, надо было также менять *.jar-файл (который находится где-то в ~/.minecraft/*), а не только *.so-файл (находится тут, потому что так захотел автор инструкции: ~/Minecraft/Natives).

pi@raspberrypi:~/Minecraft $ ./runMC1_12_2_OptifineF4.sh 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   749  100   586  100   163    798    222 --:--:-- --:--:-- --:--:--  1020
todays access token = eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkMzY4ZTdmZTE1Y2U1YzZiMjAzNTQyY2JjYTU0NjI1NSIsIm5iZiI6MTU3NDY4NjM4OSwieWdndCI6ImRlMjhmMmUzMDEwOTRjYjlhMGQwNzRlMzEzNWI2MzNiIiwic3ByIjoiMzM1YjZhOTE4NWJkNDY1MzkwYzMyNGViNzA4YjkzNzUiLCJyb2xlcyI6W10sImlzcyI6ImludGVybmFsLWF1dGhlbnRpY2F0aW9uIiwiZXhwIjoxNTc0ODU5MTg5LCJpYXQiOjE1NzQ2ODYzODl9.4fx-mv9CuwcuW-3FzHSv-ih088kDuo1duO-lFMWrRj0
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    69  100    60  100     9     86     13 --:--:-- --:--:-- --:--:--    99
MINECRAFT_UUID=335b6a9185bd465390c324eb708b9375
Java HotSpot(TM) Client VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
[19:53:16] [main/INFO]: Loading tweak class name optifine.OptiFineTweaker
[19:53:16] [main/INFO]: Using primary tweak class name optifine.OptiFineTweaker
[19:53:16] [main/INFO]: Calling tweak class optifine.OptiFineTweaker
OptiFineTweaker: acceptOptions
OptiFineTweaker: injectIntoClassLoader
OptiFine ClassTransformer
OptiFine ZIP file: /home/pi/.minecraft/libraries/optifine/OptiFine/1.12.2_HD_U_F4/OptiFine-1.12.2_HD_U_F4.jar
OptiFineTweaker: getLaunchArguments
OptiFineTweaker: getLaunchTarget
[19:53:17] [main/INFO]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[19:53:18] [main/ERROR]: Unable to launch
java.lang.reflect.InvocationTargetException: null
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_211]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_211]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_211]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_211]
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:159) [launchwrapper-of-2.1.jar:2.1]
	at net.minecraft.launchwrapper.Launch.main(Launch.java:30) [launchwrapper-of-2.1.jar:2.1]
Caused by: java.lang.UnsatisfiedLinkError: org.lwjgl.DefaultSysImplementation.getPointerSize()I
	at org.lwjgl.DefaultSysImplementation.getPointerSize(Native Method) ~[lwjgl-2.9.4-nightly-20150209.jar:?]
	at org.lwjgl.Sys.<clinit>(Sys.java:118) ~[lwjgl-2.9.4-nightly-20150209.jar:?]
	at bib.I(SourceFile:2825) ~[bib.class:?]
	at net.minecraft.client.main.Main.main(SourceFile:38) ~[Main.class:?]
	... 6 more
ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от Kron4ek

Тогда я просто скачал твой архив, который должен «сделать зашибись». Скачал, запустил. Автодополнение по клавише Tab запустило мне start-forge.sh вместо start.sh - пришлось прервать и сделать чмод на файл, который ты мне сказал запускать. Вот что получилось:

https://pastebin.com/cDXz3ycZ

Ему всё-таки не хватило памяти. Она показала рамку окна с игрой, но не успела даже продемонстрировать логотип Mojang. Но ребятам на официальном форуме Raspberry Pi могла бы быть интересна твоя сборка - а именно владельцам Raspberry Pi 4 на 4 Гб ОЗУ. А мне бы наверное следовало снизить количество видеопамяти с 192 до 80, и тогда игра поместится в оперативку.

А как ты сделал так, что игра запустилась с Java 11, которая у меня находится в /usr/bin/java? Автор предыдущего руководства что-то мудрил с распаковкой Java 8 в /opt, и запуском игры при помощи этой Явы. Почему-то Minecraft 1.12.2 не хотел работать с версией новее 8-й.

Хм, тогда буду пробовать запустить версию 1.13.2. Сервер Playground на ней работает. Потребуется LWJGL 2.9.6. Ну и наверное Java 1.8, которая у меня уже установлена в /opt.

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

Ему всё-таки не хватило памяти.

Понятно. Ну, как я выше и писал, для новых версий (1.13+) нужно в 2-3 раза больше памяти по сравнению с 1.12 и более старыми, ну и плюс они гораздо более требовательны к процессору. Но и с более малым объемом должно работать, только подвисать будет периодически.

Попробуй в скрипте start.sh отредактировать -Xmx1200M на -Xmx700M (или еще меньше). Возможно, ты просто в лимиты 32-битных процессов упираешься.

А как ты сделал так, что игра запустилась с Java 11, которая у меня находится в /usr/bin/java?

Я для этого ничего не делал, новые версии работают с новыми версиями Java, а вот 1.12 только с Java 8.

Что касается версий LWJGL, для 1.12 нужен LWJGL 2, а вот для 1.13+ используется LWJGL 3. Так что новые версии вряд ли получится запустить с LWJGL 2.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Хватает для чего? У него же сервер, как я понял, он там не один будет бегать. Еще и модов понаставит.

crutch_master ★★★★★
()

Хотя исходный код игры закрыт…

переходи на светлое minetest )

pihter ★★★★★
()

Зачем играм делают такую шизоидную графику? Ну ладно на ibm pc xt это было оправдано, но сегодня…

yvv ★★☆
()
Ответ на: комментарий от Kron4ek

Я выполнил sudo systemctl stop lightdm а затем сделал startx. Загрузилось то же LXDE. Ладно, тогда sudo X, и с другого терминала DISPLAY=:0 xterm. Запустил Minecraft 1.12.2. Удивительно, но починились все тормоза. Вот только игра сразу выходит в меню, потому что курсор мышки принимает вид крестика. Нужно любое, самое маленькое WM, чтобы это починить. Запустил Minecraft 1.14.4, оно показало логотип Mojang и загрузилось до половины, после чего упало.

Похоже что LXDE в Raspbian 10 разжирело. Хотя визуально осталось тем же самым, что и в Raspbian 8. Однако в Raspbian 8 играть легко и приятно, а тут - нет. Возможно что причина в том, что теперь GTK 2 и 3 находятся в памяти одновременно.

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 1)

Я играю в Minecraft на Raspberry Pi

Казалось бы Raspberry Pi не платформа для игр, а девкит/конструктор.

Что мешает играть на ПК и не страдать фигнёй?

trynoval
()
Ответ на: комментарий от trynoval

Ищем в поисковике «применения Raspberry Pi». Открываем любую ссылку. Пункт первый: использование как ПК.

Просто вторые и последующие пункты настолько интересные, что про первый как-то забываешь

ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от ZenitharChampion

Боюсь что тебя обманули, парень. Это именно девкиты для разработки. ПК за эти деньги можно намного лучше купить. И даже архитектуры AMD x86_64.

trynoval
()
Ответ на: комментарий от yvv

Зачем играм делают такую шизоидную графику? Ну ладно на ibm pc xt это было оправдано, но сегодня…

Это не просто игра.

Цель именно этой игры и её клонов — строительство и прочий user-created content. А большинству игроков удобнее и проще строить из кубиков.

Да, есть OpenSim с загрузкой полноценных моделей, красивым терраформированием и др. Притом клиент и сервер опенсорсные, открытых гридов полно, можно поднять свой сервак (и чувак, зарегистрировавшийся, скажем, на osgrid.org, может придти тебе в гости), можно абсолютно бесплатно гулять по чужим.

Но увы. Не то, чтобы совсем не взлетело, у опенсима есть своё сообщество. Но по сравнению с армией игроков в майнкрафт оно исчезающе мало, можно сказать, маргинально.

Поэтому правильный ответ — «пипла хавает».

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от Unicode4all

Тут вообще интересные результаты исследований. В моей предыдущей конфигурации, а это Raspbian 8, игра нормально работала. В новой конфигурации (свежеустановленная Raspbian 10) есть проблемки. И я даже не знаю, кто виноват: разработчики ОС, или инструкции по установке и настройке Minecraft. Для Raspbian 10 они написали новую инструкцию - может, дело в ней...

При запуске Raspbian 10 в режиме «командной строки» используется 70 Мб памяти. После загрузки Pixel (модифицированный LXDE) - 130 Мб. После загрузки LXDE (без примочек от разрабов устройства) - 170 Мб. После загрузки OpenBox - 110 Мб. После загрузки sudo X вообще без ничего - 90 Мб.

Казалось бы, система использует лишь 10-15% от оперативки. И ещё 80 Мб под VRAM. Не так уж это и много. У меня такое ощущение, что предыдущая система использовала примерно столько же.

Если запустить игру в Pixel, то «создание spawn area» из сида идёт по процентику в секунду. Из OpenBox или голых иксов - по 7% в секунду. Но в обоих случаях Killed by OOM. Но. Если запустить Pixel, запустить браузер Хром, воспроизвести видео на YouTube в 1080p несколько минут, а потом выгрузить Pixel и открыть OpenBox - игра стартует, работает, и не тормозит! Это я сейчас про версию 1.12.2. Возможно, Хром загнал систему в своп (Raspbian 10 создаёт 100 Мб свопа) и хорошенько её там утрамбовал. И игра работает.

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 5)
Ответ на: комментарий от ZenitharChampion

Не пробовал swappiness тюнить? Я себе 10 поставили, вроде система своп намного реже использует.

Плохо, что LWJGL до сих пор не работает на вяленом, хотя вроде должен работать на Xwayland.

Unicode4all ★★★★★
()
Ответ на: комментарий от Unicode4all

Не пробовал. Пробовал только своп отключить вообще. В результате, в окружении Pixel создание нового мира происходит со всё той же скоростью 7% в секунду, что и в OpenBox и голых иксах. Получается что, при работе в Pixel, используется SWAP, вследствие чего и тормоза при создании мира, а при работе в OpenBox не используется SWAP на данном этапе. Это как так? OpenBox же всего лишь на 25 Мб памяти меньше использует. Неужели такая малая разница в потреблении памяти имеет значение?

Потом посмотрю значение swappiness, но мне кажется что своп включается при 100% занятости ОЗУ.

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от Kron4ek

Привет. Наконец-то приехал белкин зарядник. С ним лучше. Не мелькает значок молнии. Браузер работает значительно быстрее, не фризится и не тупит. Майнкрафт версии 1.12.2 заработал быстро и стабильно. Я по-прежнему запускал игру тем самым ритуалом. А вот версия 1.14.4 не завершилась как Killed, а выдала совсем другую ошибку. https://s8.hostingkartinok.com/uploads/images/2019/12/e4a882479dc2c3d1b5f76a0...

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 3)
Ответ на: комментарий от ZenitharChampion

Не вижу там критических ошибок, видимо убито OOM-киллером из-за нехватки памяти. Попробуй -Xmx300M - с таким объемом комфортно не поиграть, но игра хотя бы должна загрузиться до главного меню.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 1)

А зачем прекращать поддержку ARM 32-бит? Это же актуальная платформа!

ЛОР такой ЛОР.

t184256 ★★★★★
()
Ответ на: комментарий от Kron4ek

Я тут запустил версию 1.12.2, забыв, что выключил Mesa OpenGL и включил Broadcom OpenGL ES. Думал что игра не запустится. Оказывается, OpenGL запустился софтварно! 1-4 FPS выдавал стабильно. Аппаратный OpenGL конечно же быстрее, где-то 30-40, но блин я думал что софтварно или вообще не заработает, или 0,00001 FPS на таком-то проце!

[04:58:13] [main/INFO]: LWJGL Version: 2.9.4
[04:58:17] [main/INFO]: [OptiFine] 
[04:58:17] [main/INFO]: [OptiFine] OptiFine_1.12.2_HD_U_F4
[04:58:17] [main/INFO]: [OptiFine] Build: 20191023-234904
[04:58:17] [main/INFO]: [OptiFine] OS: Linux (arm) version 4.19.75-v7+
[04:58:17] [main/INFO]: [OptiFine] Java: 1.8.0_211, Oracle Corporation
[04:58:17] [main/INFO]: [OptiFine] VM: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
[04:58:17] [main/INFO]: [OptiFine] LWJGL: 2.9.4
[04:58:17] [main/INFO]: [OptiFine] OpenGL: llvmpipe (LLVM 8.0, 128 bits), version 3.1 Mesa 19.2.0-rc1, VMware, Inc.
[04:58:17] [main/INFO]: [OptiFine] OpenGL Version: 3.1.0
[04:58:17] [main/INFO]: [OptiFine] Maximum texture size: 8192x8192
[04:58:17] [VersionCheck/INFO]: [OptiFine] Checking for new version
[04:58:17] [main/INFO]: [Shaders] OpenGL Version: 3.1 Mesa 19.2.0-rc1
[04:58:17] [main/INFO]: [Shaders] Vendor:  VMware, Inc.
[04:58:17] [main/INFO]: [Shaders] Renderer: llvmpipe (LLVM 8.0, 128 bits)
[04:58:17] [main/INFO]: [Shaders] Capabilities:  2.0  2.1  3.0  -  - 
[04:58:17] [main/INFO]: [Shaders] GL_MAX_DRAW_BUFFERS: 8
[04:58:17] [main/INFO]: [Shaders] GL_MAX_COLOR_ATTACHMENTS_EXT: 8
[04:58:17] [main/INFO]: [Shaders] GL_MAX_TEXTURE_IMAGE_UNITS: 32
[04:58:17] [main/INFO]: [Shaders] Load shaders configuration.
[04:58:17] [main/INFO]: [Shaders] No shaderpack loaded.
[04:58:18] [main/INFO]: Reloading ResourceManager: Default

Аппаратно кстати OpenGL 3 и выше недоступны.

ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от ZenitharChampion

Там чуть выше ругается на отсутствие какой-то нативной библиотеки.

Это не критическая ошибка, без этой библиотеки должно работать.

Kron4ek ★★★★★
()

Tlauncher ещё никто не предлагал?

OpenMind ★★★★
()
2 июля 2021 г.
Ответ на: комментарий от Kron4ek

Привет. Я обновил компьютер до Raspberry Pi 400. Можешь залить на файлообменник Майнкрафт снова? Версии 1.16.5, например.

ZenitharChampion ★★★★★
() автор топика

Java даунгрейдни до 11 или древнее. ЕМНИП майник разрабатывают вообще ни то на 8, ни то на вовсе 7 версии Java.

robus ★★★★★
()
Ответ на: комментарий от robus

Не, всё норм. Kron4ek мне починил игру. Проблема оказалась в нехватке оперативной памяти. Зато сейчас уже не 2019 год, сейчас есть Raspberry Pi 4, и там от 2 до 8 Гб ОЗУ. А в девкитах и того больше (но они стоят дорого).

ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от ZenitharChampion

Вот Minecraft 1.16.5 для ARM, если нужно. Сделал месяца три назад, так как на рутрекере кто-то просил. Однако проверить мне его не на чем, поэтому не уверен, что будет работать.

Кстати, для версии 1.17 нужна Java 16 как минимум, на более старых не запускается.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 1)
Ответ на: комментарий от Kron4ek

Оперативно.

Да, запускается и работает. Теперь передам комп ребёнку. Он на ттюхе в основном играет, а там всё ещё 1.15.2. Не удалось залогиниться. Зато на Playground вход работает. Скорее всего, он будет OneBlock играть (оффлайн). Сейчас ему передам комп.

Кстати а куда вшит логин LinuxUser (чтобы не искать)? В start.sh? И да, спасибо.

ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от Kron4ek

Всё, компьютер у ребёнка. Дальше без меня. Записал туда много эмуляторов и подключил геймпад.

По использованию компьютера. Работает шустро, даже YouTube тянет (но не идеально, лаги всё равно есть). Не хватает тумблера ВКЛ/ВЫКЛ. Включать питание, вытаскивая и вставляя кабель, это не тру. Также там очень вялый Wi-Fi, который не смог соединиться с точкой доступа, находящейся в прямой видимости. Подключается, только если совсем рядом. Я подключил по USB - адаптер D-Link DWA-131E, и только тогда удалось выйти в интернет.

В майн не получилось поиграть. Зашли на Playground, а он лагает. Думали что интернет по-прежнему тупит, но тут игроки стали писать в чат «123», «лаги», и оказалось что проблема на сервере.

Попробовали по локальной сети. Я на стационарном компьютере нажал «открыть игру для локальной сети». В списке серверов виден мой компьютер, но клиент, запущенный на Raspberry Pi, не может к нему подключиться. Пишет что «превышено время ожидания». Возможно, лицушный клиент не захотел принимать подключение от пиратского. Или фаерволл.

Синглплеер работает хорошо. Лагает сразу при открытии карты, а потом пролагивается и норм. 8 чанков видимости, FPS где-то 25-30. Клиент Optifine.

Что ж, компьютеру бы ещё батарею, чтобы часов 5 держала. А ещё тачпад. И разъём PCI-E для полного счастья, хотя бы mini-PCIe ноутбучный )

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 10)
Ответ на: комментарий от ZenitharChampion

Там еще Sodium установлен, можешь его попробовать (скрипт start-fabric.sh), у меня с ним игра работает лучше чем с OptiFine.

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

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

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 2)

Погоди, в ванилку играть смысла нету, у тебя аккаунт старше чем ЦА ванилки, а модпак нормальный жрёт столько что ему не то что малинки мало, а нужен прямо серьёзный пекич.

peregrine ★★★★★
()

Зачем тебе майнкрафт когда есть минитест?

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Зачем ты так ненавидишь ребенка? Купи ему уже компьютер.

bhfq ★★★★★
()

это карма. некрофилия это грех

anonymous
()
Ответ на: комментарий от ZenitharChampion

обновил компьютер до Raspberry Pi 400

вот что значит необучаемость

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.