Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление
  2. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  3. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление
  4. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

В каком файле изменяется сообщение bad login и user not premium?

Тема в разделе "[Архив] Помощь", создана пользователем limon_4eg, 10 фев 2012.

  1. SuperHanz

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

    Баллы:
    88
    Тоже интересно, в файлах авторизации bad login не изменяется
     
  2. Хостинг MineCraft
    <
  3. MrTNTCat

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

    Баллы:
    63
    Имя в Minecraft:
    MrTNTCat
    Типичный русский форум, тебе не дают ответ, тебе долго говорят почему ты мудак.
     
  4. MrTNTCat

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

    Баллы:
    63
    Имя в Minecraft:
    MrTNTCat
    И кто нибудь даст ответ?
    UPD: На другом форуме говорят, что это действительно на стороне скриптов аторизации.
     
  5. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Да весь рубакит знает что ответ выдает joinserver.php. Но если клиент не изменен то от joinserver.jsp от mojang.
     
    MrTNTCat нравится это.
  6. MrTNTCat

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

    Баллы:
    63
    Имя в Minecraft:
    MrTNTCat
    Ну я здесь не давно ;)
     
    Сникерсни нравится это.
  7. Nicolayka

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

    Баллы:
    88
    Имя в Minecraft:
    Nicolayka
    Учитесь искать, господа. Я давно нашёл где находятся эти выражения.
    Файл HttpUtil.java
    Код:
            if (var3 != null && var3.length() != 0)
            {
                if (!var3.contains(":"))
                {
                    if (var3.trim().equals("Bad login"))
                    {
                        System.out.println("Login failed");
                    }
                    else if (var3.trim().equals("Old version"))
                    {
                        System.out.println("Outdated launcher");
                    }
                    else if (var3.trim().equals("User not premium"))
                    {
                        System.out.println(var3);
                    }
                    else
                    {
                        System.out.println(var3);
                    }
     
                    return null;
                }
                else
                {
                    String[] var4 = var3.split(":");
                    return new String[] {var4[2], var4[3]};
                }
            }
     
    slavik123123123 и MrTNTCat нравится это.
  8. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    он про серверную часть, а не про клиентскую
     
    zuma2 нравится это.
  9. Nicolayka

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

    Баллы:
    88
    Имя в Minecraft:
    Nicolayka
    Сервер нам как раз ничего не пишет, вывод на экране клиента, а значит редактировать надо клиент! И изначально тема была посвящена именно этому вопросу. Вот я и даю ответ.

    А теперь смотрим полный код вывода файла HttpUtil.java
    Код:
        public static String[] func_82718_a(String par0Str, String par1Str)
        {
            HashMap var2 = new HashMap();
            var2.put("user", par0Str);
            var2.put("password", par1Str);
            var2.put("version", Integer.valueOf(13));
            String var3;
     
            try
            {
                var3 = sendPost(new URL("http://login.minecraft.net/"), var2, false);
            }
            catch (MalformedURLException var5)
            {
                var5.printStackTrace();
                return null;
            }
     
            if (var3 != null && var3.length() != 0)
            {
                if (!var3.contains(":"))
                {
                    if (var3.trim().equals("Bad login"))
                    {
                        System.out.println("Login failed");
                    }
                    else if (var3.trim().equals("Old version"))
                    {
                        System.out.println("Outdated launcher");
                    }
                    else if (var3.trim().equals("User not premium"))
                    {
                        System.out.println(var3);
                    }
                    else
                    {
                        System.out.println(var3);
                    }
     
                    return null;
                }
                else
                {
                    String[] var4 = var3.split(":");
                    return new String[] {var4[2], var4[3]};
                }
            }
            else
            {
                System.out.println("Can\'t connect to minecraft.net");
                return null;
            }
        }
    И понимаем, что если клиенту не удаётся подключиться к http://login.minecraft.net/ или какие-то иные проблемы, он выдаёт сообщение
     
  10. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Неа, тема посвящена серверной части, ибо не имеет смысла менять это на клиентской.
     
  11. Code

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

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    ты вообще где его откапал? какие нафиг Login failed и Outdated launcher? причем тут лаунчер то? нашел класс авторизации в лаунчере и радуется. тут про клиент и сервер спрашивают.
     
  12. MrTNTCat

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

    Баллы:
    63
    Имя в Minecraft:
    MrTNTCat
    Спасибо, но это мало поможет как сделать что-то типа "Скачайте наш лаунчер"?
     
  13. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    @MrTNTCat, Такое уже обсуждалось максимум что вы сможете сделать это автовайтлист при регистрации.
     
  14. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Packet255KickDisconnect.class от стандартного vanilla унаследовал bukkit. Пакет отправляется в 2 стороны: от клиента к серверу, когда игрок выходит, и от сервера клиенту, когда клиента отключают.
     
  15. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Неожидал от Ission, такого нубства :). Bad login идет от скрипта joinserver об этом уже все знают. А вот failed to verify username уже от сервера.
     
  16. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Клиент создаёт сокет, подсоединяется к серверу, дальше ловит 255 пакет с сообщением из-за которого его не хотят соединять и закрывает сокет, после чего отображает его содержимое. Другое дело, что сервер его не хранит в классах самих пакетов, поэтому я допустил сию ошибку. Сейчас пытаюсь копаться в исходниках сервера, нашёл всю цепочку от соединения с сервером до начала "игры", но не нашёл ни того, ни другого.
     
  17. Code

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

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    а по-моему клиент подсоединяется к серверу, получает серверайди, лезет на скрипт joinserver, с которого может получить bad login или ok, потом сервер лезет в checkserver и уже либо пускает, либо отключает с Failed to verify username. причем эта фраза меняется в том же классе, где и ссылка на checkserver.
     
  18. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Ission прав, клиент сначала должен узнать что сервер в онлайн режиме, но я сомневаюсь что из обмена этими пакетами можно что-либо выжать.
     
  19. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Онлайн мод он определяет от сервера и посылает запрос на joinserver, тот уже и отвечает ok или Bad login то что прописано при неверном логин-пароль. А если сессия скажем была получена с другого скрипта, то серверайди не совпадает. И когда сервер от клиента смотрит серверайди и отправляет его на checkserver. И когда сервер при неверноом серверайди получает NO кикает с ответом failed to verify username.
    Все же так просто. Думаю таких подробностей вам хватит что бы это понять :).
     
  20. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Я это и так понял, просто можно попробовать модифицировать сервер так чтобы он отвечал что сервер в оффлайне, но при заходе без сессии(проверяем через PreLoginEvent) кикал с сообщением.
     
  21. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Сервер проверяет сессию сам.
     

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