28 lines
1.4 KiB
Markdown
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.
|