Better README

This commit is contained in:
q13x 2022-12-20 11:28:12 -08:00
parent 9965b1370e
commit 5888ef9654
2 changed files with 28 additions and 20 deletions

View File

@ -1,49 +1,57 @@
# EaglercraftX (1.8.9) WebSocket Proxy
### Demo: `wss://eaglercraft-18.worldeditaxe.repl.co/server` ([EaglerX 1.8.9 client](https://web.arch.lol/mc/1.8.8/) only)
## What is this?
A very primitive and small Node.js based alternative to the custom BungeeCord servers for Eaglercraft 1.8.9. Until the developers officially release the BungeeCord server, this is the only way you can create a EaglercraftX server.
## Issues
* Generic and vague "End of stream" error when disconnected by the proxy, not the server
* Inability to set a server icon
* Skins don't work
* Occasional vague "End of Stream" error when disconnected
* Custom skins (excluding custom Eaglercraft skins) do not render correctly
## Setup Guide
### Prerequisites
* Node.js v12 and up
* A 1.8.9-compatible Minecraft server or proxy
* TypeScript installed (`npm i -g typescript`, may require `sudo` or administrator permissions)
* An **OFFLINE** 1.8.9-compatible Minecraft server or proxy
### Setup Guide
#### If Repl.it is acceptable, fork the [demo](https://replit.com/@WorldEditAxe/eaglerx-server) and connect to it. All proxy files will be under the `proxy` folder.
1. Download and extract this repository to a folder on your computer.
2. Open a terminal and go to the folder of the repository. Run `npm i`.
2. Open a terminal and go to the folder of the repository. Run `npm i`, followed by `tsc`.
3. Edit `config.js` to configure your proxy. Below is a small breakdown of the configuration file.
```js
export const config = {
// The name of the proxy. Does nothing.
name: "BasedProxy",
// The port you want to run the proxy on.
port: 80,
// The amount of players that can join and use this proxy simultaneously.
// 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: {
// Does nothing. (icons do not work)
iconURL: null,
// 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 IP/domain of the server you want the proxy to point to.
// Remember, the server HAS to be offline, or you can't connect.
// The hostname/IP of the remote server you want the proxy to connect to.
host: "127.0.0.1",
// The port the server is running on.
// 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: {
// Whether or not encryption should be enabled.
// If you are using Repl.it, this should be left off.
// 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 key issued to you by your certificate authority (CA).
// The private key file provided to you by your certificate authority.
key: null,
// The certificate issued to you by your certificate authority (CA).
// The certificate file provided to you by your certificate authority.
cert: null
}
};
```
4. Run the server (`node index.js`).

BIN
assets/demo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 KiB