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

Лаунчер [0.3 BETA]MCWLauncher (Мой первый лаунчер) + Web

Нужен ?

  • Да

    113 голосов 57,1%
  • Нет

    41 голосов 20,7%
  • Без разницы

    44 голосов 22,2%
@danilko ну что с лаунчером.
Делаю менеджер загрузок + многопоточное скачивание клиента частями (в перспективе переделка под аналог торрента) Апдейт будет так же в среду, сейчас пока ничего готового представить не могу.

P.s. ось менял, настраивал вот и задержка вышла
 
В общем пишу свой первый лаунчер(на Java), он будет немного отличаться от обычного лаунчера.
Основные отличия:
  • Интерфейс верстается на HTML [HTML5 поддерживается | WebView]
  • Загрузка клиента по технологии схожей с BitTorrent (В процессе написания)
Основной функционал:
  • Мультисерверность (есть)
  • Поддержка большинства версий (есть, но индивидуальна)
  • Проверка изменений в клиенте (пока только хеш можно проверить)
Проверка изменений в клиенте.В общем суть такова, что клиент качается по аналогу торрента (сервер - треккер, а игроки сиды) и при скачивании одновременно тестируются игроки, которые уже "в онлайне" на наличие изменений в клиенте.(Да, я знаю возможные обходы)При обнаружении отличий лаунчер информирует плагин на сервере, который в свою очередь оповещает администрацию сервера.

Собственно зачем я создал тему. Хочу узнать у местных, нужен ли им сей лаунчер ?

Скачать:
Designer preview (Без основной функциональности)
{jar}/MCWL/url.txt - файл со ссылкой на дизайн лаунчера
Java x86 (Сборка под Windows 8.1 Pro JDK8 x86)
Java 7: http://mcwl.esy.es/download/pre_0.1/MCWLauncher_J7x86.jar
Java 8: http://mcwl.esy.es/download/pre_0.1/MCWLauncher_J8x86.jar
Java x64 (Сборка под Ubuntu 14.04 JDK8 x64)
Java 7: http://mcwl.esy.es/download/pre_0.1/MCWLauncher_J7x64.jar
Java 8: http://mcwl.esy.es/download/pre_0.1/MCWLauncher_J8x64.jar


  • реализовать децентрализованную загрузку клиента
  • сделать плагин для сервера
Отличный лаунчер!
 
@danilko а новая версия лаунчера будет лучше.
Смотря в чем лучше, я делаю многопоточную загрузку и менеджер загрузок чтоб можно было несколько клиентов сразу качать, это и будет в следующей версии.
Если хочешь чтоб я что-то добавил, так проси я буду добавлять, а пока делаю то что считаю нужным
 
Да, я знаю что смысла нет.
Но кто знает, может кто нибудь придумает что нибудь такое - этакое.
Например форс оп, на****** су** разнесли сервер (Короч чит который дает опку всем игрокам, и х** забанишь этих *******)
В общем пишу свой первый лаунчер(на Java), он будет немного отличаться от обычного лаунчера.
Основные отличия:
  • Интерфейс верстается на HTML [HTML5 поддерживается | WebView]
  • Загрузка клиента по технологии схожей с BitTorrent (В процессе написания)
Основной функционал:
  • Мультисерверность (есть)
  • Поддержка большинства версий (есть, но индивидуальна)
  • Проверка изменений в клиенте (пока только хеш можно проверить)
Проверка изменений в клиенте.В общем суть такова, что клиент качается по аналогу торрента (сервер - треккер, а игроки сиды) и при скачивании одновременно тестируются игроки, которые уже "в онлайне" на наличие изменений в клиенте.(Да, я знаю возможные обходы)При обнаружении отличий лаунчер информирует плагин на сервере, который в свою очередь оповещает администрацию сервера.

Собственно зачем я создал тему. Хочу узнать у местных, нужен ли им сей лаунчер ?

Скачать:
Designer preview (Без основной функциональности)
{jar}/MCWL/url.txt - файл со ссылкой на дизайн лаунчера
Java x86 (Сборка под Windows 8.1 Pro JDK8 x86)
Java 7: http://mcwl.esy.es/download/pre_0.1/MCWLauncher_J7x86.jar
Java 8: http://mcwl.esy.es/download/pre_0.1/MCWLauncher_J8x86.jar
Java x64 (Сборка под Ubuntu 14.04 JDK8 x64)
Java 7: http://mcwl.esy.es/download/pre_0.1/MCWLauncher_J7x64.jar
Java 8: http://mcwl.esy.es/download/pre_0.1/MCWLauncher_J8x64.jar


  • реализовать децентрализованную загрузку клиента
  • сделать плагин для сервера
Ну если честно, ожидал что то более (Грандиозного), а получилось вот это как...
 
Например форс оп, на****** су** разнесли сервер (Короч чит который дает опку всем игрокам, и х** забанишь этих *******)

Ну если честно, ожидал что то более (Грандиозного), а получилось вот это как...
Первый же лаунчер, да и кстати первая поделка на Java у меня )
(ну вторая, хотя там вообще ерунда была почти "Hello world!")
В общем, в связи с моим скорым отъездом на военные сборы разработка лаунчера временно приостанавливается примерно на 1.5 недели (5 числа возвращаюсь) .
Возможно, что в среду все-таки что-то выложу, но точно сказать ничего не могу.
Релиза пока нет, но могу сказать, что сделал нормальный менеджер загрузок (пока без оформления, но уже можно качать несколько файлов одновременно), добавил контроль версий лаунчера (типа лаунчер откроется только если запущена "latest" версия,но не решил пока как точно будет идти контроль: для каждого сервера отдельно или единый для всех) ну и, разумеется, сделал функцию для открытия ссылок в браузере по умолчанию (вообще для добавления ссылки на скачивание последней версии лаунчера, но можно применить и для открытия ссылок на сайт, группу в вк и т.д.).
А ну и начал делать веб-обвязку, там новости всякие, авторизация, статистика может будет. (пока за базу взял свою старую CMS, но постепенно дописываю модули, оптимизирую, кое-что вообще пришлось переписать заново)
 
@danilko ну что с лаунчером.
В разработке, новое оформление, веб-часть и загрузку клиента кусками доделываю, мб в субботу закончу.
Решился вопрос с обновлением лаунчера: обновление будет происходить через веб-обвязку на сайте сервера.
При этом обновления лаунчера могут устанавливаться в автоматическом режиме прямо на сайте. (т.е. обвязка сможет самостоятельно обновить jar`ник без участия администратора) Но тут могут возникнуть проблемы с совместимостью, хотя я и стараюсь соблюдать обратную совместимость, но, возможно, будут обновления с нарушением обратной совместимости. (например сейчас я сделал возможность качать сразу несколько клиентов, но для этого пришлось немного изменить API).

Ну и там ещё планы появились, что лаунчер будет разбит на 2 части 1 - окно-браузер (при первом запуске докачивает 2 часть), 2 - сервис-роутер, который обеспечивает запуск лаунчера из браузера(аля зашел на сайт сервера, увидел, что на MCWL, зарегался, кликнул "играть" и открылась игра, ну и там мб ярлычек на рабочем столе сразу появляется при первом запуске), является торрент-клиентом (для скачивания игры и поддержания файлообмена), ну и хранит кеш на случай выхода в оффлайн\запуска лаунчера при отсутствии интернета. Но это все уже после приезда буду делать, сейчас только "кусочная" загрузка для хостов вроде hostinger (которые блочат загрузку больших файлов с сайта) и новое оформление, кстати большую часть оформления я уже сделал и оно будет в стиле 8 винды (flat/metro) и адаптировано под сенсорный экран (без потери удобства на десктопе).
P.s. я бы прикрепил скрин, но рб не хочет принимать его.
Загрузка в режиме "HTTP_MT" прошла обкатку успешно ) (Правда пока только на маленьком клиенте в 3 КБ, сейчас буду тестировать на большом файле в 200МБ+)
Ну а пока у меня файлы загружаются на сервер расскажу что это такое.
В общем преимущества:
- возможность скачивать файлы порциями (некоторые хостинги не дают скачивать большие файлы, размер "порции" регулируется, по умолчанию 1 КБ)
- возможность скачивать файлы с нескольких серверов , в несколько потоков (я пока не реализовал, но вообще ничего не мешает добавить пару строчек на JS)
- не нужно тратить время на упаковку клиента
Недостатки:
- можно заддосить свой сервер большим количеством запросов
На данный момент выявлено 3 ошибки, 2 из них по вине сервера (500), добавлена проверка ответа сервера и пауза в 1 секунду, если сервер сообщает об ошибке.
В общем тест пройден, только хостингер все-равно заблочил сайт из-за превышения нагрузки, это буду решать по мере прихода сайта в обычное состояние.
А пока готовимся к апдейту P.2.0, он то сейчас и тестировался. (все готово к запуску, кроме сайта)
Так как основной сайт временно недоступен, то я выкладываю offline-сборку версии P.2.0, за одно обновлю шапку и начну искать новый хостинг. (Возможно, вообще дома поставлю, т.к. есть небольшая свободная машинка, но вот с соединением придется что-то придумывать)
Ну и, собственно, лаунчер прикреплен к посту. (Огромная просьба не тыкать "скачать" в лаунчере, т.к. кнопка работает и запускает скачивание клиента версии minecraft 1.8 с сайта MCWL, который собственно из-за нее и упал :) )
Позже оффлайн-сборку удалю.
А, ктстаи, веб-часть пока не выкладываю, т.к. много недоделок. И скачивание я все-таки случайно вырубил при сборке бинарника, по этому пока можно оценить только новое оформление :)
P.s. как я и писал выше лаунчер поддерживает сенсорный экран (в windows точно, как на остальных системах - не знаю), и если вы сверстали свой дизайн, это значит что он будет реагировать на палец, но вот как это уже другой вопрос, все зависит от степени вашей "криворукости", "рукожопости" или как вам больше нравится это называть.
 
Последнее редактирование:
В разработке, новое оформление, веб-часть и загрузку клиента кусками доделываю, мб в субботу закончу.
Решился вопрос с обновлением лаунчера: обновление будет происходить через веб-обвязку на сайте сервера.
При этом обновления лаунчера могут устанавливаться в автоматическом режиме прямо на сайте. (т.е. обвязка сможет самостоятельно обновить jar`ник без участия администратора) Но тут могут возникнуть проблемы с совместимостью, хотя я и стараюсь соблюдать обратную совместимость, но, возможно, будут обновления с нарушением обратной совместимости. (например сейчас я сделал возможность качать сразу несколько клиентов, но для этого пришлось немного изменить API).

Ну и там ещё планы появились, что лаунчер будет разбит на 2 части 1 - окно-браузер (при первом запуске докачивает 2 часть), 2 - сервис-роутер, который обеспечивает запуск лаунчера из браузера(аля зашел на сайт сервера, увидел, что на MCWL, зарегался, кликнул "играть" и открылась игра, ну и там мб ярлычек на рабочем столе сразу появляется при первом запуске), является торрент-клиентом (для скачивания игры и поддержания файлообмена), ну и хранит кеш на случай выхода в оффлайн\запуска лаунчера при отсутствии интернета. Но это все уже после приезда буду делать, сейчас только "кусочная" загрузка для хостов вроде hostinger (которые блочат загрузку больших файлов с сайта) и новое оформление, кстати большую часть оформления я уже сделал и оно будет в стиле 8 винды (flat/metro) и адаптировано под сенсорный экран (без потери удобства на десктопе).
P.s. я бы прикрепил скрин, но рб не хочет принимать его.
Загрузка в режиме "HTTP_MT" прошла обкатку успешно ) (Правда пока только на маленьком клиенте в 3 КБ, сейчас буду тестировать на большом файле в 200МБ+)
Ну а пока у меня файлы загружаются на сервер расскажу что это такое.
В общем преимущества:
- возможность скачивать файлы порциями (некоторые хостинги не дают скачивать большие файлы, размер "порции" регулируется, по умолчанию 1 КБ)
- возможность скачивать файлы с нескольких серверов , в несколько потоков (я пока не реализовал, но вообще ничего не мешает добавить пару строчек на JS)
- не нужно тратить время на упаковку клиента
Недостатки:
- можно заддосить свой сервер большим количеством запросов
На данный момент выявлено 3 ошибки, 2 из них по вине сервера (500), добавлена проверка ответа сервера и пауза в 1 секунду, если сервер сообщает об ошибке.
В общем тест пройден, только хостингер все-равно заблочил сайт из-за превышения нагрузки, это буду решать по мере прихода сайта в обычное состояние.
А пока готовимся к апдейту P.2.0, он то сейчас и тестировался. (все готово к запуску, кроме сайта)
Так как основной сайт временно недоступен, то я выкладываю offline-сборку версии P.2.0, за одно обновлю шапку и начну искать новый хостинг. (Возможно, вообще дома поставлю, т.к. есть небольшая свободная машинка, но вот с соединением придется что-то придумывать)
Ну и, собственно, лаунчер прикреплен к посту. (Огромная просьба не тыкать "скачать" в лаунчере, т.к. кнопка работает и запускает скачивание клиента версии minecraft 1.8 с сайта MCWL, который собственно из-за нее и упал :) )
Позже оффлайн-сборку удалю.
А, ктстаи, веб-часть пока не выкладываю, т.к. много недоделок. И скачивание я все-таки случайно вырубил при сборке бинарника, по этому пока можно оценить только новое оформление :)
P.s. как я и писал выше лаунчер поддерживает сенсорный экран (в windows точно, как на остальных системах - не знаю), и если вы сверстали свой дизайн, это значит что он будет реагировать на палец, но вот как это уже другой вопрос, все зависит от степени вашей "криворукости", "рукожопости" или как вам больше нравится это называть.
Вот один аопрос, а что на окно-планшетах удобно в маин играть? кто-нибудь пробовал?
 
Вот один аопрос, а что на окно-планшетах удобно в маин играть? кто-нибудь пробовал?
У меня окно-планшет )
Вроде норм
UPD: Ну лан я попробовал без докстанции, тогда фигово без мышки и клавиатуры.
Идет проверка тестового онлайн-лаунчера, пока без травм )
Тестирование почти завершено, работы, проведенные вчера, позволили скачать гораздо больше данных при меньшей нагрузке (за счет увеличения размера кеша и введения дополнительных разгрузочных пауз).
При активации кеширования нагрузка на сайт снижается примерно в 2-3 раза, что позволяет размещать клиент и на хостингах с ограничением нагрузки на процессор. (hostinger может выдержать более 1 скачивания, тогда как без кеширования сайт отключался сразу после скачивания ~5МБайт)
UPD: восстановлена поддержка старых оформлений (частично: только начало скачивания, проверка статуса загрузки и размер загруженных данных работают по новой схемме)
Пошла последняя волна тестирования, если все пройдет хорошо, то новая сборка уже сегодня будет в этой теме и на сайте.
Все, апдейт до P.0.2 u1 через пару минут загрузится
Все, ждите веб-обвязку через 5-20 минут
Снова сайт накрылся... Ну чтож придется искать другой хостинг.
 
Последнее редактирование:
Придумал супер-пупер защиту на яве, которую будет ещё сложнее обойти(хотя я даже обход представить пока не могу), чем этот торрент-клиент и может быть даже с открытым исходным кодом и при этом не будет угрозы обхода, блин жалко что уезжаю и могу забыть реализацию.
В общем основывается она на сериализации классов в java и шифровке данных (типа агент скачивается, запускается и тогда уже сложно будет вообще как-то обойти, разве что свою java мутить, как там кто-то писал выше, только с кучей костылей-заглушек :-) )
 
В общем основывается она на сериализации классов в java и шифровке данных (типа агент скачивается, запускается и тогда уже сложно будет вообще как-то обойти, разве что свою java мутить, как там кто-то писал выше, только с кучей костылей-заглушек :) )
Поверь, и это не поможет. Притом, если сериализовать объект класса, то десериализовать его корректно можно только в той же JVM, под которой объект был сериализован. Сам же класс, объектом которого является сериализуемый объект, должен быть обязательно загружен в JVM, т.е., вне зависимости от шифрования классы можно будет сдампить, затем изменить и подменить....PROFIT!
 

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

Назад
Верх