confiltermon/README.md
2025-06-27 03:36:55 +03:00

1.4 KiB

confiltermon

Gateway/proxy and super-server. Given a set of services, each assigned a number of UDP or TCP ports, confiltermon shall listen on all of the ports, waiting for a client to connect, and then will:

  • call the preread function of the port, allowing it to communicate with the client
  • if the preread function indicates that the upstream service should handle the connection, it will start the service and wait for it, after which it will flush all data received from the client so far to the upstream server and begin proxying
  • all data will be passed through the filter function of the port if one is present
  • once all connections close/time out, the service will be stopped again.

This code package also includes service/port template functions for Luanti and Minecraft. The Luanti Docker template can respond to pings from the serverlist without involving the Luanti server and keep announcing the server while it is offline. The Minecraft Podman template can respond to status requests without involving Minecraft, and will use checkpointing instead of actually restarting the server, as some Minecraft setups can take a very long time to start.

Usage: node . [path to config.json't] -- execute the passed file as an async javascript function and use the returned object as the confiltermon configuration. The file can use functions defined in confiltermon code. None are documented yet.