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

Помогите Запуск клиента 1.7.10 чезез батник

Тема в разделе "[Архив] Помощь", создана пользователем Legan, 2 июл 2014.

  1. Автор темы
    Legan

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

    Баллы:
    68
    Имя в Minecraft:
    Legan
    Подскажите пожалуйста команду запуска клиента 1.7.10 с Forge через bat файл. Старый способ вида:
    javaw -Xmx1G -Djava.library.path=versions\1.6.4-Forge9.11.1.965\natives -cp libraries\net\minecraftforge\minecraftforge\9.11.1.965\minecraftforge-9.11.1.965.jar;libraries\net\minecraft\launchwrapper\1.8\launchwrapper-1.8.jar;libraries\org\ow2\asm\asm-all\4.1\asm-all-4.1.jar;libraries\org\scala-lang\scala-library\2.10.2\scala-library-2.10.2.jar;libraries\org\scala-lang\scala-compiler\2.10.2\scala-compiler-2.10.2.jar;libraries\lzma\lzma\0.0.1\lzma-0.0.1.jar;libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;libraries\argo\argo\2.25_fixed\argo-2.25_fixed.jar;libraries\org\bouncycastle\bcprov-jdk15on\1.47\bcprov-jdk15on-1.47.jar;libraries\com\google\guava\guava\14.0\guava-14.0.jar;libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;libraries\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;versions\1.6.4-Forge9.11.1.965\1.6.4-Forge9.11.1.965.jar net.minecraft.launchwrapper.Launch --username legan --session 123456789 --version 1.6.4-Forge9.11.1.965 --gameDir "C:\Minecraft 1.6.4" --assetsDir assets --accessToken 0 --tweakClass cpw.mods.fml.common.launcher.FMLTweaker
    не работает.

    Как запустить клиент через bat файл, разобрался сам. Кому нужно, пишите в личку.
     
    Последнее редактирование: 10 дек 2014
  2. Хостинг MineCraft
    <
  3. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    TrueBat
    Код:
    import java.awt.Dimension;
    import java.awt.TextField;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.lang.reflect.Method;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLClassLoader;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.SwingUtilities;
    public class Launch {
        List<URL> url = new ArrayList<URL>();
        URLClassLoader cl;
        String Class = null;
      public Launch() {
          initComponents();
      }
      private static JFrame frame;
      private TextField username;
      private void initComponents() {
          frame = new JFrame("Launcher");
          frame.setSize(156, 100);
          Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
          int x = (int) ((dimension.getWidth() - frame.getWidth()) / 2);
          int y = (int) ((dimension.getHeight() - frame.getHeight()) / 2);
          frame.setLocation(x, y);
          frame.setResizable(false);
          frame.setVisible(true);
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          username = new TextField();
          username.setLocation(17, 10);
          username.setSize(120, 25);
          JButton button = new JButton("Играть");
          button.setVisible(true);
          button.setLocation(17, 40);
          button.setSize(120, 25);
          frame.getContentPane().add(username);
          frame.getContentPane().add(button);
          frame.getContentPane().add(new JLabel());
          button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                    String nickname    = username.getText();
                    Pattern p = Pattern.compile("^[a-zA-Z0-9_-]{2,16}$");
                    Matcher m = p.matcher(nickname);
                    List<String> params = new ArrayList<String>();
                    boolean b = m.matches();
                    if (nickname.isEmpty()) {
                        JOptionPane.showMessageDialog(frame, "Введите ник!", "", javax.swing.JOptionPane.WARNING_MESSAGE);
                        return;
                    } else if (b==false) {
                        JOptionPane.showMessageDialog(frame, "Ник должен содержать только латинские буквы и цифры 2-16 символов!", "", javax.swing.JOptionPane.ERROR_MESSAGE);
                        return;
                    } else {
                        File Dir = new File(".");
                        System.out.println("Путь до папки с клиентом -> "+Dir.getAbsolutePath());
                        if (!new File(Dir.getAbsolutePath()+"/natives").exists()) new File(Dir.getAbsolutePath()+"/natives").mkdirs(); //Папка с нативами
                        try {
                            url.addAll(getLibs(new File(Dir.getAbsolutePath()+"/versions"))); //Папка с клиентом
                            url.addAll(getLibs(new File(Dir.getAbsolutePath()+"/libraries"))); //Папка с либами
                        } catch (Exception x) {
                            JOptionPane.showMessageDialog(frame, "Неправильный путь к клиенту!", "", javax.swing.JOptionPane.ERROR_MESSAGE);
                            return;
                        }
                        cl = new URLClassLoader(url.toArray(new URL[url.size()]));
                        System.out.println("Список загруженных jar ->"+url);
                        System.setProperty("fml.ignoreInvalidMinecraftCertificates", "true");
                        System.setProperty("fml.ignorePatchDiscrepancies", "true");
                        System.setProperty("org.lwjgl.librarypath", Dir.getAbsolutePath()+"/natives");
                        System.setProperty("net.java.games.input.librarypath", Dir.getAbsolutePath()+"/natives");
                        System.setProperty("java.library.path", Dir.getAbsolutePath()+"/natives");
                        try {
                            cl.loadClass("com.mojang.authlib.Agent");
                            params.add("--accessToken");
                            params.add("1");
                            params.add("--uuid");
                            params.add("12345");
                            params.add("--userProperties");
                            params.add("{}");
                            params.add("--assetIndex");
                            params.add("1.7.4");
                        } catch (ClassNotFoundException x) {
                            params.add("--session");
                            params.add("1");
                        }
                        params.add("--username");
                        params.add(nickname);
                        params.add("--version");
                        params.add("1.7.4");
                        params.add("--gameDir");
                        params.add(Dir.getAbsolutePath()+"/");
                        params.add("--assetsDir");
                        params.add(Dir.getAbsolutePath()+"/assets");
                        }
                    boolean tweakClass = false;
                    try {
                        cl.loadClass("com.mumfrey.liteloader.launch.LiteLoaderTweaker");
                        params.add("--tweakClass");
                        params.add("com.mumfrey.liteloader.launch.LiteLoaderTweaker");
                        tweakClass = true;
                    } catch (ClassNotFoundException x) {}
                    try {
                        cl.loadClass("cpw.mods.fml.common.launcher.FMLTweaker");
                        params.add("--tweakClass");
                        params.add("cpw.mods.fml.common.launcher.FMLTweaker");
                        tweakClass = true;
                    } catch (ClassNotFoundException x) {}
                    if(tweakClass)
                    {
                        Class = "net.minecraft.launchwrapper.Launch";
                    } else {
                        Class = "net.minecraft.client.main.Main";
                    }
                    frame.setVisible(false);
                    try
                    {
                        Class<?> start = cl.loadClass(Class);
                        System.out.println("Запуск клиента");
                        Method main = start.getMethod("main", new Class[] { String[].class });
                        main.invoke(null, new Object[] { params.toArray(new String[0]) });
                    } catch (Exception x)
                    {
                        JOptionPane.showMessageDialog(frame, "Ошибка запуска!", "", javax.swing.JOptionPane.ERROR_MESSAGE);
                        System.exit(0);
                    }
              }
          });
      }
      public static void main(String[] args) {
          SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                System.out.println("Launcher Start");
                new Launch();
            }
          });
      }
      private static List<URL> getLibs(File libsfolder) throws MalformedURLException {
          List<URL> libs = new ArrayList<URL>();
          if (!libsfolder.exists()) libsfolder.mkdirs();
          for (File file : libsfolder.listFiles()) {
            if (file.isDirectory()) {
            libs.addAll(getLibs(file));
            } else {
              if (file.getName().endsWith(".jar")) {
                    libs.add(file.toURI().toURL());
              }
            }
          }
          return libs;
        }
    }
     
  4. Автор темы
    Legan

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

    Баллы:
    68
    Имя в Minecraft:
    Legan
    1.7.2 запускает, а 1.7.10 - нет. Ошибка запуска.
     

    Вложения:

  5. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Удали яву 8.
     
  6. Автор темы
    Legan

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

    Баллы:
    68
    Имя в Minecraft:
    Legan
    Вы ничего не путаете?
    1) Как я без джавы буду запускать джава приложение?
    2) Текущая последняя версия джавы - 7u60. 8 у меня в принципе быть не может.
     
  7. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Ну шибки запуска форджовских клиентов бывают только на 8 яве. Значит вы просто сунули не те либы.
     
  8. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Последняя версия жабы - 8u5, бета версия - 8u20
    Ошибка произошла у него ДО запуска клиента.
     
  9. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Уж не знаю что он пихал в папочку либрариес, у меня все заводится под 7 явой.
    И ошибку запуска может написать при любом ексепшене, ( не все ексепшены ).
     
  10. Автор темы
    Legan

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

    Баллы:
    68
    Имя в Minecraft:
    Legan
    Если ошибка возникает у меня одного, то опишите полностью последовательность действий, как запускали вы.
    Как делал я:
    1. Скачал клиент 1.7.10 через официальный лаунчер.
    2. Поставил на него Forge 10.13.0.1160.
    3. Закинул в папку .minecraft откомпилированный лаунчер, код которого отправил alexandrage и запустил его.
    4. В корне появилась папка natives. В нее закинул содержимое versions\1.7.10-Forge10.13.0.1160\1.7.10-Forge10.13.0.1160-natives-3066112725408.
    5. Снова запускаю лаунчер - ошибка запуска.
    Могу видео снять. Будет нагляднее понятно что я не так делаю. Версия джавы - 1.7.0_60 x64.
     
  11. qucuba

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

    Баллы:
    93
    в чем это компилировать?
     
  12. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    путьдо/javac путьдо/Launch.java
     
  13. qucuba

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

    Баллы:
    93
    в батнике сначала путь до javac и Launch.java?
    где находится Launch.java?
    не получается, можно полную версию батника с вашими путями?[DOUBLEPOST=1405784454,1405778740][/DOUBLEPOST]
    ок, сделал
    появилось 3 файла классов Launch.class, Launch$1.class и Launch$2.class
    что дальше?
     
    Последнее редактирование: 19 июл 2014
  14. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    java Launch.class
     
  15. qucuba

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

    Баллы:
    93
    Error: Could not find or load main class Launch.class

    это понятно что найти не может, не понятно почему, Launch.class лежит в папке .minecraft
    запускаю батником: "C:\Program Files\Java\jre7\bin\java.exe" Launch.class

    хорошо что на хабрахабре не так объясняют как тут..
    вот правильная строка запуска "C:\Program Files\Java\jre7\bin\java.exe" -classpath . Launch
     
    Последнее редактирование: 19 июл 2014
  16. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Да, действительно, ошибочка. Правильнее будет 'java Launch'.
     
  17. Автор темы
    Legan

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

    Баллы:
    68
    Имя в Minecraft:
    Legan
    1.7.10 кто-нибудь запустил через батник или предложенный лаунчер? Вопрос актуален.
     
  18. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Легко.
     
  19. Автор темы
    Legan

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

    Баллы:
    68
    Имя в Minecraft:
    Legan
    Если ошибка возникает у меня одного, то опишите полностью последовательность действий, как запускали вы.
    Как делал я:
    1. Скачал клиент 1.7.10 через официальный лаунчер.
    2. Поставил на него Forge 10.13.0.1160.
    3. Закинул в папку .minecraft откомпилированный лаунчер, код которого отправил alexandrage и запустил его.
    4. В корне появилась папка natives. В нее закинул содержимое versions\1.7.10-Forge10.13.0.1160\1.7.10-Forge10.13.0.1160-natives-3066112725408.
    5. Снова запускаю лаунчер - ошибка запуска.
    Могу видео снять. Будет нагляднее понятно что я не так делаю. Версия джавы - 1.7.0_60 x64.
     
  20. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
  21. Автор темы
    Legan

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

    Баллы:
    68
    Имя в Minecraft:
    Legan

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