ilia770
Активный участник
- Баллы
- 63
Я делал по элементарному способу, поставил проверку на launcherFrame в моём лаунчере.
Вот отрывок из кода, в принципе, тут не очень много чего изменено
-это калькулятор md5 здесь, вам менять ничего не надо!
-Это обработчик кнопки пойдём по порядку
В первом отрывке сказано что мы берём файл из указанного места, потом, в случае, если он не найден, то лаунчер не запускает никакую проверку. А если он найден то считает его md5 и после заходит на php скрипт, и если мы получаем " YES " то игра запускается а если "NO"
то обновляется)
(php скрипт выложить не могу так как его писал не я, выкладываю только то что сделал сам)
Сильно не ругайте, первый раз туториал выкладываю)
Вот отрывок из кода, в принципе, тут не очень много чего изменено
Код:
public static String calculateHash(MessageDigest algorithm,
String fileName) throws Exception{
FileInputStream fis = new FileInputStream(fileName);
BufferedInputStream bis = new BufferedInputStream(fis);
DigestInputStream dis = new DigestInputStream(bis, algorithm);
while (dis.read() != -1);
byte[] hash = algorithm.digest();
return byteArray2Hex(hash);
}
private static String byteArray2Hex(byte[] hash) {
Formatter formatter = new Formatter();
for (byte b : hash) {
formatter.format("%02x", b);
}
return formatter.toString();
}
Код:
public void login(String userName, String password) {
try {
String parameters = "user=" + URLEncoder.encode(userName, "UTF-8") + "&password=" + URLEncoder.encode(password, "UTF-8") + "&version=" + 13;
String result = Util.excutePost("http://авторизация/auth/auth.php", parameters);
// String result = getFakeResult(userName);
if (result == null) {
showError("Зарегестрируйтесь на сайте !");
return;
}
String applicationData = System.getenv("APPDATA");
String f = applicationData + "/.minecraft/bin/minecraft.jar";
try
{
MessageDigest md5 = MessageDigest.getInstance("MD5");
String p = calculateHash(md5, f);
URL localURL = new URL("http:\\(скрипт)?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)
{
}
В первом отрывке сказано что мы берём файл из указанного места, потом, в случае, если он не найден, то лаунчер не запускает никакую проверку. А если он найден то считает его md5 и после заходит на php скрипт, и если мы получаем " YES " то игра запускается а если "NO"
то обновляется)
(php скрипт выложить не могу так как его писал не я, выкладываю только то что сделал сам)
Сильно не ругайте, первый раз туториал выкладываю)