11package fn10 .smm .server ;
22
3+ import net .fabricmc .fabric .api .event .lifecycle .v1 .ServerLifecycleEvents ;
34import net .freeutils .httpserver .HTTPServer ;
45import net .minecraft .server .MinecraftServer ;
56
@@ -15,29 +16,36 @@ public class ModManagerWebServer {
1516 private HttpClient client = null ;
1617 private final MinecraftServer mcServer ;
1718 private static boolean webServerRunning ;
19+ private static ModManagerWebServer current = null ;
20+
21+ public static ServerLifecycleEvents .ServerStopping StoppingEvent = ser -> {
22+ if (current != null )
23+ current .stop ();
24+ };
1825
1926 public HttpClient getClient () {
2027 return client ;
2128 }
2229
2330 public static boolean isServerRunning () {return webServerRunning ;}
2431
25- public ModManagerWebServer (int port , MinecraftServer server ) {
32+ public ModManagerWebServer (int port , MinecraftServer mcServer ) {
2633 this .port = port ;
2734 this .server = new HTTPServer ();
2835 server .setPort (this .port );
29- this .mcServer = server ;
36+ this .mcServer = mcServer ;
3037 }
3138
3239 public void stop () {
3340 try {
34- LOG .error ("Stopping web server..." );
41+ LOG .info ("Stopping web server..." );
42+ if (current == this ) current = null ;
3543 client .close ();
3644
3745 if (webServerRunning ) webServerRunning = false ;
3846
3947 server .stop ();
40- LOG .error ("Stopped web server." );
48+ LOG .info ("Stopped web server." );
4149 } catch (Exception e ) {
4250 LOG .error ("Failed to stop web server" , e );
4351 throw e ;
@@ -47,9 +55,9 @@ public void stop() {
4755 public void start () throws Exception {
4856 try {
4957 LOG .info ("Starting web server..." );
50-
58+ current = this ;
5159 server .start ();
52- client = HttpClient .newBuilder ().version (HttpClient .Version .HTTP_2 ).build ();
60+ client = HttpClient .newBuilder ().version (HttpClient .Version .HTTP_1_1 ).build ();
5361
5462 final HTTPServer .VirtualHost host = server .getVirtualHost (null );
5563 host .addContexts (new ModManagerHandlers (mcServer ));
0 commit comments