Upload via GUI (39 Dateien)
This commit is contained in:
@@ -47,11 +47,18 @@ function neuesterBericht(gameDir, seit) {
|
||||
|
||||
/*
|
||||
* Zieht die aussagekräftigen Zeilen aus einem Bericht.
|
||||
* -> { beschreibung, fehler, verdaechtigeMods, verlauf: [] }
|
||||
* -> { beschreibung, fehler, verdaechtigeMods, diagnose, empfehlung, verlauf: [] }
|
||||
*/
|
||||
function auswerten(text) {
|
||||
const zeilen = String(text || '').split(/\r?\n/);
|
||||
const befund = { beschreibung: '', fehler: '', verdaechtigeMods: '', verlauf: [] };
|
||||
const befund = {
|
||||
beschreibung: '',
|
||||
fehler: '',
|
||||
verdaechtigeMods: '',
|
||||
diagnose: '',
|
||||
empfehlung: '',
|
||||
verlauf: [],
|
||||
};
|
||||
|
||||
for (let i = 0; i < zeilen.length; i++) {
|
||||
const z = zeilen[i];
|
||||
@@ -86,6 +93,22 @@ function auswerten(text) {
|
||||
const treffer = zeilen.find((z) => /^[\w.$]+(Exception|Error)(:|\s|$)/.test(z.trim()));
|
||||
if (treffer) befund.fehler = treffer.trim();
|
||||
}
|
||||
|
||||
const volltext = zeilen.join('\n');
|
||||
const shutdownWatchdog = /Description:\s*Client shutdown from post-main/i.test(volltext)
|
||||
&& /ClientShutdownWatchdog/i.test(volltext);
|
||||
const webMapJetty = /journeymap_webmap:\s*JourneyMap WebMap\b/i.test(volltext)
|
||||
&& /JettyServerThreadPool/i.test(volltext)
|
||||
&& /ServerConnector.*\{0\.0\.0\.0:\d+\}/i.test(volltext);
|
||||
if (shutdownWatchdog && webMapJetty) {
|
||||
const version = volltext.match(/journeymap_webmap:\s*JourneyMap WebMap\s+([^\s\r\n]+)/i);
|
||||
const name = `JourneyMap WebMap${version ? ` ${version[1]}` : ''}`;
|
||||
befund.verdaechtigeMods = name;
|
||||
befund.diagnose = `${name} hat seinen eingebetteten Jetty-Webserver beim Beenden nicht gestoppt. `
|
||||
+ 'Dessen nicht beendete Server-Threads haben den Minecraft-Shutdown-Watchdog ausgelöst.';
|
||||
befund.empfehlung = 'AeroMC beendet einen nach dem regulären Client-Shutdown verbliebenen Java-Prozess nun '
|
||||
+ 'nach einer kurzen Schonfrist automatisch. JourneyMap WebMap kann installiert und aktiviert bleiben.';
|
||||
}
|
||||
return befund;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user