Eaglercraft relay server implementation written in TypeScript
Note
Most of the code was ported directly from the original java implementation, so there will probably be some bugs I missed.
- Base relay server
- IP forwarding
- Origin whitelist
- Join code customization
- STUN / TURN server support
- Rate limiting
$ npm install -g github:WebMCDevelopment/EaglerRelayJS
$ mkdir -p relay
$ cd relay
$ eaglerrelayjs --port 8080importhttpfrom'http';importexpressfrom'express';import{EaglerSPRelay}from'eaglerrelayjs';constapp=express();constserver=http.createServer(app);constrelay=newEaglerSPRelay({debug: true});app.use((_req,res)=>{res.set('Content-Type','text/plain');res.status(426).end('Upgrade Required');});server.on('upgrade',(req,socket,head)=>relay.handleUpgrade(req,socket,head));server.listen(8080);Contributions are welcome, but please keep the code style consistent.