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

Помогите Выделение памяти Лаунчер

Discussion in '[Архив] Помощь' started by qestsmile, Oct 6, 2013.

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

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

    Trophy Points:
    63
    Подскажите лаунчер Империя от xeroXP
    Лаунчер не хочет выделять память майну. Меняешь в настройках на 2048 а он все равно ставить свои 899
    Единственное что дает результат это :
    Code:
    loat heapSizeMegs = (float)(Runtime.getRuntime().maxMemory() / 1024l / 1024l);
    замена к примеру на
    loat heapSizeMegs = (float)(Runtime.getRuntime().maxMemory() / 1024l / 8000l);
    но после этого все фремы в лаучеры скрыты и чтоб они появились нужно провести мышкой по ним.
    Вот полное содржание главного класса :
    Code:
    package net.minecraft;
     
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Properties;
     
    public class MinecraftLauncher
    {
    public static String memoryId;
     
      public static void main(String[] args)
     
        throws Exception
      {
        float heapSizeMegs = (float)(Runtime.getRuntime().maxMemory() / 1024l / 1024l);
       
        try {
            Properties defaultProps = new Properties();
            FileInputStream in;
            in = new FileInputStream(Util.getWorkingDirectory() + "/launcher.properties");
            defaultProps.load(in);
     
            memoryId = defaultProps.getProperty("memory");
                           
            in.close();
            }catch (IOException e1){
            }
     
        if (heapSizeMegs > 511.0F)
          LauncherFrame.main(args);
        else
          try {
             
              String pathToJar = MinecraftLauncher.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();
     
            ArrayList<String> params = new ArrayList<String>();
     
            if (Util.getPlatform() == Util.OS.windows) {
                params.add("javaw");
            } else {
                params.add("java");
            }
            params.add("-Xmx" + memoryId + "m");
            params.add("-Dsun.java2d.noddraw=true");
            params.add("-Dsun.java2d.d3d=false");
            params.add("-Dsun.java2d.opengl=false");
            params.add("-Dsun.java2d.pmoffscreen=false");
            if (System.getProperty("net.minecraft.server") != null)
                    params.add("-Dnet.minecraft.server="
                            + System.getProperty("net.minecraft.server"));
            params.add("-classpath");
            params.add(pathToJar);
            params.add("net.minecraft.LauncherFrame");
     
            ProcessBuilder pb = new ProcessBuilder(params);
            Process process = pb.start();
            if (process == null) throw new Exception("!");
            System.exit(0);
          } catch (Exception e) {
            e.printStackTrace();
            LauncherFrame.main(args);
    Главный класс : net.minecraft.MinecraftLauncher
    стоит 64 ява и сдк тоже 64
    Очень расчитую на вашу помощь .....
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    qestsmile

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

    Trophy Points:
    63
  4. alexandrage

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

    Trophy Points:
    173
    Skype:
    alexandr0116
    Ява берет память по необходимости. Ну можно добавить params.add("-Xms" + memoryId + "m"); чтоб сразу выделить.
     
  5. Code

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

    Trophy Points:
    123
    Имя в Minecraft:
    _Gizmo
    float heapSizeMegs = (float)(Runtime.getRuntime().maxMemory() / 1024l / 1024l);
    это формула, рассчитывающая объем памяти, выделенный под игру. если он больше 512, то так лаунчер и запускается. если меньше, оно берет количество памяти из конфига и перезапускает себя, выделив столько. ты можешь поменять так, как тебе надо. можешь вообще всю эту логику переделать, например, всегда выделяя число памяти из конфига.
     
  6. Автор темы
    qestsmile

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

    Trophy Points:
    63
    Ага ну примерно понял. Но скажите тогда . Что происходит с выпадающим списком выбора памяти и сервера когда я изменяю эту логику??. Значений не видно и ползунка тоже. Провел мышкой по ним и появились. Закрыл список исчезли и опять по новой.[DOUBLEPOST=1381139081,1381118669][/DOUBLEPOST]!UP[DOUBLEPOST=1381158722][/DOUBLEPOST]! Up
     

Share This Page