Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Скрипт запуска MineCraft  (Прочитано 4075 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн YuriySh

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Скрипт запуска MineCraft
« : 15 Декабря 2019, 15:49:13 »
Доброго времени суток. Делаю свой лаунчер. С Java и Bash только ознакамливаюсь. Программированием увлекаюсь 22 года. Тем не менее, обращаюсь сюда за помощью.
Открыл строку запуска из TLauncher. Логику понял. Сперва перечисляются все jar, потом идёт запуск самой игры с параметрами.
Написал скрипт. Хм. Нет, правда на сайте тут возможности вставить Bash
Код: (javascript) [Выделить]
a="java -Xmn128M -Xmx2048M -Djava.library.path=./versions/Forge%201.7.10/natives -cp "
for file in $(find ./libraries -type f -name "*.jar")
do
b+="$file:";
done
c="./versions/Forge%201.7.10/Forge%201.7.10.jar net.minecraft.launchwrapper.Launch --username sbs --assetsDir ./assets --assetIndex 1.7.10 --version Forge 1.7.10 --gameDir ./ --tweakClass cpw.mods.fml.common.launcher.FMLTweaker --width 925 --height 530"
$a$b$c
Не получилось.
Взял строку запуска из оригинала:
Код: (html5) [Выделить]
/home/sbs/.tlauncher/jvms/jre1.8.0_51/bin/java -Djava.net.preferIPv4Stack=true -Xmn128M -Xmx10000M -Djava.library.path=/home/sbs/.minecraft/versions/Forge 1.7.10/natives -cp /home/sbs/.minecraft/libraries/net/minecraftforge/forge/1.7.10-10.13.4.1614-1.7.10/forge-1.7.10-10.13.4.1614-1.7.10.jar:/home/sbs/.minecraft/libraries/net/minecraft/launchwrapper/1.12/launchwrapper-1.12.jar:/home/sbs/.minecraft/libraries/org/ow2/asm/asm-all/5.0.3/asm-all-5.0.3.jar:/home/sbs/.minecraft/libraries/com/typesafe/akka/akka-actor_2.11/2.3.3/akka-actor_2.11-2.3.3.jar:/home/sbs/.minecraft/libraries/com/typesafe/config/1.2.1/config-1.2.1.jar:/home/sbs/.minecraft/libraries/org/scala-lang/scala-actors-migration_2.11/1.1.0/scala-actors-migration_2.11-1.1.0.jar:/home/sbs/.minecraft/libraries/org/scala-lang/scala-compiler/2.11.1/scala-compiler-2.11.1.jar:/home/sbs/.minecraft/libraries/org/scala-lang/plugins/scala-continuations-library_2.11/1.0.2/scala-continuations-library_2.11-1.0.2.jar:/home/sbs/.minecraft/libraries/org/scala-lang/plugins/scala-continuations-plugin_2.11.1/1.0.2/scala-continuations-plugin_2.11.1-1.0.2.jar:/home/sbs/.minecraft/libraries/org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.jar:/home/sbs/.minecraft/libraries/org/scala-lang/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar:/home/sbs/.minecraft/libraries/org/scala-lang/scala-reflect/2.11.1/scala-reflect-2.11.1.jar:/home/sbs/.minecraft/libraries/org/scala-lang/scala-swing_2.11/1.0.1/scala-swing_2.11-1.0.1.jar:/home/sbs/.minecraft/libraries/org/scala-lang/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.jar:/home/sbs/.minecraft/libraries/lzma/lzma/0.0.1/lzma-0.0.1.jar:/home/sbs/.minecraft/libraries/com/google/guava/guava/17.0/guava-17.0.jar:/home/sbs/.minecraft/libraries/org/tlauncher/netty/1.6/netty-1.6.jar:/home/sbs/.minecraft/libraries/com/mojang/realms/1.3.5/realms-1.3.5.jar:/home/sbs/.minecraft/libraries/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar:/home/sbs/.minecraft/libraries/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar:/home/sbs/.minecraft/libraries/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/home/sbs/.minecraft/libraries/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar:/home/sbs/.minecraft/libraries/java3d/vecmath/1.3.1/vecmath-1.3.1.jar:/home/sbs/.minecraft/libraries/net/sf/trove4j/trove4j/3.0.3/trove4j-3.0.3.jar:/home/sbs/.minecraft/libraries/com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar:/home/sbs/.minecraft/libraries/net/sf/jopt-simple/jopt-simple/4.5/jopt-simple-4.5.jar:/home/sbs/.minecraft/libraries/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar:/home/sbs/.minecraft/libraries/com/paulscode/codecwav/20101023/codecwav-20101023.jar:/home/sbs/.minecraft/libraries/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar:/home/sbs/.minecraft/libraries/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar:/home/sbs/.minecraft/libraries/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar:/home/sbs/.minecraft/libraries/io/netty/netty-all/4.0.10.Final/netty-all-4.0.10.Final.jar:/home/sbs/.minecraft/libraries/org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2.jar:/home/sbs/.minecraft/libraries/commons-io/commons-io/2.4/commons-io-2.4.jar:/home/sbs/.minecraft/libraries/commons-codec/commons-codec/1.9/commons-codec-1.9.jar:/home/sbs/.minecraft/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar:/home/sbs/.minecraft/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar:/home/sbs/.minecraft/libraries/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar:/home/sbs/.minecraft/libraries/org/tlauncher/authlib/1.6.21/authlib-1.6.21.jar:/home/sbs/.minecraft/libraries/org/apache/logging/log4j/log4j-api/2.0-beta9/log4j-api-2.0-beta9.jar:/home/sbs/.minecraft/libraries/org/apache/logging/log4j/log4j-core/2.0-beta9/log4j-core-2.0-beta9.jar:/home/sbs/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl/2.9.1/lwjgl-2.9.1.jar:/home/sbs/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.1/lwjgl_util-2.9.1.jar:/home/sbs/.minecraft/libraries/tv/twitch/twitch/5.16/twitch-5.16.jar:/home/sbs/.minecraft/versions/Forge 1.7.10/Forge 1.7.10.jar -Dminecraft.applet.TargetDirectory=/home/sbs/.minecraft -XX:+UseConcMarkSweepGC -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true net.minecraft.launchwrapper.Launch --username sbs --version Forge 1.7.10 --gameDir /home/sbs/.minecraft --assetsDir /home/sbs/.minecraft/assets --assetIndex 1.7.10 --uuid 00000000-0000-0000-0000-000000000000 --accessToken null --userProperties [] --userType legacy --tweakClass cpw.mods.fml.common.launcher.FMLTweaker --width 925 --height 530
Не получается. Почему-то из TLauncher, нажав зелёную кнопку Играть, получается. А через терминал: нет. В чём разница-то?
Вот результаты:
Код: (html5) [Выделить]
sbs@sbs-H81MLV3:~/.minecraft$ ./bash.sh
[17:45:31] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[17:45:31] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[17:45:31] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
[17:45:31] [main/INFO] [FML]: Forge Mod Loader version 7.99.40.1614 for Minecraft 1.7.10 loading
[17:45:31] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_51, running on Linux:amd64:4.15.0-72-generic, installed at /home/sbs/.tlauncher/jvms/jre1.8.0_51
[17:45:31] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[17:45:31] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
[17:45:31] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[17:45:31] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[17:45:31] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[17:45:32] [main/ERROR] [LaunchWrapper]: Unable to launch
java.lang.RuntimeException: java.lang.NullPointerException
at cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper.injectIntoClassLoader(CoreModManager.java:137) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
Caused by: java.lang.NullPointerException
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213) ~[guava-17.0.jar:?]
at com.google.common.hash.AbstractByteHasher.putBytes(AbstractByteHasher.java:69) ~[guava-17.0.jar:?]
at com.google.common.hash.AbstractStreamingHashFunction.hashBytes(AbstractStreamingHashFunction.java:57) ~[guava-17.0.jar:?]
at cpw.mods.fml.common.patcher.ClassPatchManager.applyPatch(ClassPatchManager.java:97) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
at cpw.mods.fml.common.patcher.ClassPatchManager.getPatchedResource(ClassPatchManager.java:61) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
at cpw.mods.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.getFieldType(FMLDeobfuscatingRemapper.java:193) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
at cpw.mods.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.parseField(FMLDeobfuscatingRemapper.java:170) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
at cpw.mods.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.setup(FMLDeobfuscatingRemapper.java:139) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
at cpw.mods.fml.common.asm.FMLSanityChecker.injectData(FMLSanityChecker.java:182) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
at cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper.injectIntoClassLoader(CoreModManager.java:132) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
... 2 more
Exception in thread "main" [17:45:32] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: cpw.mods.fml.relauncher.FMLSecurityManager$ExitTrappedException
[17:45:32] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at cpw.mods.fml.relauncher.FMLSecurityManager.checkPermission(FMLSecurityManager.java:25)
[17:45:32] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.lang.SecurityManager.checkExit(SecurityManager.java:761)
[17:45:32] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.lang.Runtime.exit(Runtime.java:107)
[17:45:32] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.lang.System.exit(System.java:971)
[17:45:32] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:138)
[17:45:32] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
sbs@sbs-H81MLV3:~/.minecraft$
Ошибка начинается отсюда:
Код: (html5) [Выделить]
java.lang.RuntimeException: java.lang.NullPointerException
И вот
Код: (html5) [Выделить]
Exception in thread "main" [17:45:32] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: cpw.mods.fml.relauncher.FMLSecurityManager$ExitTrappedException
Вопрос. Как сделать запуск? Что я не так делаю?
Я хочу сделать лаунчер (кнопки, закачку файлов я сделаю) и сделать запуск клиента. Для начала без лаунчера просто хочу клиент запустить. Сервер уже настроил. Через чужой лаунчер подкюлчение успешно.
Пока основная проблема - как клиент запустить через командную строку?
« Последнее редактирование: 15 Декабря 2019, 15:51:02 от YuriySh »

Оффлайн The Green Side

  • Старожил
  • *
  • Сообщений: 1177
    • Просмотр профиля
Re: Скрипт запуска MineCraft
« Ответ #1 : 16 Декабря 2019, 16:41:26 »
Ничего не знаю о Java, но у вас в именах файлов пробелы, либо вы их не экранируете, либо как-то скопировали не так.

P.S. Баш тут можно вставлять:

Код: (Bash) [Выделить]
#!/bin/bash

echo "test"
Debian 11, Debian 11 Server

 

Страница сгенерирована за 0.018 секунд. Запросов: 22.