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

Лаунчер JMCLauncherFX, мультиклиент, шаблоны UPD 0.7.1

Нужен ли такой лаунчер?

  • Определенно да!

    169 голосов 61,9%
  • Подожду новую версию

    51 голосов 18,7%
  • Ненужен

    53 голосов 19,4%
maxMemory() вернёт максимальную память которую может вделить себе JVM. Учитывая что лаунчер запускают дабл кликом, то это 256 мегабайт по дефолту.
Тестировал у себя на 4гб, при забивке 2гб maxMemory() возвращает 700-800 мб, при забивке 3гб maxMemory() возвращает 200-300 мб. Впринципе результат в тестах сходился с реальными и если я выделял более например 900 мб когда maxMemory() возвращал 820 то ява крашилась на создании.
PS если есть предложение по более грамотному расчету памяти то я буду только рад)
 
Тестировал у себя на 4гб, при забивке 2гб maxMemory() возвращает 700-800 мб, при забивке 3гб maxMemory() возвращает 200-300 мб. Впринципе результат в тестах сходился с реальными и если я выделял более например 900 мб когда maxMemory() возвращал 820 то ява крашилась на создании.
PS если есть предложение по более грамотному расчету памяти то я буду только рад)
maxMemory() возвращает лимит для JVM, и утебя просто каким-то образом лими выставлялся в зависимости от свободной памяти. Хотя на самом деле это будет тупо 256 метров в большинстве случаев.

Есть sunjvm-dependent способ узнать физическую память.

Код:
com.sun.management.OperatingSystemMXBean mxbean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
int memorybytes = mxbean.getTotalPhysicalMemorySize();
 
Как изменить вот этот файл: 1.6.2-customcompileforge1.jar на версию 1.6.4?
 
На мой взгляд, фразы про java-бинарник и про параметры java-машины очень пугают рядового пользователя. Мне, например, категорически непонятно что за java-бинарник и где его брать. Может просто сделать обычный выпадающий список со значениями памяти? Было бы удобно...
Кстати, на XP версия 0.7.1 не запускается, хотя предыдущая идет. В окошке командной строки пишет, что не может выделить столько ОЗУ. Нужен фикс, ибо остались еще люди, которые юзают ХРюшу....
 
Кстати, на XP версия 0.7.1 не запускается, хотя предыдущая идет. В окошке командной строки пишет, что не может выделить столько ОЗУ. Нужен фикс, ибо остались еще люди, которые юзают ХРюшу....
спасибо, гляну.
 
Проблемка нарисовалась:
Ланчер при первом запуске спокойно закачивает клиент, записывает md5 для bin и assets в папочку.
Далее если кто-то вносит изменения в minecraft.jar и запускает ланчер - клиент не проверяется и запускается. Дата md5 файлов не изменяется и остается той, что была на момент первого запуска, хотя поидее они же должны считаться каждый раз при запуске ланчера.

Не могу понять - это глюк 0.7.1 версии(раньше вроде работало) или я где-то с настройками накосячил?
 
md5 существуют только для проверки обновления клиента т.е. при запуске игры сверяется сумма в md5 хранящаяся локально и сумма архива например bin.zip на сервере, если она расходится то происходит обновление файлов из архива сервера.

Почему именно сверка архивного мд5? Просто ради разгрузки трафика клиент\сервера и в частности разгрузка количестварасчетов сумм файлов на сервере. Подсчитать 1-10 md5 сумм архивов на сервере или расчитать 10-n фалов без клиента. Естественно выигрывает первый метод по сверке и расчету меньшего количества сумм.
Вообще реализовать сверку именно по файлам вполне например только папки Bin можно но я больше переживаю по поводу нагрузки т.к. у очень многих хостинг и так дохленький.
 
тю... так может локально хранить zipы тоже, при запуске ланчера проверять их md5 с серверными и распаковывать с перезаписью хотябы? На компе много ресурсов не сожрет. А то механизм есть, задействовать для защиты клиента от модификаций бы.
 
Можно сделать отдельный лист загрузок для папки bin к примеру, и его сверять жестко по md5 в реалтайме при запуске игры если лаунчер в онлайне.
 
так это еще и распакованную bin держать на сервере надо?
Ну тогда можно параметр "DownloadZipList":["bin.zip","assets.zip"] совместить с этим. Типа того "DownloadList":["bin.zip","assets.zip","bin/minecraft.jar"]
 
так это еще и распакованную bin держать на сервере надо?
Ну тогда можно параметр "DownloadZipList":["bin.zip","assets.zip"] совместить с этим. Типа того "DownloadList":["bin.zip","assets.zip","bin/minecraft.jar"]
Ну ничто не помешает держать в bin.zip все кроме minecraft.jar и еще пары уязвимых либ, Соответсвенно minecraft.jar держать распакованными рядом с bin.zip , нагрузка минимальная а желаемое выйдет.
"DownloadZipList":["bin.zip","assets.zip"] совместить с этим. Типа того "DownloadList":["bin.zip","assets.zip","bin/minecraft.jar"]
[/QUOTE] тоже интересный подход, постараюсь реализовать такой подход для извращенцев =)
 
было бы здорово... а то лаунчер у меня на продакшене стоит.. и уже читеров развелось =) я чего-то думал что клиент проверяется =)
 
было бы здорово... а то лаунчер у меня на продакшене стоит.. и уже читеров развелось =) я чего-то думал что клиент проверяется =)
Кто-то видимо не понял смысла лаунчера.
Я ведь могу спокойно подменить ссылки в конфиге и не париться.
 
обфускация для этого есть и прочие запаковщики
 
ну если отбросить кроссплатформенность. jar->exe, exe в упаковщик. До конфига будет не добраться.
 
ну если отбросить кроссплатформенность. jar->exe, exe в упаковщик. До конфига будет не добраться.
Ты что-нибудь про такую вещи как дамп JVM слышал?
Никакая упаковка тебе не поможет.
 
так и чего, соберешь из дампа новый ланчер со своими ссылками, а он верификацию по md5 не пройдет.
 
Кто-то видимо не понял смысла лаунчера.
Я ведь могу спокойно подменить ссылки в конфиге и не париться.
Лично проверил и ввожу на наши сервера потихоньку связку на из оребфускатора+нолаг+ночитс. На тестовом стенде справляется на ура со всеми читами. Другое дело если держателю сервера лень повозиться пару часов с конфигом атичита а потом перекладывать свои проблемы с больной головы на здоровую.
При этом можно спокойно оставлять включенный динамит и вообще не утежелять и резать возможности клиента.

Едва не забыл добавить что лаунчер полностью опенсурсный и ничто немешает захардкодить ваши секретные данные или прикрутить что угодно. Владея минимальными познаниями явы любой сможет прикрутить любую свою хотелку т.к. всетаки если проект хоть немного серьезен то поправить лаунчер под свои нужды дело чести, благо я постарался максимально облегчить задачу другим программистам делая код максимально простым\чистым и прозрачным.
 

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

Назад
Верх