add example plugins

This commit is contained in:
q13x 2023-07-05 10:23:54 -07:00
parent 2d6a85da49
commit 7d4baa93cf
7 changed files with 89 additions and 2 deletions

View File

@ -0,0 +1,4 @@
export const config = {
bindInternalServerPort: 25569,
bindInternalServerIp: "127.0.0.1",
};

View File

@ -0,0 +1,64 @@
import metadata from "./metadata.json" assert { type: "json" };
import { createServer } from "minecraft-protocol";
import { config } from "./config.js";
const PluginManager = PLUGIN_MANAGER as any;
const Logger = PluginManager.Logger;
const Enums = PluginManager.Enums;
const Chat = PluginManager.Chat;
const Constants = PluginManager.Constants;
const Motd = PluginManager.Motd;
const Player = PluginManager.Player;
const MineProtocol = PluginManager.MineProtocol;
const EaglerSkins = PluginManager.EaglerSkins;
const Util = PluginManager.Util;
const logger = new Logger("EaglerProxyAAS");
logger.info(`Starting ${metadata.name} v${metadata.version}...`);
logger.info(
`(internal server port: ${config.bindInternalServerPort}, internal server IP: ${config.bindInternalServerPort})`
);
logger.info("Starting internal server...");
let server = createServer({
host: config.bindInternalServerIp,
port: config.bindInternalServerPort,
motdMsg: `${Enums.ChatColor.GOLD}EaglerProxy as a Service`,
"online-mode": false,
version: "1.8.9",
});
server.on("login", (client) => {
logger.info(
`Client ${client.username} has connected to the authentication server.`
);
client.on("end", () => {
logger.info(
`Client ${client.username} has disconnected from the authentication server.`
);
});
client.write("kick_disconnect", {
reason:
Enums.ChatColor.GREEN +
"Hi there!\n" +
Enums.ChatColor.GOLD +
"This server will be down for a while as I migrate the server from existing hardware to new, faster hardware.\nThis process will take approximately " +
Enums.ChatColor.RED +
"3-5 days" +
Enums.ChatColor.GOLD +
" to complete. Until then, you will be unable to connect or access the server.\n" +
"Thank you for your understanding! :)",
});
});
logger.info(
"Redirecting backend server IP... (this is required for the plugin to function)"
);
CONFIG.adapter.server = {
host: config.bindInternalServerIp,
port: config.bindInternalServerPort,
};
CONFIG.adapter.motd = {
l1: Enums.ChatColor.RED + "Server Under Maintenance",
};

View File

@ -0,0 +1,14 @@
{
"name": "AutoKick",
"id": "autokick",
"version": "1.2.0",
"entry_point": "index.js",
"load_after": [],
"requirements": [],
"incompatibilities": [
{
"id": "eagpaas",
"version": "^0.0.0"
}
]
}

View File

@ -0,0 +1,5 @@
declare global {
var PLUGIN_MANAGER;
}
export {};

View File

@ -2,12 +2,12 @@
"compilerOptions": { "compilerOptions": {
"module": "esnext", "module": "esnext",
"esModuleInterop": true, "esModuleInterop": true,
"target": "es2017", "target": "ESNext",
"moduleResolution": "node", "moduleResolution": "node",
"sourceMap": false, "sourceMap": false,
"outDir": "build", "outDir": "build",
"resolveJsonModule": true "resolveJsonModule": true
}, },
"include": ["src/**/*.json", "src/**/*"], "include": ["src/**/*.json", "src/**/*", "example_plugins/AutokickPlugin"],
"hooks": ["copy-files"] "hooks": ["copy-files"]
} }