Java – die besten Beiträge

Minecraft Server lässt sich nicht starten?

Hallo erstmal,

ab und zu setze ich für paar Kollegen und mich einen Minecraft Server auf. Eigentlich keine große Sache, da ich das schon oft gemacht habe. Seit dem letzten mal startet er aber nicht und gibt folgende Fehlermeldung aus:

[0.055s][warning][os,thread] Failed to start thread - pthread_create failed (EAGAIN) for attributes: stacksize: 1024k, guardsize: 0k, detached.
Error occurred during initialization of VM
java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached
        at java.lang.Thread.start0(java.base/Native Method)
        at java.lang.Thread.start(java.base/Thread.java:803)
        at java.lang.ref.Reference.<clinit>(java.base/Reference.java:303)

Oft macht das den ganzen Server kaput, wonach ich ihn neu aufsetzen muss. Zumindest kann ich das Problem nicht anders lösen.

Ich habe das Problem auf meinem alten V-Server schon gehabt und bei meinem neuen ist es nicht anders, selbst mit einem frischen System.

Die Installation läuft wie folgt:

apt install openjdk-11-jre-headless -y

adduser --disabled-login minecraft

su minecraft

cd

wget https://cdn.getbukkit.org/spigot/spigot-1.16.5.jar

java -Xms4096M -Xmx4096M -jar /home/minecraft/spigot-1.16.5.jar

Auf dem Server läuft Ubuntu 18.04.

Nebenbei läuft nur ein Teamspeak. Ein CSGO Server ist installiert läuft aber nicht.

Komisch finde ich das ich das Problem auf unterschiedlichen Servern bekomme, im Internet dazu aber nicht wirklich etwas finden kann. Was mach ich also falsch?

Danke schonmal für eure Hilfe!

Server, Computer, Linux, Java, Ubuntu, Minecraft

Java, textdokument in zweidimensionalen Array speichern und ausgeben?

Hey, bei meiner dieswöchigen Informatik Übung müssen wir ein Spielfeld aus einem Textdokument in ein Zweidimensionales Array einlesen und ausgeben.

Ein Textdokument sieht zB so aus:

https://pastebin.com/5CViAyG5

Ich hätte die Aufgabe mit folgendem Code gelöst:

[CODE]

class Input {

public static void main(String[] args) {

Input x = new Input();

x.openup("MazeWithExit_windows.txt");

}

void openup(String fileName) {

In.open(fileName);

int height = In.readInt();

int length = In.readInt();

Out.println("Height: " + height);

Out.println("Length: " + length);

char [][] a = new char[length][height];

for(int i=0;i<a.length;i++) {

for(int j =0;j<a[i].length;j++) {

a[i][j] = In.read();

Out.print(a[i][j]);

}

}

In.close();

}

}

[/CODE]

Die In und Out Klassen müssen wir verwenden.. Out.print statt System.Out.print

Und In hilft beim einlesen.

So, jetzt zum eigentlichen Problem..

Ansich funktioniert der Code, jedoch liest er auch newlines ein, weshalb das Array vorzeitig voll ist und nicht das ganze Spielfeld einliest.

Ausgabe: https://pastebin.com/czTDF2MA

Uns wurde gesagt, man soll einfach ein dummy-read reinmachen, was die newlines einliest und diese somit nicht zum Array hinzugefügt werden. Jemand hat auch gemeint, dass nach der inneren Schleife ein In.readLine(); das Problem löst.

Doch nichts hat mit geholfen.

Wie löse ich das Problem? :o

Computer, Studium, programmieren, Java, Eclipse, Informatik, Programmiersprache

Meistgelesene Beiträge zum Thema Java