Tja, jeg har decompilet serveren.
Tjek om dette kan være til hjælp, de gør vist noget af det samme:
https://mcp.ocean-labs.de/index.php/MCP_ReleasesJeg havde egentlig fået opfattelsen af, at serveren var open source, men det lader det ikke til alligevel. Jeg kan i hvert fald ikke finde kildekoden. Men disse servere er det i hvert fald:
https://www.minecraftwiki.net/wiki/Custom_server_listMåske er der inspiration at hente i noget af deres kode.
Hvis du kan komme op med en god idé til hvordan klientsiden af server monitoren skal skrues sammen, og kan fortælle mig hvordan du gerne vil have data leveret, så kan jeg muligvis lave et server mod som kan levere dataene. Jeg vil tro det nemmeste er at outputte dem i en XML fil og så opdatere den periodisk. Det er vel ikke så mange data der skal til. Det eneste som muligvis er lidt tricky er at afgøre om serveren i det hele taget er online. Det eneste jeg umiddelbart kan komme op med er at timestampe filerne, og så lave en logik i monitoren som siger at hvis filen er over x sekunder gammel, så er serveren offline. Man kan selvfølgelig skrive til filen under shutdown, men det hjælper jo ikke hvis serveren crasher.
Jeg vil helt klar helst have dem serveret som XML via HTTP. Dvs. serveren skal åbne en seperat query port, som udelukkende har til formål at spytte XML ud på request. Det gør stort set alle andre spilservere, bortset fra at kun et fåtal af dem er intelligente nok til at bruge XML som dataformat. Det vil også løse problemet med om serveren er online, fordi den ganske enkelt ikke vil svare på HTTP-forespørgslen, hvis den ikke er online. Så er det op til den forespørgende part at håndtere den situation korrekt.
Hvis du kan få dette wrappet rundt om en vanilla Beta-server, tror jeg du bliver en helt på MC forums
Jeg kan dog forestille mig, at det bliver svært, hvis det skal gøres via de/re-obfuscation af koden. Det eneste mod til Beta-serveren jeg har set, er på denne liste:
https://www.minecraftwiki.net/wiki/ModsOg det er bare nogle ekstra konsol-kommandoer, ikke noget fancy som dette.
Hvorom alting er, så er det da en interessant opgave. Det er ikke sikkert jeg kan gøre det, men jeg er da villig til at give det et forsøg.
Well, give it a shot. Vi bør måske lige researche lidt dybere, og overveje løsningen ordentligt inden. Måske kan nogen i MC server forummet give indspark til hvordan det skal gøres.