Войти или зарегистрироваться

Туториал [урок] привенчиваем проверку md5 к клиенту

парни я знаю как это решить, но мне нужен человек который поможет довести систему до ума!
 
Можно привязать к лаунчеру, я уверен, что это очень просто, поскольку есть готовая функция, которая возвращает булев. Тот, кто знает джаву - без труда прикрутит.
 
а я могу ведь взять эти файлы и кинуть в исходники launcher'а? Или не получится так?
 
а на 1.1 также ??
 
Че то у меня не так. Все сделал, файлы отредактировал. НО как закидываю готовые файлы в маин то старая хеш сумма пропадет, и появляется новая. И опять как изменяю на новую хеш сумму файлы изменяются.
Какая то путаница получается. Может кто подскажет что да как, лучше сделать
 
Че то у меня не так. Все сделал, файлы отредактировал. НО как закидываю готовые файлы в маин то старая хеш сумма пропадет, и появляется новая. И опять как изменяю на новую хеш сумму файлы изменяются.
Какая то путаница получается. Может кто подскажет что да как, лучше сделать
При любой (каждой) модификации любого файла, его хеш меняется.
 
Так я это и имею введу. Что хеш сумма в конфиге будет всегда отличатся и предугадать нельзя
 
так е мае. тут же типо урок по проверке хеш суммы. Если хеш сумма не совпадает то сетевая игра не доступна.
Но когда меняется сумма в конфиге то меняется сумма и клиента, и так будет постоянно, а значит сетевая игра будет не доступна
 
тут типа урок ты запускаешь лаунчер он проверяет minecraft.jar у него допустим хеш 123
он отсылает на скрипт хеш 123 скрипт сравнивает с тем какой должен быть, а должен быть 321 скрипт отсылает лаунчеру даныне о том что не правильный хеш, потом лаунчер качает нужный minecraft.jar с хешем 321 и запускает клиент!
 
только что сделал, с доработками. Т.к. для unix систем не правильные пути. Все замечательно, на 1.2.3
 
Мне кажется, что GuiMainMenu.java отличается в версии 1.2.3 от версии 1.0.0
з.ы. если рассуждать о прямоте или, наоборот, кривоте рук, то на мой взгляд лучше, если обновит человек, знающий java
 
GuiMainMenu.java - это лишь интерфейс, главное меня. В нем нет алгоритма игры, и он не влияет на производительность. От 1.0 1.2.3 отличается только строковыми значениями вроде "Minecraft 1.2.3" вместо "Minecraft 1.0"

Но, выложенная здесь система, не кроссплатформенна. А именно, в Windows хэш проверяется, в *unix (у меня Mac) хеш не проверяется из-за не правильности пути.

Вчера правил систему. Кому интересно, изменил кусок кода, и теперь все четко и на Win и на *unix. Сразу скажу, я программист, но пишу я не на Java, поэтому, возможно, есть более элегантное решение.


PHP:
        if(System.getProperty("os.name").startsWith("Windows"))
        {
            s = getJarFolder();
            s1 = System.getenv("APPDATA");
        } else
        {
            s = getJarFolder();
            s1 = System.getProperty("user.home");
        }
        String s2 = getJarFolder();
        s2 = s2.substring(s2.lastIndexOf(File.separatorChar) + 1);
        if(System.getProperty("os.name").startsWith("Windows"))
        {
            s = (new StringBuilder()).append(s1).append("/.CuboCraft1.2/bin/").append(s2).toString();
            MessageDigest messagedigest = null;
            try
            {
                messagedigest = MessageDigest.getInstance("MD5");
            }
            catch(NoSuchAlgorithmException nosuchalgorithmexception)
            {
                nosuchalgorithmexception.printStackTrace();
            }
            calc = "";
            try
            {
                calc = HashFunctionTest.calculateHash(messagedigest, s);
            }
            catch(Exception exception)
            {
                exception.printStackTrace();
            }
            check = checkMd5(calc.toLowerCase());
            if(!check)
            {
                multiplayerButton.enabled = false;
            }
        } else
        {
            s = (new StringBuilder()).append(s1).append("/Library/Application Support/CuboCraft1.2/bin/").append(s2).toString();
            MessageDigest messagedigest = null;
            try
            {
                messagedigest = MessageDigest.getInstance("MD5");
            }
            catch(NoSuchAlgorithmException nosuchalgorithmexception)
            {
                nosuchalgorithmexception.printStackTrace();
            }
            calc = "";
            try
            {
                calc = HashFunctionTest.calculateHash(messagedigest, s);
            }
            catch(Exception exception)
            {
                exception.printStackTrace();
            }
            check = checkMd5(calc.toLowerCase());
            if(!check)
            {
                multiplayerButton.enabled = false;
            }
        }

Собственно, сами файлы, можете взять тут >> Link <<
 
А как насчет 1.2.4 ?
Ошибки при компиляции.

Upd. Сравнил код, guimainmenu переписан, переименованы некоторые функции, следовательно теперь фикс не работает и нуждается в обновлении
 
Назад
Верх