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

Лаунчер Asn007-launcher (open source) версия 1.2 build 124

Статус
Закрыто для дальнейших ответов.
Аааааа, понял, надо библиотеку jl1.0 к NetBeans подключить?
ГЗВ разобрался)
 
@asn007, можно ли просто сделать автоматическое обновление(если таковое на сервере имеется), а не обновление с согласия пользователя? Просто там кнопки коряво стоят(
 
Набросал нормальный дизайн лаунчера(тот был просто ужас;) ) и шаблоны к нему же.

Плюсы:
1.Лаунчер терят вес на 0.80 MB
2.Более сочетающиеся картинки

Минусы:
1.Не особо аккуратно(Paint-Master)
 

Вложения:

Ребята, помогите! Как заставить файл servers.dat качаться в корневую папку клиента?( NETBeans )

Мой кусок кода который не работает (т.е. - не качает с сервера файл и не вкидывает его в папку)

protected void loadURLs() throws Exception {
state = 2;

String jarList1 = "servers.dat," + mainGameUrl;
jarList1 = trimExtensionByCapabilities(jarList1);

StringTokenizer jar = new StringTokenizer(jarList1, ", ");
int jarCount = jar.countTokens() + 1;

urlList = new URL[jarCount];

//# Откуда скачивать
URL path = new URL("http://мойсайт/MineCraft/MinecraftDownload/ ");

for (int i = 0; i < jarCount - 1; i++) {
urlList = new URL(path, jar.nextToken());
}

String osName = System.getProperty("os.name");
String nativeJar = null;

if (osName.startsWith("Win"))
nativeJar = "windows_natives.jar.lzma";
else if (osName.startsWith("Linux"))
nativeJar = "linux_natives.jar.lzma";
else if (osName.startsWith("Mac"))
nativeJar = "macosx_natives.jar.lzma";
else if ((osName.startsWith("Solaris")) || (osName.startsWith("SunOS")))
nativeJar = "solaris_natives.jar.lzma";
else {
fatalErrorOccured("OS (" + osName + ") не поддерживается", null);
}

if (nativeJar == null) {
fatalErrorOccured("lwjgl файлы не найдены", null);
} else {
nativeJar = trimExtensionByCapabilities(nativeJar);
urlList[(jarCount - 1)] = new URL(path, nativeJar);
}
}

public void run1()
{
init();
state = 3;

percentage = 5;
try
{
loadURLs();

String path = (String)AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() {
public Object run() throws Exception {
return Util.getWorkingDirectory() + File.separator;
}
});
File dir = new File(path);

if (!dir.exists()) {
dir.mkdirs();
}

if (latestVersion != null) {
File versionFile = new File(dir, "version");

boolean cacheAvailable = false;
if ((!forceUpdate) && (versionFile.exists()) && (
(latestVersion.equals("-1")) || (latestVersion.equals(readVersionFile(versionFile))))) {
cacheAvailable = true;
percentage = 90;
}

if ((forceUpdate) || (!cacheAvailable)) {
shouldUpdate = true;
if ((!forceUpdate) && (versionFile.exists()))
{
checkShouldUpdate();
}
if (shouldUpdate)
{
writeVersionFile(versionFile, "");

downloadJars(path);
extractJars(path);
extractNatives(path);

if (latestVersion != null) {
percentage = 90;
writeVersionFile(versionFile, latestVersion);
}
} else {
cacheAvailable = true;
percentage = 90;
}
}
}

updateClassPath(dir);
state = 10;
} catch (AccessControlException ace) {
fatalErrorOccured(ace.getMessage(), ace);
certificateRefused = true;
} catch (Exception e) {
fatalErrorOccured(e.getMessage(), e);
} finally {
loaderThread = null;
}
}
 
Ребята, помогите! Как заставить файл servers.dat качаться в корневую папку клиента?( NETBeans )

Мой кусок кода который не работает (т.е. - не качает с сервера файл и не вкидывает его в папку)

protected void loadURLs() throws Exception {
state = 2;

String jarList1 = "servers.dat," + mainGameUrl;
jarList1 = trimExtensionByCapabilities(jarList1);

StringTokenizer jar = new StringTokenizer(jarList1, ", ");
int jarCount = jar.countTokens() + 1;

urlList = new URL[jarCount];

//# Откуда скачивать
URL path = new URL("http://мойсайт/MineCraft/MinecraftDownload/ ");

for (int i = 0; i < jarCount - 1; i++) {
urlList = new URL(path, jar.nextToken());
}

String osName = System.getProperty("os.name");
String nativeJar = null;

if (osName.startsWith("Win"))
nativeJar = "windows_natives.jar.lzma";
else if (osName.startsWith("Linux"))
nativeJar = "linux_natives.jar.lzma";
else if (osName.startsWith("Mac"))
nativeJar = "macosx_natives.jar.lzma";
else if ((osName.startsWith("Solaris")) || (osName.startsWith("SunOS")))
nativeJar = "solaris_natives.jar.lzma";
else {
fatalErrorOccured("OS (" + osName + ") не поддерживается", null);
}

if (nativeJar == null) {
fatalErrorOccured("lwjgl файлы не найдены", null);
} else {
nativeJar = trimExtensionByCapabilities(nativeJar);
urlList[(jarCount - 1)] = new URL(path, nativeJar);
}
}

public void run1()
{
init();
state = 3;

percentage = 5;
try
{
loadURLs();

String path = (String)AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() {
public Object run() throws Exception {
return Util.getWorkingDirectory() + File.separator;
}
});
File dir = new File(path);

if (!dir.exists()) {
dir.mkdirs();
}

if (latestVersion != null) {
File versionFile = new File(dir, "version");

boolean cacheAvailable = false;
if ((!forceUpdate) && (versionFile.exists()) && (
(latestVersion.equals("-1")) || (latestVersion.equals(readVersionFile(versionFile))))) {
cacheAvailable = true;
percentage = 90;
}

if ((forceUpdate) || (!cacheAvailable)) {
shouldUpdate = true;
if ((!forceUpdate) && (versionFile.exists()))
{
checkShouldUpdate();
}
if (shouldUpdate)
{
writeVersionFile(versionFile, "");

downloadJars(path);
extractJars(path);
extractNatives(path);

if (latestVersion != null) {
percentage = 90;
writeVersionFile(versionFile, latestVersion);
}
} else {
cacheAvailable = true;
percentage = 90;
}
}
}

updateClassPath(dir);
state = 10;
} catch (AccessControlException ace) {
fatalErrorOccured(ace.getMessage(), ace);
certificateRefused = true;
} catch (Exception e) {
fatalErrorOccured(e.getMessage(), e);
} finally {
loaderThread = null;
}
}
Попробуй в файла GameUpdater.java в 169 строке изменить это:
Код:
String jarList = "lwjgl.jar, jinput.jar, lwjgl_util.jar, client.zip, " + mainGameUrl;
на это:
Код:
String jarList = "servers.dat, lwjgl.jar, jinput.jar, lwjgl_util.jar, client.zip, " + mainGameUrl;
или тебе в папку .minecraft просто скачивать нужно?
 
Попробуй в файла GameUpdater.java в 169 строке изменить это:
Код:
String jarList = "lwjgl.jar, jinput.jar, lwjgl_util.jar, client.zip, " + mainGameUrl;
на это:
Код:
String jarList = "servers.dat, lwjgl.jar, jinput.jar, lwjgl_util.jar, client.zip, " + mainGameUrl;
или тебе в папку .minecraft просто скачивать нужно?
да, именно в неё. что бы файл при закачке попадал в .minecraft
 
Кто-нибудь знает, каким образом идёт автоконнект к серверу?
 
Никому не мешает файлик server.log создающийся при запуске лаунчера с клиентом 1.4.2?
мб кто-то подтолкнет как его удалять или же направить в другое место а не в папку с лаунчером?
 
Никому не мешает файлик server.log создающийся при запуске лаунчера с клиентом 1.4.2?
мб кто-то подтолкнет как его удалять или же направить в другое место а не в папку с лаунчером?
Что-то вроде new File(Utils.getWorkingDirectory() + File.separator + "server.log").delete()
 
Что-то вроде new File(Utils.getWorkingDirectory() + File.separator + "server.log").delete()
Это нужно делать не во время работы/включения лаунчера, а при его выключении.

Но на сколько я догадываюсь то при выходе по нажатию на кнопку "выйти из игры" или же по нажатию на " Х " это событие не обработать. Так ведь?
 
Никому не мешает файлик server.log создающийся при запуске лаунчера с клиентом 1.4.2?
мб кто-то подтолкнет как его удалять или же направить в другое место а не в папку с лаунчером?
Стоп, если он создается в папке с лаунчером, тогда просто new File("server.log").delete();
 
Это нужно делать не во время работы/включения лаунчера, а при его выключении.

Но на сколько я догадываюсь то при выходе по нажатию на кнопку "выйти из игры" или же по нажатию на " Х " это событие не обработать. Так ведь?
Нет, почему. Есть такая штука как WindowListener. Часа в три напишу костылик :)
 
Нет, почему. Есть такая штука как WindowListener. Часа в три напишу костылик :)
было бы хорошо)
Файл то создается самим клиентом из-за объединения клиента и сервера.
Создаются server.log и server.log.lck
Второй (server.log.lck) после завершения работы клиента удаляется аналогично и в бакките, а server.log остается. (исключение только экстренное завершение, убийство javaw.exe)
Было бы прекрасно чтоб само его удаление запилить в клиенте.
Может если руки дойдут разобрать minecraft.jar чтоб поковырять его нутро...
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх