!7 !include once #1002615 // master() // Options for big server sS vmArgs = "-XX:MaxHeapFreeRatio=70 -XX:MinHeapFreeRatio=40 -XX:+UseG1GC"; // Homepage, Talk to Eleu, Web Auth, Cookies static L seedBots = litlist("#1003253", "#1002213", "#1002590", "#1002157"); !include #1002576 // Web Serving !include #1002578 // Eleu Core !include #1013904 // Eleu web socket static int[] webServerPorts = {80, 8080}; static int[] httpsPorts = {443, 8443}; p { thread { runWithUserHomeAndParams(#1016478, actualUserDir("JavaX-Virtual/agi.blue"), initialModules_override := voidfunc(O os) { dm_makeOrShowModules(initialModuleIDs) }, background := #1101701, mainIconID := #1101704); } botNames = litmap( serve := "#1014036/raw", img := "#1014038/raw", mech := #1013927, images := #1004590, eleu := "#1002213/raw", "eleuraw" := "#1002076/raw", "don-enrico" := "#1006604/raw", wiki := "#1007510/raw", jobs := "#1007647/raw", chess := "#1012832/raw", files := "#1015408/raw", rules := "#1017959/raw", jar := "#1020140/raw", blog := "#1016323/raw", pages := "#1017992/raw"); print("new."); becomeBotVMIfFirst(); webInit(); eleu_webSocket_init(); if (nempty(httpsPorts)) pcall { File keystore = firstFileThatExists( javaxSecretDir("keystore.p12"), secretProgramFile(programID(), "keystore.jks")); S pass = loadSecretTextFileMandatory("keystore-pass").trim(); //serveHttps(httpsPort, keystore, pass); //serveHttpsWithWebsockets(httpsPort, keystore, pass, eleu_webSocket_handler()); //serveHttpsWithWebsockets_server.printServes = false; serveHttpsWithWebsockets_multiplePorts(keystore, pass, eleu_webSocket_handler(), httpsPorts); } coreInit(); for (S id : seedBots) call(getDispatcher(), "addSeedBot", id); if (hasBot("New Eleu Watch Dog.")) print("Have Eleu Watch Dog."); else { print("Starting Eleu Watch Dog."); nohupJavax(#1014075); sleepSeconds(5); } }