!7 !include once #1002615 // master() sS vmArgs = "-XX:MaxHeapFreeRatio=30 -XX:MinHeapFreeRatio=10 -XX:+UseG1GC"; // Web Auth, Cookies, agi.blue static LS seedBots = ll(#1002590, #1002157, #1023558); static LS initialModuleIDs = ll( "#1018866/SystemPrintLog", "#1019954/TaskBar_dev", "#1023954/AgiBlueControlPanel" ); !include #1002576 // Web Serving !include #1002578 // Eleu Core !include #1013904 // Eleu web socket static int[] webServerPorts = {8080}; static int[] httpsPorts = {}; sbool started; p { becomeBotVMIfFirst(); homePageBotID = #1023558; runWithUserHomeAndParams(#1016478, actualUserDir("JavaX-Virtual/agi.blue"), initialModules_override := voidfunc(O os) { dm_makeOrShowModules(initialModuleIDs) }, background := #1101701, mainIconID := #1101704); } svoid startEleu { if (started) ret; started = true; webInit(); eleu_webSocket_init(); if (nempty(httpsPorts)) pcall { File keystore = firstFileThatExists( javaxSecretDir("keystore.p12"), secretProgramFile(programID(), "keystore.jks")); S pass = loadSecretTextFileMandatory("keystore-pass").trim(); serveHttpsWithWebsockets_multiplePorts(keystore, pass, eleu_webSocket_handler(), httpsPorts); } coreInit(); for (S id : seedBots) call(getDispatcher(), 'addSeedBot, id); }