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

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

Нужен ?

  • Да

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

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

    44 голосов 22,2%
Слоган жеш "write once - run anywhere". Джава не джава без мультиплатформенности.
И все-таки косяки у oracle\sun есть и исправляются они не все так быстро как хотелось бы.
Да смотрю у ваучера большое будущее :D
При запуске выдал
java.lang.NoClassDefFoundError: javafx/application/Application
юзал на jdk 7.
Поставь jfx||JDK 8\добавь jfxrt.jar в classpatch мне пока некогда разбираться с совместимостью, позже что-нибудь сделаю.
JavaFx далеко не у всех может быть. Процент тех, у кого он сможет работать без переустановки Java, очень мал...... Наверное, тоже самое касается и Sashok724Launcher v3
Захочется поиграть обновятся до java 8, хватит на всяких XPюшках сидеть с java 6.
 
И все-таки косяки у oracle\sun есть и исправляются они не все так быстро как хотелось бы.

Поставь jfx||JDK 8\добавь jfxrt.jar в classpatch мне пока некогда разбираться с совместимостью, позже что-нибудь сделаю.

Захочется поиграть обновятся до java 8, хватит на всяких XPюшках сидеть с java 6.
Вот ты и будешь пролечивать так каждого игрока. Поставь то поставь это :D
 
На Java 8 переходить рановато. Слишком много проблем с обратной совместимостью.
Для рядового пользователя проблем вообще нет. Java сама по себе так сделана, что она поддерживает предыдущие версии из коробки, достаточно просто взять и скомпилировать под нужный -source.
 
Для рядового пользователя проблем вообще нет. Java сама по себе так сделана, что она поддерживает предыдущие версии из коробки, достаточно просто взять и скомпилировать под нужный -source.
Я тоже так думал, пока не получил краш 8 жабы+forge на мак ось :D.
 
Я тоже так думал, пока не получил краш 8 жабы+forge на мак ось :D.
У меня под Java 8 на Win7 никак не хочет запускаться 1.6.x+ через launchwrapper. ConcurentModificationException в цикле итерации возникает.
 
Вот ты и будешь пролечивать так каждого игрока. Поставь то поставь это :D
JDK не помню с какой версии умеет создавать "родные пакеты" под винду (exe\msi), по этому просто делаем такой пакет, даем игроку, а там по схеме "Далее-далее-готово" и кликаем на ярлычек.

Забыл вчера написать про подключение игры, сейчас минут через 5 будет.
В общем модифицируем клиент.
Во-первых нужно сделать так, чтобы клиент брал файлы не из папки в AppData (или ещё где), а из папки куда он был загружен. (System.getProperty("user.home")+".MCWL"+File.separator+id , id = id_клиента_на_сайте)
Далее нам нужно добавить класс gstarter, который и будет запускать игру.(Этот класс должен лежать в корне jar`ника ("пакет по умолчанию")).
Код:
import MCWL.IGameStarter;
import javax.swing.JFrame;

public class gstarter implements IGameStarter {
    @Override
    public void start(String login, String pass) {
        System.out.println("Game starter get call with user:\""+login+"\" and pass:\""+pass+"\"");
         JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(100, 100);
        frame.setLocationByPlatform(true);
        frame.setVisible(true);     
    }
  
}
В данном примере в консоль выводятся логин и пароль игрока, а потом создается окошко.(т.к. разные версии стартуют по разному, то вам придется переделать этот пример под свой клиент, добавить авторизацию, получение сессии и т.д.)
Данный класс реализует интерфейс IGameStarter из пакета "MCWL", найти его можно в лаунчере и при компиляции использовать лаунчер как библиотеку.
После упаковываем наш клиент в обычный zip архив и размещаем его по адресу, который регистрировали.
Теперь загрузка и запуск.
[Стерлось...]
Скачивание клиента
Код:
launcher.startDownloadZip(serverid)
Проверка статуса загрузки (1-загрузка,2-распаковка,0-завершено)
Код:
launcher.getStatus()
Запуск.(serverID - id сервера, file - путь до файла в архиве, login и pass, думаю, ясно что такое)
Код:
startGame(serverID, file, login, pass)
Ну и все пока.
Свежий бинарник на всякий случай (-source 1.7 , т.е. под java 7 должно работать при наличии jfxrt.jar в classpath)
http://mcwl.esy.es/download/0.1/MCWLauncher.jar
Почистил БД от лаунчеров "хацкирав".
Как лучше реализовать серверную чать: как мод(native/forge/modloader?) или как плагин ?(хотя, глядя на "time to say..." кажется, что скоро bukkit будет не актуален)
 
Последнее редактирование:
Выложу сдесь мой TrueBat v.2 https://cloud.mail.ru/public/2342f2fea7ac/TrueBat-New.zip
Может кому будет полезным для нормального запуска новых версий клиентов.
Что он умеет? Парсит файлик versions/x.x.x.json и собирает валидную строку для запуска клиента, и потом запускает (При наличие нативов в /versions/x.x.x/natives).
 
windows 7 32-ух разрядная система, я сосу кароч
 
Чувак смерись, не актуален твой недолаунчер. Это каждово школьника так лечить? Установи какой то там jfx или яву 8 :D
Нет, я сделаю дозагрузку javafx при её отсутствии, просто мне пока некогда.
 
Нет, я сделаю дозагрузку javafx при её отсутствии, просто мне пока некогда.
javafx это ведь просто либа? Кинь ее содержимое в джарник с лаунчером и не заставляй всяких качать всякое, что первым скорее всего и не нужно.
 
javafx это ведь просто либа? Кинь ее содержимое в джарник с лаунчером и не заставляй всяких качать всякое, что первым скорее всего и не нужно.
Там могут появиться проблемы с "переопределением" класса, т.е. когда в classpath два класса с одинаковым названием в одном пакете, по этому там надо сделать динамическое подключение библиотеки jfx я уже продумал как это реализовать, но никак до IDE времени добраться не хватает, сегодня, может быть, вечером сделаю.
 
Там могут появиться проблемы с "переопределением" класса, т.е. когда в classpath два класса с одинаковым названием в одном пакете
Сомневаюсь, что могут возникнуть проблемы. В любом случае, можно изменить названия пакетов. Например:
org.myjavafx. ...

Если верить сайту Oracle:
As of JDK 7u6 JavaFX is included with the standard JDK and JRE bundles. Please download the JDK or JRE to use JavaFX.

Как JavaFX вообще может отсутствовать, если она вшита в jre?
 
Сомневаюсь, что могут возникнуть проблемы. В любом случае, можно изменить названия пакетов. Например:
org.myjavafx. ...

Если верить сайту Oracle:
As of JDK 7u6 JavaFX is included with the standard JDK and JRE bundles. Please download the JDK or JRE to use JavaFX.

Как JavaFX вообще может отсутствовать, если она вшита в jre?
Возможно, у многих стоит 7 ява ниже 6 апдейта, по этому и возникают проблемы.
В любом случае я уже делаю мини-костыль для дозагрузки javafx при необходимости.
 
У меня вот j7u60. И шото ничего не работает. Скорее всего проблема не в том.
 
А что пишет ?(может сообщения какие выскакивают или в консоли что-то выводится)
Что странно:
Код:
C:\Users\Alexandr\Desktop>java -jar MCWLauncher.jar
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Ap
plication
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javafx.application.Application
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 13 more

При чем jxfrt.jar лежит в lib'ах, а именно от туда(на сколько мне известно) грузятся абсолютно все jar-файлы.
Советую погуглит по строке:
"Caused by: java.lang.ClassNotFoundException: javafx.application.Application"
 

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

Назад
Верх