- Баллы
- 123
Ну и как оно на сервере?
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Та же 7ка, только без красивостей. А так возможностей побольше) Тот же IIS на семерке ограничивает число подключений, а сервер нет) А в целом тоже самое. Игры идут, дрова от семерки идут, все норм)Ну и как оно на сервере?
MinecraftLauncherА где эта строка, которая отвечает за запуск?
Мы хотим, чтобы ты сам научился. + я очень занятРебят, вам это сделать- раз плюнуть, помогите!
Я вот допустим на 85% уверен что строки запуска там нет, просто запускается аплейт с параметрами.А где эта строка, которая отвечает за запуск?
Строки как таковой нет, но можно параметры модифицировать же!Я вот допустим на 85% уверен что строки запуска там нет, просто запускается аплейт с параметрами.
package net.minecraft;
import java.util.ArrayList;
public class MinecraftLauncher
{
//private static final int MIN_HEAP = 511;
//private static final int RECOMMENDED_HEAP = 1024;
public static int memory;
public static void main(String[] args)
throws Exception
{
float heapSizeMegs = (float)(Runtime.getRuntime().maxMemory() / 1024L / 1024L);
memory = Util.getMemorySelection();
if (memory == 1)
memory = 1024;
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" + memory + "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");
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);
}
}
}
Дибил, тебе декомпилировать надо!Нашел строчку, но не могу изменить, и как мне потом запаковать это все обратно?
Какой прогой изменить?package net.minecraft;
import anjocaido.console.OutputConsole;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.URI;
import java.net.URL;
import java.security.CodeSource;
import java.security.ProtectionDomain;
import java.util.ArrayList;
public class MinecraftLauncher
{
private static final long MIN_HEAP = 511L;
private static final long RECOMMENDED_HEAP = 1024L;
private static boolean debugMode = false;
public static void main(String[] args) throws Exception
{
if ((args.length > 0) && (args[0].contains("debug"))) {
debugMode = true;
}
long heapSizeMegs = Runtime.getRuntime().maxMemory() / 1024L / 1024L;
if (heapSizeMegs > 511L) {
LauncherFrame.main(args);
} else {
ArrayList params = new ArrayList();
String pathToJar = MinecraftLauncher.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();
params.add("javaw");
params.add("-Xms512m");
params.add("-Xmx1024m");
params.add("-Dsun.java2d.noddraw=true");
params.add("-Dsun.java2d.d3d=false");
params.add("-Dsun.java2d.opengl=false");
params.add("-Dsun.java2d.pmoffscreen=false");
params.add("-classpath");
params.add(pathToJar);
params.add("net.minecraft.LauncherFrame");
if (!debugMode)
try {
ProcessBuilder pb = new ProcessBuilder(params);
Process process = pb.start();
if (process == null) {
throw new Exception("!");
}
System.exit(0);
}
catch (IOException ec)
{
}
try {
params.set(0, "java");
ProcessBuilder pb = new ProcessBuilder(params);
Process process = pb.start();
if (process == null) {
throw new IOException("!");
}
if (debugMode) {
OutputConsole console = new OutputConsole();
BufferedReader reader1 = new BufferedReader(new InputStreamReader(process.getErrorStream()));
BufferedReader reader2 = new BufferedReader(new InputStreamReader(process.getInputStream()));
Thread errorViewer = new Thread(reader1, console, process)
{
BufferedReader reader = this.val$reader1;
public void run()
{
boolean terminated = false;
boolean noerrors = true;
String output = "";
this.val$console.acquire();
while ((!terminated) && (output != null)) {
int exitvalue = -2147483648;
try {
exitvalue = this.val$process.exitValue();
} catch (IllegalThreadStateException ex) {
try {
output = this.reader.readLine();
System.err.println(output);
this.val$console.appendText("\nError: " + output);
} catch (IOException ex1) {
output = null;
}
}
if (exitvalue != -2147483648) {
terminated = true;
if (exitvalue != 0) {
noerrors = false;
}
}
}
if (noerrors)
this.val$console.release();
}
};
Thread outViewer = new Thread(reader2, console, process)
{
BufferedReader reader = this.val$reader2;
public void run()
{
boolean terminated = false;
boolean noerrors = true;
String output = "";
this.val$console.acquire();
while ((!terminated) && (output != null)) {
int exitvalue = -2147483648;
try {
exitvalue = this.val$process.exitValue();
} catch (IllegalThreadStateException ex) {
try {
output = this.reader.readLine();
System.out.println(output);
this.val$console.appendText("\nOutput: " + output);
} catch (IOException ex1) {
output = null;
}
}
if (exitvalue != -2147483648) {
terminated = true;
if (exitvalue != 0) {
noerrors = false;
}
}
}
if (noerrors)
this.val$console.release();
}
};
errorViewer.start();
outViewer.start();
}
if (!debugMode)
System.exit(0);
}
catch (IOException e) {
System.out.println("Java couldn't figure out a way to get more memory.\nIf the game crashes, run to the hills!");
LauncherFrame.main(args);
}
}
}
}
Нет, конечно! :fp:А ты декомпилировал?
Еби.****ь как все сложно....
А так же если держишь сервер, сайты и т.п.Ставить IIS на домашнем пк есть смысл только если ты разрабатываеш сайт, при разработке сайта нет необходимости в большом количестве подключений.
Мои 70мбит это позволяют, зачем платить за хостинг?)Почему если кучи меньше 512 то запускается не через аплейт лаунчера а из аплейта minecraft.jar?Строки как таковой нет, но можно параметры модифицировать же!
Кусок из кода моего ланчера:
PHP:package net.minecraft; import java.util.ArrayList; public class MinecraftLauncher { //private static final int MIN_HEAP = 511; //private static final int RECOMMENDED_HEAP = 1024; public static int memory; public static void main(String[] args) throws Exception { float heapSizeMegs = (float)(Runtime.getRuntime().maxMemory() / 1024L / 1024L); memory = Util.getMemorySelection(); if (memory == 1) memory = 1024; 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" + memory + "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"); 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); } } }
Не совсем понял вопрос, голова сегодня пухнетПочему если кучи меньше 512 то запускается не через аплейт лаунчера а из аплейта minecraft.jar?