Minecraft Server - Threads?
Ich weiß zum Beispiel, dass der Chat auf einem eigenen Thread läuft. Ab 1.14 läuft z.B. auch die Licht-Berechnung auf einem eigenen Thread (Siehe hier). Welche Threads gibt es noch und wofür sind sie gut?
Es handelt sich um einen 1.8 Server mit PaperMC / Waterfall als Server-Software.
1 Antwort
Leider ist Minecraft ein Spiel welches nicht wirklich auf Multithreading ausgelegt wurde und somit ist im normalen Server (Kein Paper/Spigot) fast alles im selben Thread. Bei Spigot/Paper kommen nun schon weitere Threads wie auch Licht und neuerdings auch Async-Chunkloading hinzu. Desweiteren gibt es noch interne Threads (z.B. WatchDog Thread) welche die Intigrität des Servers überwachen oder auch Netty Threads welche die Netzwerk verbindungen der Spieler verarbeiten. Andernfalls gibt es auch noch Threads welche die Dateien verarbeiten (IO). Der Rest läuft normalerweise alles im Hauptthread, was auch dazu führt, dass bei einem Fehler (von einem Plugin, sofern dies nicht Asynchron programmiert wurde, oder einem Crashexploit) der Server meistens komplett abstürtzt.
In der 1.8 gab es von PaperSpigot aus noch kein Asyny-Chunkloading. Die anderen Dinge sind aber auch in der 1.8 schon in Spigot bzw. Paper intigriert.
Auch schon in der 1.8 ?
In der 1.14 ist das ja sowieso auch bei Vanilla Servern.