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

28 lines
1.4 KiB
Markdown

# 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.