1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
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>
|