README.rst
IL-2 FB DS Config
=================
|pypi_package| |python_versions| |license|
|code_climate| |codebeat| |scrutinizer| |health| |requirements|
Python library for working with settings of IL-2 FB Dedicated Server
(``confs.ini``).
**Table of contents**
.. contents::
:local:
:depth: 2
:backlinks: none
Server config parameters
------------------------
This part of documentation describes server parameters. They are groupped by
sections like in server's ``confs.ini`` file.
``NET`` section
~~~~~~~~~~~~~~~
This section defined mostly server's network parameters.
serverName
Name of server, which will be displayed in a list of servers in LAN.
:Type: ``string``
:Default: ``(empty value)``
:Example: ``serverName=Test server``
serverDescription
Description of server, which will be displayed in a list of servers in LAN.
:Type: ``string``
:Default: ``(empty value)``
:Example: ``serverDescription=Server for testing new features``
serverChannels
Max number of users.
:Type: ``integer``
:Min: ``1``
:Max: ``128``
:Default: ``8``
:Example: ``serverChannels=64``
speed
Server's throughput in bytes/sec *(need more details)*.
.. table:: Common values
====== ===========
Value Comment
====== ===========
3000 Modem 28800
5000 Modem 56000
25000 DSL cable
====== ===========
:Type: ``integer``
:Min: ``300``
:Max: ``1000000``
:Default: ``5000``
:Example: ``speed=25000``
localHost
Address of network interface to listen for all incoming connections on.
:Type: ``string``
:Default: ``(empty value, listen on all interfaces)``
:Example: ``localHost=192.168.0.10``
localPort
UDP port number for client to connect to. Users enter this value when
connecting to server.
:Type: ``integer``
:Min: ``1000``
:Max: ``65000``
:Default: ``21000``
:Example: ``serverChannels=21000``
socksHost
Proxy host *(need more details)*.
:Type: ``string``
:Default: ``(empty value)``
:Example: ``(no example)``
socksPort
Proxy port *(need more details)*.
:Type: ``integer``
:Default: ``1080``
:Example: ``(no example)``
socksUser
Proxy user name *(need more details)*.
:Type: ``string``
:Default: ``(empty value)``
:Example: ``(no example)``
socksPwd
Password for proxy user *(need more details)*.
:Type: ``string``
:Default: ``(empty value)``
:Example: ``(no example)``
checkRuntime
Strictness of game version checks *(need more details)*.
.. table:: Allowed values
====== =======================================================================
Value Comment
====== =======================================================================
0 No checks
1 Checks enabled
2 Strict checks enabled (may not work under ``wine`` on Linux and Mac OS)
====== =======================================================================
:Type: ``integer``
:Min: ``0``
:Max: ``2``
:Default: ``0``
:Example: ``checkRuntime=2``
checkTimeSpeedDifferense
Max allowed difference in time between server and client (protection from
SpeedHack-like cheats). This may especially happen when the connection
quality is low and connectivity errors occur. This may also happen if the
hardware malfunctions, such as overheating of the computer timer causing
frequency changes.
:Type: ``float``
:Min: ``0.01`` (1%)
:Default: ``0.2`` (20%)
:Example: ``checkTimeSpeedDifferense=0.2``
checkTimeSpeedInterval
Max allowed time period when time difference can exceed
``checkTimeSpeedDifferense`` value. Client will be disconnected from the
server after this period.
:Type: ``integer``
:Min: ``1``
:Max: ``1000``
:Default: ``17``
:Example: ``checkTimeSpeedInterval=17``
checkServerTimeSpeed
Enable protection from SpeedHack-like cheats at server side.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``checkServerTimeSpeed=1``
checkClientTimeSpeed
Enable protection from SpeedHack-like cheats at client side.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``checkClientTimeSpeed=0``
difficulty
Difficulty settings.
`Use difficulty editor <http://il2horusteam.github.io/il2fb-difficulty/>`_
to understand values.
:Type: ``integer``
:Default: ``193791``
:Example: ``difficulty=8796093022207``
SkinDownload
Allow users to see skins, which are not present on server *(need more details)*.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``SkinDownload=1``
allowCustomSounds
Allow to use custom sounds in ``my_presets`` and ``my_samples`` directories
*(need more details)*.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``allowCustomSounds=1``
reflyDisabled
When enabled, ``Refly`` button will be disabled until next mission.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``reflyDisabled=0``
reflyKIADelay
Initial penalty (delay in seconds) for refly after death.
:Type: ``integer``
:Default: ``0``
:Example: ``reflyKIADelay=60``
reflyKIADelayMultiplier
Number of seconds, which will be multiplied by number of users's deaths and
added to initial penalty for refly after death. So, final penalty is
following:
``penalty = reflyKIADelay + reflyKIADelayMultiplier * NUMBER_OF_KIA_IN_MISSION``
:Type: ``float``
:Default: ``0.0``
:Example: ``reflyKIADelayMultiplier=30.0``
maxAllowedKIA
Limit of deaths per mission.
:Type: ``integer``
:Default: ``-1`` (no limit)
:Example: ``maxAllowedKIA=20``
allowMorseAsText
When enabled, online clients are allowed to use Morse as text feature
online.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``allowMorseAsText=1``
filterUserNames
When enabled, strips invalid characters from names. Valid characters are
those, which have codes within ranges ``[33;160]`` or ``[1025;1119]`` or
``[1168;1257]`` *(need more details)*.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``filterUserNames=0``
disableNetStatStatistics
When enabled, all online statistics are disabled (not visible).
Statistics are shown with ``S`` key by default.
``USER STAT`` console command will not work either.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``disableNetStatStatistics=0``
showPilotNumber
When enabled, online stats shows pilot's number.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``showPilotNumber=1``
showPilotPing
When enabled, online stats shows pilot's ping.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``showPilotPing=1``
showPilotName
When enabled, online stats shows pilot's name.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``showPilotName=1``
showPilotArmy
When enabled, online stats shows pilot's army.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``showPilotArmy=1``
showPilotACDesignation
When enabled, online stats shows pilot's aircraft designation.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``showPilotACDesignation=1``
showPilotACType
When enabled, online stats shows pilot's aircraft type.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``showPilotACType=1``
showPilotScore
When enabled, online stats shows pilot's score.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``showPilotScore=1``
showTeamScore
When enabled, online stats shows team score. This is combined score of all
pilots in the team. It includes all scores even from pilots that have
already quit playing the mission.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``showTeamScore=0``
cumulativeTeamScore
When enabled, the team score is not zeroed between missions.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``cumulativeTeamScore=0``
``Console`` section
~~~~~~~~~~~~~~~~~~~
This part describes options available for server's remote console.
IP
TCP port number to listen for connnections on.
:Type: ``integer``
:Min: ``0``
:Max: ``65000``
:Default: ``0`` (disable console)
:Example: ``IP=20000``
IPS
List of hostnames, which are allowed to connect to server's console.
By default only connections from ``NET.localHost`` are allowed.
If ``NET.localHost`` is not specified, then system's ``localhost`` is used.
:Type: ``space-separated strings``
:Default: ``(empty value)``
:Example: ``127.0.0.1 192.168.0.10``
LOG
When enabled, console messages will be logged into a file.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``LOG=0``
LOGFILE
Name of file to log console messages into.
:Type: ``string``
:Default: ``log.lst``
:Example: ``logs/console.log``
LOGTIME
When enabled, console log messages will be prefixed with time.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``LOGTIME=0``
LOGKEEP
When enabled, existing console log file will be preserved.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``LOGKEEP=0``
HISTORY
How much console records to keep in log file.
:Type: ``integer``
:Min: ``0``
:Max: ``10000``
:Default: ``128``
:Example: ``HISTORY=1024``
HISTORYCMD
How much console commands to keep in console's history.
:Type: ``integer``
:Min: ``0``
:Max: ``10000``
:Default: ``128``
:Example: ``HISTORYCMD=1024``
``DeviceLink`` section
~~~~~~~~~~~~~~~~~~~~~~
This part describes options available for server's Device Link interface.
host
Hostnames to listen for incoming requests on.
:Type: ``string``
:Default: ``(empty value)`` (listen on system's ``localhost``)
:Example: ``192.168.0.10``
port
UDP port number to listen for incoming requests on.
:Type: ``integer``
:Min: ``0``
:Max: ``65000``
:Default: ``0`` (disable Device Link)
:Example: ``IP=10000``
IPS
List of hostnames, which are allowed to connect to server's Device Link.
:Type: ``space-separated strings``
:Default: ``(empty value)``
:Example: ``127.0.0.1 192.168.0.10``
``game`` section
~~~~~~~~~~~~~~~~
This part describes options for different game conditions.
eventlog
Name of file to log events into. This file is created only when a mission
starts.
:Type: ``string``
:Default: ``eventlog.lst``
:Example: ``logs/events.log``
eventlogkeep
When enabled, events from previous mission be preserved.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``eventlogkeep=1``
eventlogHouse
Log events about destroyed buildings and trees.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``eventlogHouse=0``
NoMissionInfoHud
When enabled, mission related messages like ``Mission completed`` are not
shown at the center of the screen.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``NoMissionInfoHud=0``
noKillInfoHud
When enabled, kill related messages like ``Enemy/friendly xxx destroyed``
are not shown at the right side of the screen.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``noKillInfoHud=0``
lowInfoHud
Display HUD messages at the bottom of the screen, instead of center of the
screen.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``lowInfoHud=0``
ShowMorseAsText
When enabled, all Morse code beeps are also shown as text on screen.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``ShowMorseAsText=0``
BlockMorseChat
This switch is related to undocumented "easter egg" feature in 4.10 patch.
By typing a chat message online so that the message starts with ``Morse:``
will cause the message to be sent as Morse code beeps instead of text. This
switch can be used to disable this feature in case some players decide to
start chatting in Morse and you don't want to hear the annoying beeping
noises.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``BlockMorseChat=0``
SmallMapWPLabels
When enabled, the map shows waypoint labels with small font instead of
large.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``SmallMapWPLabels=1``
SkipParatrooperViews
When enabled, external camera views skip bailed out paratroopers.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``0``
:Example: ``SkipParatrooperViews=0``
TypeClouds
Use new clouds render from versions 4.x.
:Type: ``boolean`` (0 — false, 1 — true)
:Default: ``1``
:Example: ``TypeClouds=1``
``chat`` section
~~~~~~~~~~~~~~~~
Options for game chat.
autoLogDetail
Amount of events users will see chat message.
.. table:: Allowed values
====== ===================================================================
Value Comment
====== ===================================================================
0 Minimum of events (e.g., user joined, user left, user is cheating).
1 More events, including kills, craches, captures and so on.
2 More events, including destruction of ground units.
3 All events, including different kinds of damages.
====== ===================================================================
:Type: ``integer``
:Min: ``0``
:Max: ``3``
:Default: ``3``
:Example: ``autoLogDetail=3``
``MaxLag`` section
~~~~~~~~~~~~~~~~~~
This section is about ``Cheating has been detected!`` messages.
It contains options which allow to limit the amount of lag acceptable by the
host before a player will be autokicked.
Settings to leanient will have no effect, while settings too strict will cause
a lot of autokicking.
nearMaxLagTime
Defines the max lag time allowed for an aircraft in an endangered position
before it is considered warping (cheating). This is meant to address players
who are lagging on purpose.
:Type: ``float``
:Min: ``0.1``
:Max: ``30.0``
:Default: ``2.0``
:Example: ``nearMaxLagTime=2``
farMaxLagTime
Defines the maximum delay (in seconds) between packets received from a given
client. A time greater than this is considered a warp.
:Type: ``float``
:Min: value of ``nearMaxLagTime``
:Max: ``30.0``
:Default: ``10.0``
:Example: ``farMaxLagTime=10``
cheaterWarningDelay
Defines the maximum amount of time the system will refrain from taking
action against a player acting out of bounds. This can be used to avoid
issuing multiple warnings for a single glitch.
:Type: ``float``
:Min: ``1.0``
:Max: ``30.0``
:Default: ``10.0``
:Example: ``cheaterWarningDelay=10``
cheaterWarningNum
Defines the max number of warnings issued before a player is autokicked by
the host. A value of ``-1`` prevents autokicking.
:Type: ``integer``
:Default: ``3``
:Example: ``cheaterWarningNum=3``
.. |pypi_package| image:: http://img.shields.io/pypi/v/il2fb-ds-config.svg?style=flat
:target: http://badge.fury.io/py/il2fb-ds-config/
:alt: Version of PyPI package
.. |python_versions| image:: https://img.shields.io/badge/Python-2.7,3.4,3.5,3.6-brightgreen.svg?style=flat
:alt: Supported versions of Python
.. |license| image:: https://img.shields.io/badge/license-LGPLv3-blue.svg?style=flat
:target: https://github.com/IL2HorusTeam/il2fb-ds-config/blob/master/LICENSE
:alt: Package license
.. |code_climate| image:: https://codeclimate.com/github/IL2HorusTeam/il2fb-ds-config/badges/gpa.svg
:target: https://codeclimate.com/github/IL2HorusTeam/il2fb-ds-config
:alt: Code Climate
.. |codebeat| image:: https://codebeat.co/badges/0a0185bd-e5f2-4391-a834-1cebd28ef224
:target: https://codebeat.co/projects/github-com-il2horusteam-il2fb-ds-config-master
:alt: Code quality provided by «Codebeat»
.. |scrutinizer| image:: https://scrutinizer-ci.com/g/IL2HorusTeam/il2fb-ds-config/badges/quality-score.png?b=master&style=flat
:target: https://scrutinizer-ci.com/g/IL2HorusTeam/il2fb-ds-config/?branch=master
:alt: Code quality provided by Scrutinizer
.. |health| image:: https://landscape.io/github/IL2HorusTeam/il2fb-ds-config/master/landscape.svg?style=flat
:target: https://landscape.io/github/IL2HorusTeam/il2fb-ds-config/master
:alt: Code Health
.. |requirements| image:: https://requires.io/github/IL2HorusTeam/il2fb-ds-config/requirements.svg?branch=master
:target: https://requires.io/github/IL2HorusTeam/il2fb-ds-config/requirements/?branch=master
:alt: Requirements Status