Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
  • Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Лаунчер GravitLauncher v5.1

Было бы неплохо брать уже готовую JVM, если она уже есть на компе (поиск по "Program Files" Джавы Оракла и ОпенДЖДК) + поиск в директории Майнкрафт Лаунчера .minecraft или если и ее нет, то в директории TLauncher'а (брать ее). Берем эту JVM и патчим нужными нам секьюрити-фиксами.

Я про Mojang'овскую JRE.
И чекаем хеш-суммы, на случай, если JRE'хи модифицировал игрок-читер.

К тому же этих JRE надо две:
- JRE 8 для Майна по 1.16.5
- JRE 16+ для майна 1.17 и выше
А значит объем скачиваемых файлов возрастает вдвое в случае скачивания игроком клиентов разных версий.

Ибо 8-я в новых Майнах больше не поддерживается

______________________________________________________

Мой лаунчер например использует assets прямо из .minecraft, чтобы не плодить лишние папки assets с одинаковыми файлами, как это делают 99.9% всех остальных лаунчеров - каждый под себя лишние 300+ Мб, которые еще долго качать и игроки скорее отсекутся, чем будут ждать (за это спасибо конечно, в конкуренции с этим буду в плюсе я).
Ну и те ассеты, которых не хватает в .minecraft, мой лаунчер их докачивает с серверов Mojang все в тот же .minecraft. Поэтому если игрок уже имеет обычный Майн, то у него наверняка уже есть чуть ли не все ассеты. Зачем их скачивать отдельно?


Так и с JVM. Время запуска надо сокращать! Дождутся далеко не все, большинство будут от вас ливать даже не зайдя. А прикиньте, нужно скачивать и JVM, и assets, и сам клиент. Офигеть можно же.

Поэтому и использование уже готовой JVM, если она уже есть у игрока - это MUST BE.

Запилите пожалуйста, иначе все проекты на этом лаунчере будут тем более терять (еще более) львиную долю игроков (скачивая кроме ассетов еще и целую JVM).
А с этой фичей данный лаунчер будет самый **ейший лаунчер в мире :good:
И у него будет преимущество.

А то пока что преимущество только у меня (в скорости загрузки/запуска игрового клиента).

Не знаю, зачем я помогаю другим в реализации конкурентного преимущества, просто мне лень самому писать поиск Java в незнакомом пока что мне лаунчере. Да и в вопросе безопасности этого могу чего-то не знать. Поэтому пускай уже помощь будет всем.
 
Последнее редактирование:
Было бы неплохо брать уже готовую JVM, если она уже есть на компе (поиск по "Program Files" Джавы Оракла и ОпенДЖДК) + поиск в директории Майнкрафт Лаунчера .minecraft или если и ее нет, то в директории TLauncher'а (брать ее). Берем эту JVM и патчим нужными нам секьюрити-фиксами.

Я про Mojang'овскую JRE.
И чекаем хеш-суммы, на случай, если JRE'хи модифицировал игрок-читер.

К тому же этих JRE надо две:
- JRE 8 для Майна до 1.16.5
- JRE 16+ для майна 1.17 и выше
А значит объем скачиваемых файлов возрастает вдвое в случае скачивания игроком клиентов разных версий.

Ибо 8-я в новых Майнах больше не поддерживается

______________________________________________________

Мой лаунчер например использует assets прямо из .minecraft, чтобы не плодить лишние папки assets с одинаковыми файлами, как это делают 99.9% всех остальных лаунчеров - каждый под себя лишние 300+ Мб, которые еще долго качать и игроки скорее отсекутся, чем будут ждать (за это спасибо конечно, в конкуренции с этим буду в плюсе я).
Ну и те ассеты, которых не хватает в .minecraft, мой лаунчер их докачивает с серверов Mojang все в тот же .minecraft. Поэтому если игрок уже имеет обычный Майн, то у него наверняка уже есть чуть ли не все ассеты. Зачем их скачивать отдельно?


Так и с JVM. Время запуска надо сокращать! Дождутся далеко не все, большинство будут от вас ливать даже не зайдя. А прикиньте, нужно скачивать и JVM, и assets, и сам клиент. Офигеть можно же.

Поэтому и использование уже готовой JVM, если она уже есть у игрока - это MUST BE.

Запилите пожалуйста, иначе все проекты на этом лаунчере будут тем более терять (еще более) львиную долю игроков (скачивая кроме ассетов еще и целую JVM).
А с этой фичей данный лаунчер будет самый **ейший лаунчер в мире :good:
И у него будет преимущество.

А то пока что преимущество только у меня (в скорости загрузки/запуска игрового клиента).

Не знаю, зачем я помогаю другим в реализации конкурентного преимущества, просто мне лень самому писать поиск Java в незнакомом пока что мне лаунчере. Да и в вопросе безопасности этого могу чего-то не знать. Поэтому пускай уже помощь будет всем.
Да всем побоку на эти 300мб, а если качать ассеты архивом, то не так уж и долго выходит.
 
Да всем побоку на эти 300мб, а если качать ассеты архивом, то не так уж и долго выходит.

У вас != у всех

Сколько % игроков, начавших загрузку клиента, по итогу дождались ее конца? Без этого процента попрошу ничего не утверждать. Только он будет являться настоящим ответом

А что за важные фичи? Разве что только защита из-за которой лаунчер мало у кого запускался

- Запуск игры через JNI
- GZip-сжатие запросов

- Широкое использование библиотеки параллельного программирования PPL для многократного ускорения работы
- Антиотладочная защита (СЗПУ “Периметр”)
- Защита от редакторов памяти (СЗПУ “Ратиборец”)

А почему не у всех запускался?
Можно же что-то придумать, оставив методы защиты, но сделав их более совместимыми
 
И чекаем хеш-суммы, на случай, если JRE'хи модифицировал игрок-читер.

И как быть в случае со всем зоопарком сборок Java (Oracle, OpenJRE, Liberica, Zulu/Azul, Adopt и т.д.)? Хешей не напасёшься))
 
А почему не у всех запускался?
Можно же что-то придумать, оставив методы защиты, но сделав их более совместимыми

1) Запускать игру через JNI на чашколаунчере нет смысла
2) есть более обновленная версия его защиты AvanGuard 1 (если вырубить часть функционала, то вроде как запускаться у большего числа пользователей будет), AvanGuard 2 (опять надо вырубать часть функционала). Обе версии обошли и обход где-то лежал в паблике.
 
у меня вылезло это
Usage: java [options] <mainclass> [args...]
(to execute a class)
or java [options] -jar <jarfile> [args...]
(to execute a jar file)
or java [options] -m <module>[/<mainclass>] [args...]
java [options] --module <module>[/<mainclass>] [args...]
(to execute the main class in a module)
or java [options] <sourcefile> [args]
(to execute a single source-file program)

Arguments following the main class, source file, -jar <jarfile>,
-m or --module <module>/<mainclass> are passed as the arguments to
main class.

where options include:

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
--class-path <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-p <module path>
--module-path <module path>...
A ; separated list of directories, each directory
is a directory of modules.
--upgrade-module-path <module path>...
A ; separated list of directories, each directory
is a directory of modules that replace upgradeable
modules in the runtime image
--add-modules <module name>[,<module name>...]
root modules to resolve in addition to the initial module.
<module name> can also be ALL-DEFAULT, ALL-SYSTEM,
ALL-MODULE-PATH.
--enable-native-access <module name>[,<module name>...]
modules that are permitted to perform restricted native operations.
<module name> can also be ALL-UNNAMED.
--list-modules
list observable modules and exit
-d <module name>
--describe-module <module name>
describe a module and exit
--dry-run create VM and load main class but do not execute main method.
The --dry-run option may be useful for validating the
command-line options such as the module system configuration.
--validate-modules
validate all modules and exit
The --validate-modules option may be useful for finding
conflicts and other errors with modules on the module path.
-D<name>=<value>
set a system property
-verbose:[class|module|gc|jni]
enable verbose output for the given subsystem
-version print product version to the error stream and exit
--version print product version to the output stream and exit
-showversion print product version to the error stream and continue
--show-version
print product version to the output stream and continue
--show-module-resolution
show module resolution output during startup
-? -h -help
print this help message to the error stream
--help print this help message to the output stream
-X print help on extra options to the error stream
--help-extra print help on extra options to the output stream
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions with specified granularity
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions with specified granularity
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:jdwp
see also -agentlib:jdwp=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
-splash:<imagepath>
show splash screen with specified image
HiDPI scaled images are automatically supported and used
if available. The unscaled image filename, e.g. image.ext,
should always be passed as the argument to the -splash option.
The most appropriate scaled image provided will be picked up
automatically.
See the SplashScreen API documentation for more information
@argument files
one or more argument files containing options
-disable-@files
prevent further argument file expansion
--enable-preview
allow classes to depend on preview features of this release
To specify an argument for a long option, you can use --<name>=<value> or
--<name> <value>.
 

Поделиться этой страницей

Назад
Верх