summaryrefslogtreecommitdiff
path: root/man/minecproxy.conf.xml
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2020-07-07 20:08:57 +0200
committerDavid Härdeman <david@hardeman.nu>2020-07-07 20:08:57 +0200
commitbf0d7d8c08527d7150027e1bc3ae2c8499c4ca97 (patch)
tree61c2ab80bf3721be4e434581c709522ec8685410 /man/minecproxy.conf.xml
parent90e27b4356f2a6ab98e812c4096b0b76f94a8fb3 (diff)
Add some man pages
Diffstat (limited to 'man/minecproxy.conf.xml')
-rw-r--r--man/minecproxy.conf.xml209
1 files changed, 209 insertions, 0 deletions
diff --git a/man/minecproxy.conf.xml b/man/minecproxy.conf.xml
new file mode 100644
index 0000000..65eaeac
--- /dev/null
+++ b/man/minecproxy.conf.xml
@@ -0,0 +1,209 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<!-- SPDX-License-Identifier: GPL-2.0 -->
+
+<refentry id="minecproxy.conf">
+
+ <refentryinfo>
+ <title>minecproxy.conf</title>
+ <productname>minecproxy</productname>
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>David</firstname>
+ <surname>Härdeman</surname>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>minecproxy.conf</refentrytitle>
+ <manvolnum>5</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>minecproxy.conf</refname>
+ <refpurpose>Basic settings for <command>minecproxy</command></refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <para><filename>minecproxy.conf</filename></para>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+ <para>
+ <filename>minecproxy.conf</filename> provides the ability to
+ control some basics of <command>minecproxy</command>.
+ The file is expected to be in the main configuration directory
+ of <command>minecproxy</command> (see
+ <citerefentry><refentrytitle>minecproxy</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
+ and uses a plain text ini-style format simlar to what
+ <application>systemd</application> uses.
+ </para>
+ <para>
+ The file has a single section titled [MinecProxy], and comments
+ can be prefixed with <emphasis>#</emphasis>. The defaults should
+ be fine for the majority of users, meaning that no further
+ configuration is necessary and this file can be omitted.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>Options</title>
+ <para>The following options are understood:</para>
+ <variablelist>
+
+ <varlistentry>
+ <term><option>IGMP=</option></term>
+ <listitem><para>
+ Instead of constanly announcing the configured
+ <application>Minecraft</application> servers, listen to
+ the multicase messages sent by <application>Minecraft</application>
+ clients when they are looking for servers (i.e. joining
+ a certain multicast group) and only then start sending announce
+ messages on the local network. This cuts down on the network
+ traffic (<remark>this feature should be considered
+ experimental</remark>).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>IGMPIface=</option></term>
+ <listitem><para>
+ The name of the network interface (e.g. <quote>eth0</quote>
+ to use when listening for <acronym>IGMP</acronym> messages
+ (default: all).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>AnnounceIntervalSec=</option></term>
+ <listitem><para>
+ The number of seconds to wait between sending successive
+ announce messages on the local network.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>ProxyConnectionIntervalSec=</option></term>
+ <listitem><para>
+ The number of seconds to wait between performing
+ connection attempts when a client is connecting to a proxy
+ type server (see
+ <citerefentry><refentrytitle>minecproxy.mcserver</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for a discussion of server types). Mostly useful when
+ <command>minecproxy</command> is in the process of starting
+ up a server.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>ProxyConnectionAttempts=</option></term>
+ <listitem><para>
+ How many connection attempts to perform (with a wait
+ of <option>ProxyConnectionIntervalSec=</option> seconds in
+ between each attempt) before giving up.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>SocketDefer=</option></term>
+ <listitem><para>
+ Takes a boolean argument specifying whether to set the
+ <literal>TCP_DEFER_ACCEPT</literal> option on proxy
+ sockets. Said option allows <command>minecproxy</command>
+ to defer accepting connections until the client starts
+ sending data, which conserves resources (see
+ <citerefentry><refentrytitle>tcp</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for further details).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>SocketFreebind=</option></term>
+ <listitem><para>
+ Takes a boolean argument specifying whether to set the
+ <literal>IP_FREEBIND</literal> option on proxy
+ sockets. Said option allows <command>minecproxy</command>
+ to listen to addresses which are not configured at
+ the time <command>minecproxy</command> is started, which
+ allows <command>minecproxy</command> to be started before
+ the network has been configured, at the cost of not being
+ able to catch incorrectly defined addresses (see
+ <citerefentry><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for further details).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>SocketKeepalive=</option></term>
+ <listitem><para>
+ Takes a boolean argument specifying whether to set the
+ <literal>SO_KEEPALIVE</literal> option on proxy
+ sockets. Said option allows <command>minecproxy</command>
+ to detect dead clients earlier, which might conserve resources (see
+ <citerefentry><refentrytitle>tcp</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for further details).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>SocketIPTOS=</option></term>
+ <listitem><para>
+ Takes a boolean argument specifying whether to set the
+ <literal>IPTOS_LOWDELAY</literal> option on proxy
+ sockets. Said option informs the kernel that delays
+ should be minimized, as the <application>Minecraft</application>
+ traffic is interactive (see
+ <citerefentry><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for further details).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>SocketNoDelay=</option></term>
+ <listitem><para>
+ Takes a boolean argument specifying whether to set the
+ <literal>TCP_NODELAY</literal> option on proxy
+ sockets. Said option allows packets to be forwarded as soon
+ as possible, which should benefit interactive traffic, such
+ as <application>Minecraft</application> connections (see
+ <citerefentry><refentrytitle>tcp</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+ for further details).
+ </para></listitem>
+ </varlistentry>
+
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>Example</title>
+<programlisting>
+<![CDATA[
+[MinecProxy]
+IGMP=true
+IGMPIface=eth0
+AnnounceIntervalSec=5
+ProxyConnectionIntervalSec=3
+ProxyConnectionAttempts=20
+SocketDefer=true
+SocketFreebind=true
+SocketKeepalive=true
+SocketIPTOS=true
+SocketNoDelay=true
+]]>
+</programlisting>
+ </refsect1>
+
+ <refsect1>
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>minecproxy</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>minecctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>minecproxy.mcserver</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+</refentry>