q13x-eaglerproxy/index.js

26 lines
1.0 KiB
JavaScript
Raw Normal View History

2024-09-04 05:02:00 -07:00
import * as dotenv from "dotenv";
import { Proxy } from "./proxy/Proxy.js";
import { config } from "./config.js";
dotenv.config();
import { Logger } from "./logger.js";
import { PROXY_BRANDING } from "./meta.js";
import { PluginManager } from "./proxy/pluginLoader/PluginManager.js";
import { dirname, join } from "path";
import { fileURLToPath } from "url";
import { ImageEditor } from "./proxy/skins/ImageEditor.js";
const logger = new Logger("Launcher");
let proxy;
global.CONFIG = config;
config.adapter.useNatives = config.adapter.useNatives ?? true;
logger.info("Loading libraries...");
await ImageEditor.loadLibraries(config.adapter.useNatives);
logger.info("Loading plugins...");
const pluginManager = new PluginManager(join(dirname(fileURLToPath(import.meta.url)), "plugins"));
global.PLUGIN_MANAGER = pluginManager;
await pluginManager.loadPlugins();
proxy = new Proxy(config.adapter, pluginManager);
pluginManager.proxy = proxy;
logger.info(`Launching ${PROXY_BRANDING}...`);
await proxy.init();
global.PROXY = proxy;