1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Туториал Связываем клиент, лаунчер и сайт (проверка md5)

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем ilia770, 19 дек 2011.

  1. santila

    santila Активный участник

    Баллы:
    88
    Skype:
    cahtujla
    Имя в Minecraft:
    Santila
    rescr1pt нравится это.
  2. rescr1pt

    rescr1pt Старожил Пользователь

    Баллы:
    103
    Спасибо за ответ но я решил проблему компиляцией через launcher4j
     
  3. feyruz

    feyruz Активный участник

    Баллы:
    61
    Большое спасибо, все работает. (сборка 1.2.5-R3)

    З.Ы. Если папка с игрой не .minecraft, то в строке ниже заменить на свою.
    Код:
     String  f = applicationData + "/.minecraft/bin/minecraft.jar";
     
  4. SmallSmile

    SmallSmile Старожил

    Баллы:
    103
    Skype:
    smile7smile7
    А как сделать тоже самое но только для папок Mods и Texturepack скажи плиз?
     
    ВремяПриключений нравится это.
  5. niker1405

    niker1405 Активный участник Пользователь

    Баллы:
    63
    Код:
    String applicationData = System.getenv("APPDATA");
    String f = applicationData + "/.minecraft/bin/minecraft.jar";
    
    вот тут выбирать путь...
     
  6. SmallSmile

    SmallSmile Старожил

    Баллы:
    103
    Skype:
    smile7smile7
    Не понял( просто вместо
    String f = applicationData + "/.minecraft/bin/minecraft.jar";
    надо написать ?
    String f = applicationData + "/.minecraft/mods";
     
    Оригинало_о нравится это.
  7. niker1405

    niker1405 Активный участник Пользователь

    Баллы:
    63
    честно, я думаю да=)
    (с java не очень дружу)
     
  8. niker1405

    niker1405 Активный участник Пользователь

    Баллы:
    63
    Код:
    File applicationData = new File(Util.getWorkingDirectory() + File.separator + "bin" + File.separator);
        String f = applicationData + "minecraft.jar";
     
        try
        {
     
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        String p = calculateHash(md5, f);
     
     
        URL localURL = new URL("http://mes.16mb.com/hash.php?hash=" + p);
        BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(localURL.openStream()));
        String str2 = localBufferedReader.readLine();
        if (str2.equalsIgnoreCase("NO")){
        {
        GameUpdater.forceUpdate = true;
        }
     
        }
        else if (str2.equalsIgnoreCase("YES"))
        {
        }
     
        }
     
        catch(FileNotFoundException fnfn)
        {
        GameUpdater.forceUpdate = true;
        }
    народ, у меня какая то лажа идет с портативным...
    не могу заставить его найти файл...
    каждый раз обновление, а это не есть хорошо...
     
    ВремяПриключений нравится это.
  9. SmallSmile

    SmallSmile Старожил

    Баллы:
    103
    Skype:
    smile7smile7
    Название папки менял? если у тебя своё а не .minecraft
     
  10. niker1405

    niker1405 Активный участник Пользователь

    Баллы:
    63
    @SmallSmile Да, но дело не в том.
    Я нашел ошибку.
    Первая строка, не "File", а "String".
    Код:
    String applicationData = (Util.getWorkingDirectory() + File.separator + "bin" + File.separator);
        String f = applicationData + "minecraft.jar";
     
        try
        {
     
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        String p = calculateHash(md5, f);
     
     
        URL localURL = new URL("http://mes.16mb.com/hash.php?hash=" + p);
        BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(localURL.openStream()));
        String str2 = localBufferedReader.readLine();
        if (str2.equalsIgnoreCase("NO")){
        {
        GameUpdater.forceUpdate = true;
        }
     
        }
        else if (str2.equalsIgnoreCase("YES"))
        {
        }
     
        }
     
  11. SmallSmile

    SmallSmile Старожил

    Баллы:
    103
    Skype:
    smile7smile7
    http://rubukkit.org/posts/147378
     
  12. niker1405

    niker1405 Активный участник Пользователь

    Баллы:
    63
    с портативным(!)
    Код:
    String applicationData = (Util.getWorkingDirectory() + File.separator + "bin" + File.separator);
        String f = applicationData + "minecraft.jar";
     
  13. PacMyc

    PacMyc Активный участник Пользователь

    Баллы:
    68
    Skype:
    pacmyc.ru
    Не мало времени провозился с установкой, а точнее с выяснением почему не работает. В итоге получилось когда перекодировал hash.php в windows-1251. Если лаунчер получает в ответ что-то кроме NO или YES и даже если вообще ни чего не получает, он автоматом пропускает с левым клиентом. Есть возможность сделать так, что бы пропускал только с ответом YES, в остальных случаях закачивал клиент заново?
     
  14. niker1405

    niker1405 Активный участник Пользователь

    Баллы:
    63
    Код:
        try
        {
       
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        String p = calculateHash(md5, f);
       
       
        URL localURL = new URL("http://youdomain.com/hash.php?hash=" + p);
        BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(localURL.openStream()));
        String str2 = localBufferedReader.readLine();
        if (str2.equalsIgnoreCase("YES"))
        {
        } else {
        GameUpdater.forceUpdate = true;
        }
       
        }
       
        catch(FileNotFoundException fnfn)
        {
        GameUpdater.forceUpdate = true;
        }
     
    PacMyc нравится это.
  15. PacMyc

    PacMyc Активный участник Пользователь

    Баллы:
    68
    Skype:
    pacmyc.ru
    Спасибо, буду пробовать.
     
  16. Vendos

    Vendos Активный участник

    Баллы:
    63

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