A standalone implemention of the BungeeCord plugin for EaglercraftX, now with online vanilla server support!
Go to file
2022-12-28 21:23:39 -08:00
assets Better README 2022-12-20 11:28:12 -08:00
.gitignore Remove precompiled .js files 2022-12-20 11:20:28 -08:00
config.ts Fix typo + debug logging leftover code 2022-12-21 01:44:27 -08:00
eaglerPacketDef.ts Skins actually work now 2022-12-20 18:26:35 -08:00
eaglerSkin.ts Skins actually work now 2022-12-20 18:26:35 -08:00
globals.d.ts first commit 2022-12-18 05:39:38 -08:00
index.ts Provide options for binding IP and ports 2022-12-20 11:31:37 -08:00
listener.ts Eaglercraft skin support 2022-12-20 11:33:55 -08:00
logger.ts first commit 2022-12-18 05:39:38 -08:00
package-lock.json Update package.json 2022-12-20 11:34:41 -08:00
package.json Update package.json 2022-12-20 18:39:01 -08:00
README.md Update README.md 2022-12-28 21:23:39 -08:00
tsconfig.json Update package.json 2022-12-20 11:34:41 -08:00
types.ts Provide options for binding IP and ports 2022-12-20 11:31:37 -08:00
utils.ts Log kick message 2022-12-24 12:18:29 -08:00

EaglercraftX (1.8.9) WebSocket Proxy

This repository has been archived as EaglerX's client and bungee source code has been released. Please migrate to it if you haven't already!

Demo: wss://eaglerx-server.worldeditaxe.repl.co/server (EaglerX 1.8.9 client only)

Two EaglerX clients connected to the same server

What is this?

A WebSocket proxy that allows EaglercraftX 1.8 clients to connect to an offline vanilla Minecraft server with (mostly working) Eaglercraft skin support. This is meant to be a replacement for the unreleased official EaglercraftX bungee until it releases. It supports all offline 1.8.9 servers and even online servers when modified!
Note: Don't expect magic. Some things may or may not work. While the proxy has shown to be stable and working during testing, you may encounter some bugs.

Setup Guide

Prerequisites

  • Node.js v12 and up
  • An OFFLINE 1.8.9-compatible Minecraft server or proxy

Setup

If Repl.it is acceptable, fork the demo and connect to it. All proxy files will be under the proxy folder.

  1. Download the latest package available on this repository.
  2. Open a terminal and go to the folder of the repository. Run npm i.
  3. Edit config.js to configure your proxy. Below is a small breakdown of the configuration file.
export const config = {
    // The name of the proxy. (unused, required for MOTD)
    name: "Proxy",
    // The address to bind the WebSocket server to.
    bindHost: "0.0.0.0",
    // The port to bind the WebSocket server to.
    // Use 80 if security.enabled is false, and 443 when it is true.
    bindPort: 80,
    // The max amount of concurrent connections allowed at once. (player cap)
    maxPlayers: 20,
    motd: {
        // The file path that leads to an image.
        // A 64x64 image is recommended, but any image with a 1:1 ratio will work.
        iconURL: "./icon.webp",
        // The first line of the MOTD.
        l1: "hi",
        // The second line of the MOTD. 
        l2: "lol"
    },
    server: {
        // The hostname/IP of the remote server you want the proxy to connect to.
        host: "127.0.0.1",
        // The port of the remote server you want the proxy to connect to.
        // On most Minecraft server installations, the default port is 25565.
        port: 25565
    },
    security: {
        // Set this to true to enable encryption (wss://).
        // If you're using Repl.it, there's no need to enable encryption as it comes by default on all repls.
        // You will need to obtain certificate files in order to enable encryption.
        enabled: false,
        // The private key file provided to you by your certificate authority.
        key: null,
        // The certificate file provided to you by your certificate authority.
        cert: null
    }
};
  1. Start your proxy by running node index.js.
  2. Connect to your server. For the server address, use the folllowing format: ws://<IP>:<port>. If you are using encryption, replace ws:// with wss://.

Creating Issues

When creating a new issue, please:

  • Refrain from opening duplicate issues. If your issue is already there, please join in on the conversation there instead!
  • Provide a brief description of the issue, what you expected, and what you got instead. Avoid unhelpful and overly short summaries - we need to know what's wrong!