Туториал Делаем лаунчер для своего сервера

  • Автор темы Автор темы Ccc
  • Дата начала Дата начала
по секрету...в этой теме есть лаунчер maximusorg'а без всяких наворотов. Только тссс!:trf:
Все сделал, все нормально качает, после скачки черный экран, а в консоли

run:
2013-03-01 08:07:57 [INFO] [ForgeModLoader] Forge Mod Loader version 4.7.4.520 for Minecraft 1.4.7 loading
2013-03-01 08:07:57 [SEVERE] [ForgeModLoader] FML appears to be missing any signature data. This is not a good thing
2013-03-01 08:07:57 [INFO] [STDERR] Exception in thread "Thread-5" java.lang.RuntimeException: cpw.mods.fml.relauncher.ReflectionHelper$UnableToFindClassException: java.lang.ClassNotFoundException: net.minecraft.Launcher
2013-03-01 08:07:57 [INFO] [STDERR]at cpw.mods.fml.relauncher.FMLRelauncher.relaunchApplet(FMLRelauncher.java:269)
2013-03-01 08:07:57 [INFO] [STDERR]at cpw.mods.fml.relauncher.FMLRelauncher.appletEntry(FMLRelauncher.java:212)
2013-03-01 08:07:57 [INFO] [STDERR]at net.minecraft.client.MinecraftApplet.init(MinecraftApplet.java:25)
2013-03-01 08:07:57 [INFO] [STDERR]at ru.maximusorg.launcher.Launcher.replace(Launcher.java:143)
2013-03-01 08:07:57 [INFO] [STDERR]at ru.maximusorg.launcher.Launcher$1.run(Launcher.java:87)
2013-03-01 08:07:57 [INFO] [STDERR] Caused by: cpw.mods.fml.relauncher.ReflectionHelper$UnableToFindClassException: java.lang.ClassNotFoundException: net.minecraft.Launcher
2013-03-01 08:07:57 [INFO] [STDERR]at cpw.mods.fml.relauncher.ReflectionHelper.getClass(ReflectionHelper.java:159)
2013-03-01 08:07:57 [INFO] [STDERR]at cpw.mods.fml.relauncher.FMLRelauncher.relaunchApplet(FMLRelauncher.java:254)
2013-03-01 08:07:57 [INFO] [STDERR]... 4 more
2013-03-01 08:07:57 [INFO] [STDERR] Caused by: java.lang.ClassNotFoundException: net.minecraft.Launcher
2013-03-01 08:07:57 [INFO] [STDERR]at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
2013-03-01 08:07:57 [INFO] [STDERR]at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
2013-03-01 08:07:57 [INFO] [STDERR]at java.security.AccessController.doPrivileged(Native Method)
2013-03-01 08:07:57 [INFO] [STDERR]at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
2013-03-01 08:07:57 [INFO] [STDERR]at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
2013-03-01 08:07:57 [INFO] [STDERR]at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
2013-03-01 08:07:57 [INFO] [STDERR]at java.lang.Class.forName0(Native Method)
2013-03-01 08:07:57 [INFO] [STDERR]at java.lang.Class.forName(Class.java:266)
2013-03-01 08:07:57 [INFO] [STDERR]at cpw.mods.fml.relauncher.ReflectionHelper.getClass(ReflectionHelper.java:151)
2013-03-01 08:07:57 [INFO] [STDERR]... 5 more

Что делать?
Пробывал разные пути запуска в том числе minecraftLauncher
 
Тупой вопрос, но как сделать в максимусорге мультисервернрсть, т.е. чтоб скачивался клиент от одного сервера; а также при выборе другого скачивался другой клиент?
 
Тупой вопрос, но как сделать в максимусорге мультисервернрсть, т.е. чтоб скачивался клиент от одного сервера; а также при выборе другого скачивался другой клиент?
там есть в начале много ссылок на скачку(string StrDown1,string StrDown2 и т.д.). И d LoginForm.java при изменении названия клиента под ним указан тоже string StrDown и номер. Меняешь ссылку нужного номера на нужный клиент. Надеюсь(пустые надежды...) ты понял :D
 
Все сделал, все нормально качает, после скачки черный экран
Вопрос:
- Лаунчер скачивает клиент, запускает, а после черный экран
Ответ:
- Причины(если вы знаете другую причину, то просьба отписаться о ней автору):
  • Возможно вы не удалили папку META-INF в minecraft.jar
  • Причина может быть в битых нативсах(natives). Советую скачать стандартные (которые качает лицензионный нотчевский лаунчер) от сюда (кликабельно) и перезалить их на сайт
  • Лаунчер сашка(новый и никем не отредактированный) сам патчит minecraft под систему скинов и под папку клиента, но если ваш клиент имеет при себе forge(он заменяет многие стандартные файлы minecraft.jar'а), то при патче будут ошибки. Следовательно его надо отключить.
Если же ни одна из этих причин вам не подходит, то...я тут бессилен :D
здесь ответ
 
А что надо именно редактировать для того, чтобы можно через лк было HD скины загружать?
Как я понял проверка формата хранится в файле SkinFilter.java .
Лаунчер сашка.
 
А что надо именно редактировать для того, чтобы можно через лк было HD скины загружать?
Как я понял проверка формата хранится в файле SkinFilter.java .
Лаунчер сашка.
на сайте в launcher.php

if($action == 'uploadskin')
{
if(!is_uploaded_file($_FILES['ufile']['tmp_name'])) die("Файл не выбран");
$imageinfo = getimagesize($_FILES['ufile']['tmp_name']);
if($imageinfo['mime'] != 'image/png' || $imageinfo["0"] != '64' || $imageinfo["1"] != '32') die("Этот файл не является файлом скина");

$uploaddir = 'skins/';
$uploadfile = $uploaddir.$login.".png";

if(move_uploaded_file($_FILES['ufile']['tmp_name'], $uploadfile)) echo "success";
else echo "Ошибка загрузки файла";
} else

if($action == 'uploadcloak')
{
$row = mysql_fetch_assoc(mysql_query("SELECT $db_columnUser,$db_columnMoney FROM $db_table WHERE $db_columnUser='$login'"));
$query = $row[$db_columnMoney]; if($query < $cloakPrice) die("У вас недостаточно средств!");

if(!is_uploaded_file($_FILES['ufile']['tmp_name'])) die("Файл не выбран");
$imageinfo = getimagesize($_FILES['ufile']['tmp_name']);
if($imageinfo['mime'] != 'image/png' || $imageinfo["0"] != '22' || $imageinfo["1"] != '17') die("Этот файл не является файлом плаща");

$uploaddir = 'cloaks/';
$uploadfile = $uploaddir.$login.".png";

if(!move_uploaded_file($_FILES['ufile']['tmp_name'], $uploadfile)) die("Ошибка загрузки файла");
mysql_query("UPDATE $db_table SET $db_columnMoney = $db_columnMoney - $cloakPrice WHERE $db_columnUser='$login'");
$row = mysql_fetch_assoc(mysql_query("SELECT $db_columnUser,$db_columnMoney FROM $db_table WHERE $db_columnUser='$login'"));
echo "success:".$row[$db_columnMoney];
} else
красным выделил размеры скина и плаща
 
на сайте в launcher.php

if($action == 'uploadskin')
{
if(!is_uploaded_file($_FILES['ufile']['tmp_name'])) die("Файл не выбран");
$imageinfo = getimagesize($_FILES['ufile']['tmp_name']);
if($imageinfo['mime'] != 'image/png' || $imageinfo["0"] != '64' || $imageinfo["1"] != '32') die("Этот файл не является файлом скина");

$uploaddir = 'skins/';
$uploadfile = $uploaddir.$login.".png";

if(move_uploaded_file($_FILES['ufile']['tmp_name'], $uploadfile)) echo "success";
else echo "Ошибка загрузки файла";
} else

if($action == 'uploadcloak')
{
$row = mysql_fetch_assoc(mysql_query("SELECT $db_columnUser,$db_columnMoney FROM $db_table WHERE $db_columnUser='$login'"));
$query = $row[$db_columnMoney]; if($query < $cloakPrice) die("У вас недостаточно средств!");

if(!is_uploaded_file($_FILES['ufile']['tmp_name'])) die("Файл не выбран");
$imageinfo = getimagesize($_FILES['ufile']['tmp_name']);
if($imageinfo['mime'] != 'image/png' || $imageinfo["0"] != '22' || $imageinfo["1"] != '17') die("Этот файл не является файлом плаща");

$uploaddir = 'cloaks/';
$uploadfile = $uploaddir.$login.".png";

if(!move_uploaded_file($_FILES['ufile']['tmp_name'], $uploadfile)) die("Ошибка загрузки файла");
mysql_query("UPDATE $db_table SET $db_columnMoney = $db_columnMoney - $cloakPrice WHERE $db_columnUser='$login'");
$row = mysql_fetch_assoc(mysql_query("SELECT $db_columnUser,$db_columnMoney FROM $db_table WHERE $db_columnUser='$login'"));
echo "success:".$row[$db_columnMoney];
} else
красным выделил размеры скина и плаща
А при изменении на разрешение HD скина обычные по-прежнему можно будет загружать?

+ Ещё вопрос :)
Каким способом лучше всего сделать так, чтобы только с этого лаунчера\клиента можно было попасть на сервер?
 
на сайте в launcher.php

if($action == 'uploadskin')
{
if(!is_uploaded_file($_FILES['ufile']['tmp_name'])) die("Файл не выбран");
$imageinfo = getimagesize($_FILES['ufile']['tmp_name']);
if($imageinfo['mime'] != 'image/png' || $imageinfo["0"] != '64' || $imageinfo["1"] != '32') die("Этот файл не является файлом скина");

$uploaddir = 'skins/';
$uploadfile = $uploaddir.$login.".png";

if(move_uploaded_file($_FILES['ufile']['tmp_name'], $uploadfile)) echo "success";
else echo "Ошибка загрузки файла";
} else

if($action == 'uploadcloak')
{
$row = mysql_fetch_assoc(mysql_query("SELECT $db_columnUser,$db_columnMoney FROM $db_table WHERE $db_columnUser='$login'"));
$query = $row[$db_columnMoney]; if($query < $cloakPrice) die("У вас недостаточно средств!");

if(!is_uploaded_file($_FILES['ufile']['tmp_name'])) die("Файл не выбран");
$imageinfo = getimagesize($_FILES['ufile']['tmp_name']);
if($imageinfo['mime'] != 'image/png' || $imageinfo["0"] != '22' || $imageinfo["1"] != '17') die("Этот файл не является файлом плаща");

$uploaddir = 'cloaks/';
$uploadfile = $uploaddir.$login.".png";

if(!move_uploaded_file($_FILES['ufile']['tmp_name'], $uploadfile)) die("Ошибка загрузки файла");
mysql_query("UPDATE $db_table SET $db_columnMoney = $db_columnMoney - $cloakPrice WHERE $db_columnUser='$login'");
$row = mysql_fetch_assoc(mysql_query("SELECT $db_columnUser,$db_columnMoney FROM $db_table WHERE $db_columnUser='$login'"));
echo "success:".$row[$db_columnMoney];
} else
красным выделил размеры скина и плаща
1) переименовываем имя пакета с ru.maximusorg.launcher
на net.minecraft
Это написал maxim, но как можно переименовать в net.minecraft, когда там нету этого пакета? И где надо переименовывать? Можно jartoexe?
 
В прошлый раз уже задавал этот вопрос, но ответа не получил... При запуске появляется звук восклицания, с виду похоже на ошибку но в логах все чисто. Это нормальное явление?
 
В прошлый раз уже задавал этот вопрос, но ответа не получил... При запуске появляется звук восклицания, с виду похоже на ошибку но в логах все чисто. Это нормальное явление?
Да. Понятия не имею почему, но с исходниками сашка всегда так...
 
1) переименовываем имя пакета с ru.maximusorg.launcher
на net.minecraft
Это написал maxim, но как можно переименовать в net.minecraft, когда там нету этого пакета? И где надо переименовывать? Можно jartoexe?
в NetBeans незнаю, так как работаю в Eclipce, но у меня нужно нажать по пакету правой кнопкой мыши,выбрать Refactor и Rename
 
А при изменении на разрешение HD скина обычные по-прежнему можно будет загружать?

+ Ещё вопрос :)
Каким способом лучше всего сделать так, чтобы только с этого лаунчера\клиента можно было попасть на сервер?
Нужно добавить похожие значения в этот файл(даже не спрашивай как,не знаю :D )
Самый проверенный способ - прикрепить авторизацию с лаунчера к серверу(online-mod=true).В мыслях это звучало лучше
 
В прошлый раз уже задавал этот вопрос, но ответа не получил... При запуске появляется звук восклицания, с виду похоже на ошибку но в логах все чисто. Это нормальное явление?
у меня нет никаких звуков, думаю это ненормальное явление.
 
Назад
Верх