Launcher

necauqua

когда-то был anti344
Администратор
1,216
27
172
А нафиг
Код:
addShutdownHook
то?

Или вы хотите работать с потоками, но не умеете?
 
476
9
39
Лаунчер, в голову закралась идея написать лаунчер на... майне, прям на нём, запускаешь {version}.jar открывается сначала, как обычный лаунчер, там задаются данные(Авторизация/Докачка модов), а далее запускается сама игра в одном процессе. Кто-то пишет лаунчеры на С++, а кто-то на джаве, а тут на майне. 
Минусы есть, и сложная реализация, а ещё ведь защита. Может быть кто-то такое чудо напишет, посмотрел бы ради интереса.
 
talosdx написал(а):
Лаунчер, в голову закралась идея написать лаунчер на... майне, прям на нём, запускаешь {version}.jar открывается сначала, как обычный лаунчер, там задаются данные(Авторизация/Докачка модов), а далее запускается сама игра в одном процессе. Кто-то пишет лаунчеры на С++, а кто-то на джаве, а тут на майне. 
Минусы есть, и сложная реализация, а ещё ведь защита. Может быть кто-то такое чудо напишет, посмотрел бы ради интереса.
был когда-то проект RealMinecraft Handmade . Админ клиент периписал, и там был и клиент и лончер в одном файле
 
476
9
39
Vova_master написал(а):
talosdx написал(а):
Лаунчер, в голову закралась идея написать лаунчер на... майне, прям на нём, запускаешь {version}.jar открывается сначала, как обычный лаунчер, там задаются данные(Авторизация/Докачка модов), а далее запускается сама игра в одном процессе. Кто-то пишет лаунчеры на С++, а кто-то на джаве, а тут на майне. 
Минусы есть, и сложная реализация, а ещё ведь защита. Может быть кто-то такое чудо напишет, посмотрел бы ради интереса.
был когда-то проект RealMinecraft Handmade . Админ клиент периписал, и там был и клиент и лончер в одном файле
Есть один проект, название не буду упоминать, так вот там админ сделал ещё круче, майн запускает в процессе лаунчера, то есть лаунчер создаёт свою JVM, и уже в ней запускает майн, естественно некоторые классы игры были переписаны. Выглядит всё это эпично.
 
talosdx написал(а):
Vova_master написал(а):
talosdx написал(а):
Лаунчер, в голову закралась идея написать лаунчер на... майне, прям на нём, запускаешь {version}.jar открывается сначала, как обычный лаунчер, там задаются данные(Авторизация/Докачка модов), а далее запускается сама игра в одном процессе. Кто-то пишет лаунчеры на С++, а кто-то на джаве, а тут на майне. 
Минусы есть, и сложная реализация, а ещё ведь защита. Может быть кто-то такое чудо напишет, посмотрел бы ради интереса.
был когда-то проект RealMinecraft Handmade . Админ клиент периписал, и там был и клиент и лончер в одном файле
Есть один проект, название не буду упоминать, так вот там админ сделал ещё круче, майн запускает в процессе лаунчера, то есть лаунчер создаёт свою JVM, и уже в ней запускает майн, естественно н
екоторые классы игры были переписаны. Выглядит всё это эпично.
И очень лагано,2 виртуалка
 
Изи катка.
Код:
java -Xmx1024M -Djava.library.path=C:\Users\User1\AppData\Roaming\.minecraft\versions\1.7.10-Forge10.13.2.1230\natives -cp C:\Users\User1\AppData\Roaming\.minecraft\libraries\net\minecraftforge\forge\1.7.10-10.13.2.1230\forge-1.7.10-10.13.2.1230.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\net\minecraft\launchwrapper\1.11\launchwrapper-1.11.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-all\5.0.3\asm-all-5.0.3.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\com\typesafe\akka\akka-actor_2.11\2.3.3\akka-actor_2.11-2.3.3.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\com\typesafe\config\1.2.1\config-1.2.1.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-actors-migration_2.11\1.1.0\scala-actors-migration_2.11-1.1.0.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-compiler\2.11.1\scala-compiler-2.11.1.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\scala-lang\plugins\scala-continuations-library_2.11\1.0.2\scala-continuations-library_2.11-1.0.2.jar;C:\Users\User1\AppData\Roaming\.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;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-library\2.11.1\scala-library-2.11.1.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-parser-combinators_2.11\1.0.1\scala-parser-combinators_2.11-1.0.1.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-reflect\2.11.1\scala-reflect-2.11.1.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-swing_2.11\1.0.1\scala-swing_2.11-1.0.1.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-xml_2.11\1.0.2\scala-xml_2.11-1.0.2.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\lzma\lzma\0.0.1\lzma-0.0.1.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\com\mojang\realms\1.3.5\realms-1.3.5.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-compress\1.8.1\commons-compress-1.8.1.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\apache\httpcomponents\httpclient\4.3.3\httpclient-4.3.3.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\apache\httpcomponents\httpcore\4.3.2\httpcore-4.3.2.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\java3d\vecmath\1.3.1\vecmath-1.3.1.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\net\sf\trove4j\trove4j\3.0.3\trove4j-3.0.3.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\com\ibm\icu\icu4j-core-mojang\51.2\icu4j-core-mojang-51.2.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\io\netty\netty-all\4.0.10.Final\netty-all-4.0.10.Final.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\16.0\guava-16.0.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.2.1\commons-lang3-3.2.1.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\commons-codec\commons-codec\1.9\commons-codec-1.9.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.2.4\gson-2.2.4.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\com\mojang\authlib\1.5.16\authlib-1.5.16.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-api\2.0-beta9\log4j-api-2.0-beta9.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-core\2.0-beta9\log4j-core-2.0-beta9.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.1\lwjgl-2.9.1.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.1\lwjgl_util-2.9.1.jar;C:\Users\User1\AppData\Roaming\.minecraft\libraries\tv\twitch\twitch\5.16\twitch-5.16.jar;C:\Users\User1\AppData\Roaming\.minecraft\versions\1.7.10-Forge10.13.2.1230\1.7.10-Forge10.13.2.1230.jar net.minecraft.launchwrapper.Launch --username PLAYER --version 1.7.10-Forge10.13.2.1230 --accessToken 0 --userProperties {} --gameDir . --assetsDir assets --assetIndex 1.7.10-Forge10.13.2.1230 --fullscreen true --tweakClass cpw.mods.fml.common.launcher.FMLTweaker
 
слушай, мне кажется, делать нужно так(надо будет проверить, благодаря наличию твоего кода:)):
Код:
 ProcessBuilder pb =
   new ProcessBuilder("1.7.10.jar", username, token);
 Map<String, String> env = pb.environment();
 env.put("VAR1", "myValue");
 env.remove("OTHERVAR");
 env.put("VAR2", env.get("VAR1") + "suffix");
 pb.directory(new File("myDir"));
 File log = new File("log");
 pb.redirectErrorStream(true);
 pb.redirectOutput(Redirect.appendTo(log));
 Process p = pb.start();
 assert pb.redirectInput() == Redirect.PIPE;
 assert pb.redirectOutput().file() == log;
 assert p.getInputStream().read() == -1;
Где брать юзернейм ты знаешь, а вот токен наверное надо генерить рандомно. Надо будет GradleStart проштудировать.
[merge_posts_bbcode]Добавлено: 19.10.2014 16:11:49[/merge_posts_bbcode]

Про остальные переменные можно токо гадать

[merge_posts_bbcode]Добавлено: 19.10.2014 16:14:33[/merge_posts_bbcode]

Надо проверить http://www.rubukkit.org/threads/urok-amls-alternativnaja-sistema-logirovanija.1860/?attempt=3

[merge_posts_bbcode]Добавлено: 19.10.2014 16:24:49[/merge_posts_bbcode]

либо это http://www.rubukkit.org/threads/sistema-skinov-avtorizacija-cherez-launcher.4162/
 
Нет вов. Java аргумент должен быть всегда,а 17.10.jar это библиотека для запуска(одна из многих). Тем более я все интегрировал в джава и все ок
[merge_posts_bbcode]Добавлено: 19.10.2014 22:31:46[/merge_posts_bbcode]

Мне осьалась авторизация. Вебмкр есть,но надо как то с джсон отправить или получить данные
 
Json lib java могу ли я продать испоьзую ранне приведённое название библиотеки? И какова вероятность взлома по accessToken или uuid
 
talosdx написал(а):
Vova_master написал(а):
talosdx написал(а):
Лаунчер, в голову закралась идея написать лаунчер на... майне, прям на нём, запускаешь {version}.jar открывается сначала, как обычный лаунчер, там задаются данные(Авторизация/Докачка модов), а далее запускается сама игра в одном процессе. Кто-то пишет лаунчеры на С++, а кто-то на джаве, а тут на майне. 
Минусы есть, и сложная реализация, а ещё ведь защита. Может быть кто-то такое чудо напишет, посмотрел бы ради интереса.
был когда-то проект RealMinecraft Handmade . Админ клиент периписал, и там был и клиент и лончер в одном файле
Есть один проект, название не буду упоминать, так вот там админ сделал ещё круче, майн запускает в процессе лаунчера, то есть лаунчер создаёт свою JVM, и уже в ней запускает майн, естественно некоторые классы игры были переписаны. Выглядит всё это эпично.
OldMode active.Я типа стима сделаю и всё
 
Сверху