У меня есть проблема, когда я пытаюсь использовать свои предыдущие знания о программировании для создания пусковой установки Minecraft. Я использую команды, которые находятся в стандартных библиотеках С++ и любых яйцах Python, которые не огромны. Я бы предпочел использовать system(«java . «) для запуска Minecraft.
Вопрос вкратце:
Как запустить Minecraft из командной строки без какого-либо вспомогательного кода Java? (Без использования кода запуска, например net.minecraft.LauncherFrame ). Возможно ли это? Я пробовал java -cp mine craft.jar net.minecraft.client.Minecraft из терминала в Mac OS X, безрезультатно, заканчивая на ClassNotFoundException .
Может кто-нибудь пролить свет на мою проблему?
Спасибо,
Пиро.
спросил(а) 2021-01-13T14:42:40+03:00 2 года, 3 месяца назад
Источник: progi.pro
Запустить minecraft из командной строки
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl3.2.2lwjgl-3.2.2-natives-windows.jar»
как открыть командную строку в майнкрафт
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl-jemalloc3.2.2lwjgl-jemalloc-3.2.2-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl-openal3.2.2lwjgl-openal-3.2.2-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl-opengl3.2.2lwjgl-opengl-3.2.2-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl-glfw3.2.2lwjgl-glfw-3.2.2-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl-tinyfd3.2.2lwjgl-tinyfd-3.2.2-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl-stb3.2.2lwjgl-stb-3.2.2-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%commojangtext2speech1.11.3text2speech-1.11.3-natives-windows.jar»
java.exe -showversion -Djava.library.path=%templib% -Xms1G -Xmx6G -cp %libdir%commojangpatchy1.1patchy-1.1.jar;%libdir%oshi-projectoshi-core1.1oshi-core-1.1.jar;%libdir%netjavadevjnajna4.4.0jna-4.4.0.jar;%libdir%netjavadevjnaplatform3.4.0platform-3.4.0.jar;%libdir%comibmicuicu4j66.1icu4j-66.1.jar;%libdir%commojangjavabridge1.0.22javabridge-1.0.22.jar;%libdir%netsfjopt-simplejopt-simple5.0.3jopt-simple-5.0.3.jar;%libdir%ionettynetty-all4.1.25.Finalnetty-all-4.1.25.Final.jar;%libdir%comgoogleguavaguava21.0guava-21.0.jar;%libdir%orgapachecommonscommons-lang33.5commons-lang3-3.5.jar;%libdir%commons-iocommons-io2.5commons-io-2.5.jar;%libdir%commons-codeccommons-codec1.10commons-codec-1.10.jar;%libdir%netjavajinputjinput2.0.5jinput-2.0.5.jar;%libdir%netjavajutilsjutils1.0.0jutils-1.0.0.jar;%libdir%commojangbrigadier1.0.17brigadier-1.0.17.jar;%libdir%commojangdatafixerupper4.0.26datafixerupper-4.0.26.jar;%libdir%comgooglecodegsongson2.8.0gson-2.8.0.jar;%libdir%commojangauthlib1.6.25authlib-1.6.25.jar;%libdir%orgapachecommonscommons-compress1.8.1commons-compress-1.8.1.jar;%libdir%orgapachehttpcomponentshttpclient4.3.3httpclient-4.3.3.jar;%libdir%commons-loggingcommons-logging1.1.3commons-logging-1.1.3.jar;%libdir%orgapachehttpcomponentshttpcore4.3.2httpcore-4.3.2.jar;%libdir%itunimidsifastutil8.2.1fastutil-8.2.1.jar;%libdir%orgapachelogginglog4jlog4j-api2.8.1log4j-api-2.8.1.jar;%libdir%orgapachelogginglog4jlog4j-core2.8.1log4j-core-2.8.1.jar;%libdir%orglwjgllwjgl3.2.2lwjgl-3.2.2.jar;%libdir%orglwjgllwjgl-jemalloc3.2.2lwjgl-jemalloc-3.2.2.jar;%libdir%orglwjgllwjgl-openal3.2.2lwjgl-openal-3.2.2.jar;%libdir%orglwjgllwjgl-opengl3.2.2lwjgl-opengl-3.2.2.jar;%libdir%orglwjgllwjgl-glfw3.2.2lwjgl-glfw-3.2.2.jar;%libdir%orglwjgllwjgl-stb3.2.2lwjgl-stb-3.2.2.jar;%libdir%orglwjgllwjgl-tinyfd3.2.2lwjgl-tinyfd-3.2.2.jar;%libdir%commojangtext2speech1.11.3text2speech-1.11.3.jar;%mcgamedir%versions1.16.31.16.3.jar net.minecraft.client.main.Main —username Player —version 1.16.3 —gameDir %mcgamedir% —assetsDir %mcgamedir%assets —assetIndex 1.16 —uuid 0 —accessToken 0 —userType legacy —versionType release
Как запускать Java программу из командной строки
Запуск версии 1.16.2
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl3.2.2lwjgl-3.2.2-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl-jemalloc3.2.2lwjgl-jemalloc-3.2.2-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl-openal3.2.2lwjgl-openal-3.2.2-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl-opengl3.2.2lwjgl-opengl-3.2.2-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl-glfw3.2.2lwjgl-glfw-3.2.2-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl-tinyfd3.2.2lwjgl-tinyfd-3.2.2-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgl-stb3.2.2lwjgl-stb-3.2.2-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%commojangtext2speech1.11.3text2speech-1.11.3-natives-windows.jar»
java.exe -showversion -Djava.library.path=%templib% -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -cp %libdir%commojangpatchy1.1patchy-1.1.jar;%libdir%oshi-projectoshi-core1.1oshi-core-1.1.jar;%libdir%netjavadevjnajna4.4.0jna-4.4.0.jar;%libdir%netjavadevjnaplatform3.4.0platform-3.4.0.jar;%libdir%comibmicuicu4j66.1icu4j-66.1.jar;%libdir%commojangjavabridge1.0.22javabridge-1.0.22.jar;%libdir%netsfjopt-simplejopt-simple5.0.3jopt-simple-5.0.3.jar;%libdir%ionettynetty-all4.1.25.Finalnetty-all-4.1.25.Final.jar;%libdir%comgoogleguavaguava21.0guava-21.0.jar;%libdir%orgapachecommonscommons-lang33.5commons-lang3-3.5.jar;%libdir%commons-iocommons-io2.5commons-io-2.5.jar;%libdir%commons-codeccommons-codec1.10commons-codec-1.10.jar;%libdir%netjavajinputjinput2.0.5jinput-2.0.5.jar;%libdir%netjavajutilsjutils1.0.0jutils-1.0.0.jar;%libdir%commojangbrigadier1.0.17brigadier-1.0.17.jar;%libdir%commojangdatafixerupper4.0.26datafixerupper-4.0.26.jar;%libdir%comgooglecodegsongson2.8.0gson-2.8.0.jar;%libdir%commojangauthlib1.6.25authlib-1.6.25.jar;%libdir%orgapachecommonscommons-compress1.8.1commons-compress-1.8.1.jar;%libdir%orgapachehttpcomponentshttpclient4.3.3httpclient-4.3.3.jar;%libdir%commons-loggingcommons-logging1.1.3commons-logging-1.1.3.jar;%libdir%orgapachehttpcomponentshttpcore4.3.2httpcore-4.3.2.jar;%libdir%itunimidsifastutil8.2.1fastutil-8.2.1.jar;%libdir%orgapachelogginglog4jlog4j-api2.8.1log4j-api-2.8.1.jar;%libdir%orgapachelogginglog4jlog4j-core2.8.1log4j-core-2.8.1.jar;%libdir%orglwjgllwjgl3.2.2lwjgl-3.2.2.jar;%libdir%orglwjgllwjgl-jemalloc3.2.2lwjgl-jemalloc-3.2.2.jar;%libdir%orglwjgllwjgl-openal3.2.2lwjgl-openal-3.2.2.jar;%libdir%orglwjgllwjgl-opengl3.2.2lwjgl-opengl-3.2.2.jar;%libdir%orglwjgllwjgl-glfw3.2.2lwjgl-glfw-3.2.2.jar;%libdir%orglwjgllwjgl-stb3.2.2lwjgl-stb-3.2.2.jar;%libdir%orglwjgllwjgl-tinyfd3.2.2lwjgl-tinyfd-3.2.2.jar;%libdir%commojangtext2speech1.11.3text2speech-1.11.3.jar;%mcgamedir%versions1.16.21.16.2.jar net.minecraft.client.main.Main —username Player —version 1.16.2 —gameDir %mcgamedir% —assetsDir %mcgamedir%assets —assetIndex 1.16 —uuid 0 —accessToken 0 —userType legacy —versionType release
Запуск версии 1.12.2
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgllwjgl-platform2.9.4-nightly-20150209lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%netjavajinputjinput-platform2.0.5jinput-platform-2.0.5-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%commojangtext2speech1.10.3text2speech-1.10.3-natives-windows.jar»
java.exe -showversion -Djava.library.path=%templib% -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -cp %libdir%commojangpatchy1.1patchy-1.1.jar;%libdir%oshi-projectoshi-core1.1oshi-core-1.1.jar;%libdir%netjavadevjnajna4.4.0jna-4.4.0.jar;%libdir%netjavadevjnaplatform3.4.0platform-3.4.0.jar;%libdir%comibmicuicu4j-core-mojang51.2icu4j-core-mojang-51.2.jar;%libdir%netsfjopt-simplejopt-simple5.0.3jopt-simple-5.0.3.jar;%libdir%compaulscodecodecjorbis20101023codecjorbis-20101023.jar;%libdir%compaulscodecodecwav20101023codecwav-20101023.jar;%libdir%compaulscodelibraryjavasound20101123libraryjavasound-20101123.jar;%libdir%compaulscodelibrarylwjglopenal20100824librarylwjglopenal-20100824.jar;%libdir%compaulscodesoundsystem20120107soundsystem-20120107.jar;%libdir%ionettynetty-all4.1.9.Finalnetty-all-4.1.9.Final.jar;%libdir%comgoogleguavaguava21.0guava-21.0.jar;%libdir%orgapachecommonscommons-lang33.5commons-lang3-3.5.jar;%libdir%commons-iocommons-io2.5commons-io-2.5.jar;%libdir%commons-codeccommons-codec1.10commons-codec-1.10.jar;%libdir%netjavajinputjinput2.0.5jinput-2.0.5.jar;%libdir%netjavajutilsjutils1.0.0jutils-1.0.0.jar;%libdir%comgooglecodegsongson2.8.0gson-2.8.0.jar;%libdir%commojangauthlib1.5.25authlib-1.5.25.jar;%libdir%commojangrealms1.10.22realms-1.10.22.jar;%libdir%orgapachecommonscommons-compress1.8.1commons-compress-1.8.1.jar;%libdir%orgapachehttpcomponentshttpclient4.3.3httpclient-4.3.3.jar;%libdir%commons-loggingcommons-logging1.1.3commons-logging-1.1.3.jar;%libdir%orgapachehttpcomponentshttpcore4.3.2httpcore-4.3.2.jar;%libdir%itunimidsifastutil7.1.0fastutil-7.1.0.jar;%libdir%orgapachelogginglog4jlog4j-api2.8.1log4j-api-2.8.1.jar;%libdir%orgapachelogginglog4jlog4j-core2.8.1log4j-core-2.8.1.jar;%libdir%orglwjgllwjgllwjgl2.9.4-nightly-20150209lwjgl-2.9.4-nightly-20150209.jar;%libdir%orglwjgllwjgllwjgl_util2.9.4-nightly-20150209lwjgl_util-2.9.4-nightly-20150209.jar;%libdir%orglwjgllwjgllwjgl-platform2.9.4-nightly-20150209lwjgl-platform-2.9.4-nightly-20150209.jar;%libdir%commojangtext2speech1.10.3text2speech-1.10.3.jar;%mcgamedir%versions1.12.21.12.2.jar net.minecraft.client.main.Main —username Player —version 1.12.2 —gameDir %mcgamedir% —assetsDir %mcgamedir%assets —assetIndex 1.12 —uuid 0 —accessToken 0 —userType legacy —versionType release
Запуск версии 1.0
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%orglwjgllwjgllwjgl-platform2.9.0lwjgl-platform-2.9.0-natives-windows.jar»
%zipexec% x -y -o%templib% -ir!*.dll «%libdir%netjavajinputjinput-platform2.0.5jinput-platform-2.0.5-natives-windows.jar»
javaw.exe -Djava.library.path=%templib% -Xms32M -Xmx1G -cp %libdir%netminecraftlaunchwrapper1.5launchwrapper-1.5.jar;%libdir%netsfjopt-simplejopt-simple4.5jopt-simple-4.5.jar;%libdir%orgow2asmasm-all4.1asm-all-4.1.jar;%libdir%netjavajinputjinput2.0.5jinput-2.0.5.jar;%libdir%netjavajutilsjutils1.0.0jutils-1.0.0.jar;%libdir%orglwjgllwjgllwjgl2.9.0lwjgl-2.9.0.jar;%libdir%orglwjgllwjgllwjgl_util2.9.0lwjgl_util-2.9.0.jar;%mcgamedir%versions1.01.0.jar net.minecraft.launchwrapper.Launch Player 0 —gameDir %mcgamedir% —assetsDir %mcgamedir%assets
Источник: dubik.su
Запустите Minecraft из командной строки — имя пользователя и пароль в качестве префикса
Я пытаюсь создать простую задачу запуска Minecraft. Согласно странице Wiki Minecraft для Launcher, необходимо запустить пусковую установку Minecraft с использованием префикса имени пользователя и пароля из командной строки и перейти непосредственно к игре, а не через пусковую установку. Я пробовал различные версии java -cp -u=username -p=password minecraft.jar net.minecraft.LauncherFrame , и то, что он говорит, это старый метод:
java -cp minecraft.jar net.minecraft.LauncherFrame
Старый метод открывает панель запуска minecraft, как если бы я дважды щелкнул файл jar, однако он не переходит непосредственно на экран меню. Новый способ (с использованием пароля и имени пользователя в виде префикса) дает мне сообщение об ошибке prefix -u=username or -p=password don’t exist . Любая помощь по этому поводу? Я действительно застрял.
mort 26 янв. 2013, в 01:23
Поделиться
это действительно принадлежит здесь вместо gaming.se?
antony.trupe 25 янв. 2013, в 23:45
Помещение вашего имени пользователя и пароля в командную строку в любом случае подвергает их слежке. Вы действительно хотите, чтобы вас попросили хотя бы ввести пароль.
Stephen P 25 янв. 2013, в 23:48
Я не буду раскрывать пароли, они будут данными из текстового поля в AppleScriptObjC.
mort 25 янв. 2013, в 23:54
Да, это возможно. см. gaming.stackexchange.com/questions/122802/…
Blauhirn 23 март 2019, в 19:54
Показать ещё 2 комментария
Поделиться:
4 ответа
Лучший ответ
Вы можете сделать это, вам просто нужно обойти пусковую установку.
В %appdata%.minecraftbin (или ~/.minecraft/bin в системах unixy) есть файл minecraft.jar. Это настоящая игра — запускает этот запуск.
Вызвать это так:
java -Xms512m -Xmx1g -Djava.library.path=natives/ -cp «minecraft.jar;lwjgl.jar;lwjgl_util.jar» net.minecraft.client.Minecraft
Задайте рабочий каталог .minecraft/bin .
Чтобы получить идентификатор сеанса, POST (запросить эту страницу):
https://login.minecraft.net?user=version=13
Вы получите ответ вроде этого:
1343825972000:deprecated:SirCmpwn:7ae9007b9909de05ea58e94199a33b30c310c69c:dba0c48e1c584963b9e93a038a66bb98
Четвертое поле — идентификатор сеанса. Подробнее здесь. Прочитайте эти детали, этот ответ устарел
Drew DeVault 22 март 2013, в 03:59
Поделиться
Есть ли обновление для этого метода? У меня нет ни% appdata% . Minecraft bin на моем компьютере (Windows 10), ни minecraft.jar в моей структуре папок appdata. У меня есть 1.9.jar
Tom Resing 29 фев. 2016, в 15:01
Оба примера приводят к 404 и больше не работают.
haykam 15 июль 2016, в 14:24
Основной файл .minecraftversions\.jar находится в .minecraftversions\.jar , библиотеки — в .minecraftlibraries . login.minecraft.net не работает
AstroRP 26 окт. 2017, в 19:18
Показать ещё 1 комментарий
В этом ответе мы кратко объясним, как обрабатываются собственные файлы на последней панели запуска.
Начиная с 4/29/2017, программа запуска Minecraft для Windows извлекает все собственные файлы и помещает их в папку% APPDATA%LocalTemp . Эта папка является временной и удаляется после завершения процесса javaw.exe(когда Minecraft закрыт). Расположение этой временной папки должно быть указано в аргументах запуска в качестве значения
-Djava.library.path=
Кроме того, последняя панель запуска (2.0.847) не показывает вам аргументы запуска, поэтому, если вам нужно проверить их самостоятельно, вы можете сделать это в диспетчере задач (просто включите вкладку «Командная строка» и разверните ее) или используя утилита WMIC как описано здесь.
Надеюсь, это поможет некоторым людям, которые все еще заинтересованы в этом в 2017 году.
d_scalzi 30 апр. 2017, в 00:30
Поделиться
Спасибо ! Где программа запуска берет DLL-файл, который хранится в папке %APPDATA%LocalTemp ?
Dardanboy 31 дек. 2017, в 20:02
d_scalzi 31 дек.
2017, в 21:36
Да, я понял это. Но я думаю, что лаунчер скачивает эти файлы с сервера. Знаете ли вы, откуда он их загружает, прежде чем помещать их во временную папку (а затем, как вы сказали, связать их с javaw.exe?)
Dardanboy 31 дек. 2017, в 21:39
Все библиотеки перечислены в индексе версий на сайте https://s3.amazonaws.com/Minecraft.Download/versions//.json . Используя 1.12.2 в качестве примера, s3.amazonaws.com/Minecraft.Download/versions/1.12.2/1.12.2.json
d_scalzi 31 дек. 2017, в 21:44
Спасибо, ваш комментарий привел меня к этому: gist.github.com/dequis/d24ce9d9915401f13dd1 (я поставил его для людей, которые приходят сюда)
Dardanboy 31 дек. 2017, в 21:53
Итак, после изучения проекта MultiMC и вопроса об их разногласиях, кажется, что исходные файлы сохраняются в .jar. Так что они делают, что они читают .jar в виде почтового индекса и извлекают файлы. Посмотрите на эту страницу Github
Dardanboy 19 янв. 2018, в 14:29
Показать ещё 4 комментария
Это все способы запустить стандартную программу запуска minecraft с этими учетными данными в текстовых полях.
Раньше существовал способ входа в minecraft без запуска с использованием командной строки, но с тех пор он был исправлен.
Если вы хотите создать пользовательскую пусковую установку с помощью командной строки, то удачи, единственный способ войти в банку minecraft (IE: способ запуска этой программы) — отправить запрос на отправку https://login.minecraft.net/ с помощью имя пользователя, пароль, версия пусковой установки, и ключ RSA. Затем он анализирует псевдо Json и использует токен сеанса, чтобы аутентифицировать банку из командной строки с нагрузкой аргументов.
Если вы пытаетесь создать пусковую установку minecraft, и у вас нет знаний о java, http-запросах или json, тогда у вас нет шансов.
Excalibur 26 янв. 2013, в 01:34
Поделиться
Оу, это действительно отстой. Интересно, почему они это исправили? Это сделало бы создание пользовательских пусковых установок намного проще, без проблем с безопасностью .
mort 25 янв. 2013, в 23:56
Это была проблема безопасности, любой мог видеть ваш пароль в виде простого текста, передаваемого по сети.
Excalibur 26 янв. 2013, в 09:40
Это не правильно, сторонние пусковые установки все еще могут работать. Я предоставлю ответ с информацией ниже.
Drew DeVault 22 март 2013, в 03:39
Показать ещё 1 комментарий
Просто создайте этот командный файл в каталоге игр. Файл Bat принимает один аргумент% 1 как имя пользователя.
Кроме того, я использую заставку, чтобы сделать красивым. Вы не сможете играть в онлайн, но кто волнуется.
Отрегулируйте использование памяти для вашей машины (-Xmx и -Xmns).
ПРИМЕЧАНИЕ: это для версии minecraft по состоянию на 2016-06-27
Источник: overcoder.net