A standalone reimplementation of EaglercraftX's bungee plugin written in TypeScript, with plugin support.
Working for latest EaglercraftX client version as of 5/21/2024
This assumes that you have Node.js LTS or higher installed on your computer, and that you have basic Git and CLI (command line) knowledge.
config.ts
to your liking.npm i -g typescript
and npm i
).tsc
).build
directory, and run node index.js
.For the most part, this proxy (and its dependencies) transpiles to pure JavaScript, and does not require anything more than a full implementation of the Node.js API (with the exception of node-gyp/native support). Crypto support is required for the proxy to run.
If you are running the proxy through either Termux or CodeSandbox's on-device runtime:
sharp
, and ensure that jimp
is installed.config.ts
and set adapter.useNatives
to false
.The above steps can solve any issues where the proxy immediately crashes with a segfault/illegal instruction error.
As of right now, there only exists one plugin: EagProxyAAS (read below for more information).
EagProxyAAS aims to allow any Eaglercraft client to connect to a normal 1.8.9 Minecraft server, provided that players own a legitimate Minecraft Java copy.
Remove all the folders in src/plugins
.
EaglerProxy and EagProxyAAS:
EaglerProxy and EagProxyAAS does NOT:
The proxy's software utilizes its own plugin API written in JavaScript, rather than BungeeCord's plugin API. For this reason, plugins written for the official BungeeCord plugin will not work on this proxy. Below are some instructions for making your very own EaglerProxy plugin.
Refer to src/plugins/EagProxyAAS
for an example plugin.
Each and every EaglerProxy plugin consists of two parts:
metadata.json
metadata fileBelow is a breakdown of everything inside of metadata.json
:
{
"name": "Example Plugin",
"id": "examplePlugin",
"version": "1.0.0",
"entry_point": "index.js",
"requirements": [{ id: "otherPlugin", version: "1.0.0" }],
"incompatibilities": [{ id: "someOtherPlugin", version: "2.0.0" }],
"load_after": ["otherPlugin"]
}
As of right now, there exists no API reference. Please refer to the preinstalled plugin for details regarding API usage.
NOTE: Issues asking for help will be converted into discussions. You are expected to have thoroughly read all documentation prior to asking for help, and expect no help if you have not done so.