I finally released the 2.0 beta of my Minecraft reverse proxy !

U

/u/Shadoxter

Guest
Hey there !

A while ago I shared Infrarust, a Minecraft reverse proxy I’ve been working on.

At the time, I mentioned that I was working on a big 2.0 update, but it did not have a release date yet.

Well… I finally did it !

Yesterday I released the first Infrarust 2.0 beta

What is Infrarust?​


Infrarust is a Minecraft reverse proxy.

The main idea is to expose a single Minecraft server port to your players, while routing them to different backend servers depending on the domain they used to connect.

For example:


So instead of giving players multiple ports or IPs, they can all connect through the usual Minecraft port, and Infrarust handles the routing.

It works with different kinds of Minecraft servers, including vanilla, modded, and plugin-based servers.

There is also a passthrough mode that does not decode packets, which means it can work with backends using online-mode=true.

What changed in 2.0?​


The biggest change is that the project has been heavily rewritten and is now easier to extend.

But from an admin point of view, here are the main new things:

🧩 Plugin system​


Infrarust now has a plugin system.

The goal is to allow new features to be added without having to modify the proxy itself.

It is still new and the API may change, but it already opens the door for things like custom behavior, new admin tools, automation, server management logic, and more.

I will also extend the different WASM languages librairies to use things like typescript, c# and java if possible !

🌐 Web API and dashboard​


I also created a plugin that adds a web API and an embedded dashboard.

You can use it to:

  • monitor the proxy
  • see connected players
  • manage servers
  • reload configuration
  • manage bans
  • kick or move players
  • do basic admin actions from a web interface

This should make it easier to manage multiple backend servers without having to connect to every individual server console.

🚀 On-demand server start​


The server manager is still part of Infrarust.

It can start backend servers when players try to connect, and stop them again after they have been empty for a configurable amount of time.

This can be useful if you host several servers but do not want all of them running 24/7.

It can work with local processes, Docker, and Pterodactyl depending on your setup.

🐳 Docker and Pterodactyl support​


Infrarust still supports Docker server discovery.

It can detect Minecraft servers running in Docker containers and update the proxy when containers start or stop.

Pterodactyl support is also still there for people using the panel to manage their servers.

🔒 Bans, rate limiting, and admin tools​


Infrarust also includes:

  • IP / username / UUID bans
  • temporary bans with expiration
  • rate limiting
  • IP filtering
  • hot reload
  • Proxy Protocol support
  • OpenTelemetry support
  • multiple proxy modes depending on your needs

Still in beta​


This is a beta release, so there are rough edges and bugs are included!

The plugin system is new, some APIs are not final, and I expect breaking changes before the stable 2.0 release

But after working on this update for a long time, I’m really happy to finally have something people can try

Links​


GitHub:
https://github.com/Shadowner/Infrarust

Documentation:
https://infrarust.dev/

Release:
https://github.com/Shadowner/Infrarust/releases/tag/v2.0.0-beta.1

I also added a small page to thank the open source projects I drew inspiration from:
https://infrarust.dev/thank-you-open-source

I’d love to hear your feedback, especially from people running multiple Minecraft servers.

Would this kind of proxy be useful in your setup ? What features would you expect from it?

Thanks for your time! 😊

submitted by /u/Shadoxter
[link] [comments]

Continue reading...
 
Back
Top