Ich mache einen Wrapper für eine minecraft Serverkonsole mit GoLang. Es verwendet os/exec zum Ausführen des Servers und process.StdoutPipe() für die Echtzeitausgabe vom Unterprozess.GoLang os/exec StdoutPipe mit Farben
Aber ich kann es nicht bekommen, um die Farben aus irgendeinem Grund anzuzeigen. Wenn ich den Server direkt vom Terminal aus starte, funktionieren Farben, aber es funktioniert überhaupt nicht, wenn ich es von GoLang aus starte.
Außerdem gibt es keine Farbcodes in den Protokolldateien, wenn ich es von GoLang aus starte. Aber es wird direkt vom Terminal ausgeführt, die Protokolldatei ist absolut mit Farbcodes durcheinander gebracht. Ich verstehe wirklich nicht, wie das passiert.
Gibt es eine Möglichkeit, das zu beheben?
Danke!
sicherlich passiert, weil minecraft erkennt, dass die stdout keine echte Konsole ist, so dass es die Farbe streift, so dass Sie die Ausgabe in eine Datei ohne die Farben umleiten können. Ich bin mir nicht sicher, wie Sie vorgehen sollten, es sollte eine Option zum Definieren geben, oder ein env, das beim Aufruf des Minecraft-Programms gesetzt werden soll. –