Вот ты и будешь пролечивать так каждого игрока. Поставь то поставь это
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-завершено)
Запуск.(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 будет не актуален)