cfg0 Directory containing all configuration files related to first server
     MinoRatingPlugin.exe
     MinoRatingPlugin.exe.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
  </startup>
  <appSettings>
    <!-- This has to be 1 -->
    <add key="load_server_cfg" value="1"/>

    <!-- Point to the ac server directory (=acServer executable location) -->
    <add key="ac_server_directory" value="../acserver"/>
    
    <!-- AcServer/proxy listening port like defined in UDP_PLUGIN_LOCAL_PORT. Uncomment to override it (Proxy/Relay), otherwise MR will read it from the config -->
    <add key="ac_server_port" value="10004" />
    <!-- Plugin listening port towards acServer/proxy like defined in UDP_PLUGIN_ADDRESS=12000 (without 127.0.0.1, port number only) -->
    <!-- Uncomment to override it (Proxy/Relay), otherwise MR will read it from the config -->
    <add key="plugin_port" value="10003" />

    <!-- server_config.ini location, relative to the ac_server_directory. "." for "none" -->
    <add key="ac_cfg_directory" value="../cfg0"/>
    <add key="start_new_log_on_new_session" value="0"/>
    <add key="log_server_requests" value="0"/>
    <add key="server_trust_token" value="00000000-1111-2222-3333-444444444444"/>

	<!-- Ignore whatever the acServer Protocol version is - not recommended!  -->
    <!--<add key="ignore_UPD_protocol_version" value="true" />-->

    <!--<add key="session_report_handlers" value="acPlugins4net.helpers.XmlSessionReportWriter, acPlugins4net"/>-->
    
    <!--<add key="internal_plugins" value="OtherPluginNamespace.OtherPluginType, OtherPluginDLL"/>-->
    <!--<add key="external_plugins" value="OtherPluginName, 11001, 127.0.0.1:12001"/>-->
    <!--<add key="local_auth_port" value="10005" />-->
  </appSettings>
</configuration>

                            
     MinoRatingPlugin.pdb
     acPlugins4net.dll
     acPlugins4net.pdb
     bad_words.txt
     entry_list.ini
[CAR_0]
MODEL=ks_mazda_mx5_nd
SKIN=02_artic_white
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_1]
MODEL=ks_mazda_mx5_nd
SKIN=04_blue_reflex_mica
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_2]
MODEL=ks_mazda_mx5_nd
SKIN=03_ceramic_metallic
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_3]
MODEL=ks_mazda_mx5_nd
SKIN=06_crystal_white_pearlescent
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_4]
MODEL=ks_mazda_mx5_nd
SKIN=01_jet_black_mica
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_5]
MODEL=ks_mazda_mx5_nd
SKIN=05_meteor_grey_mica
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_6]
MODEL=ks_mazda_mx5_nd
SKIN=00_soul_red_metallic
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_7]
MODEL=ks_mazda_mx5_nd
SKIN=02_artic_white
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_8]
MODEL=ks_mazda_mx5_nd
SKIN=04_blue_reflex_mica
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_9]
MODEL=ks_mazda_mx5_nd
SKIN=03_ceramic_metallic
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_10]
MODEL=ks_mazda_mx5_nd
SKIN=06_crystal_white_pearlescent
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_11]
MODEL=ks_mazda_mx5_nd
SKIN=01_jet_black_mica
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_12]
MODEL=ks_mazda_mx5_nd
SKIN=05_meteor_grey_mica
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_13]
MODEL=ks_mazda_mx5_nd
SKIN=00_soul_red_metallic
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_14]
MODEL=ks_mazda_mx5_nd
SKIN=00_soul_red_metallic
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_15]
MODEL=ks_mazda_mx5_nd
SKIN=01_jet_black_mica
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_16]
MODEL=ks_mazda_mx5_nd
SKIN=04_blue_reflex_mica
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_17]
MODEL=ks_mazda_mx5_nd
SKIN=05_meteor_grey_mica
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

                            
     log
     screenlog.0
     server_cfg.ini
[SERVER]
NAME=NEYS 1 | stracker | MR[ABCN] | AC 1.12.6
CARS=ks_mazda_mx5_nd
CONFIG_TRACK=layout_short
TRACK=ks_highlands
SUN_ANGLE=-40
PASSWORD=XXX
ADMIN_PASSWORD=XXX
UDP_PORT=22300
TCP_PORT=22300
HTTP_PORT=22301
MAX_BALLAST_KG=300
QUALIFY_MAX_WAIT_PERC=120
PICKUP_MODE_ENABLED=1
LOOP_MODE=1
SLEEP_TIME=1
CLIENT_SEND_INTERVAL_HZ=18
SEND_BUFFER_SIZE=0
RECV_BUFFER_SIZE=0
RACE_OVER_TIME=150
KICK_QUORUM=80
VOTING_QUORUM=51
VOTE_DURATION=15
BLACKLIST_MODE=1
FUEL_RATE=100
DAMAGE_MULTIPLIER=100
TYRE_WEAR_RATE=100
ALLOWED_TYRES_OUT=2
ABS_ALLOWED=1
TC_ALLOWED=1
START_RULE=2
RACE_GAS_PENALTY_DISABLED=0
RESULT_SCREEN_TIME=15
MAX_CONTACTS_PER_KM=-1
STABILITY_ALLOWED=0
AUTOCLUTCH_ALLOWED=0
TYRE_BLANKETS_ALLOWED=0
FORCE_VIRTUAL_MIRROR=0
REGISTER_TO_LOBBY=1
MAX_CLIENTS=18
NUM_THREADS=2
UDP_PLUGIN_LOCAL_PORT=10002
UDP_PLUGIN_ADDRESS=127.0.0.1:10001
AUTH_PLUGIN_ADDRESS=127.0.0.1:50041/acauth?timeout=300&andurl1=www.minorating.com%3A805/minodata/auth/ABCN/&
LEGAL_TYRES=
RACE_EXTRA_LAP=0
WELCOME_MESSAGE=../../message.txt

[FTP]
HOST=
LOGIN=XXX
PASSWORD=XXX
FOLDER=
LINUX=0

[QUALIFY]
NAME=Qualify
TIME=6
IS_OPEN=1

[RACE]
NAME=Race
LAPS=0
TIME=10
WAIT_TIME=45
IS_OPEN=1

[WEATHER_0]
GRAPHICS=3_clear
BASE_TEMPERATURE_AMBIENT=26
BASE_TEMPERATURE_ROAD=8
VARIATION_AMBIENT=2
VARIATION_ROAD=2

[WEATHER_1]
GRAPHICS=4_mid_clear
BASE_TEMPERATURE_AMBIENT=26
BASE_TEMPERATURE_ROAD=8
VARIATION_AMBIENT=2
VARIATION_ROAD=2

[DATA]
DESCRIPTION=
EXSERVEREXE=
EXSERVERBAT=
EXSERVERHIDEWIN=0
WEBLINK=
WELCOME_PATH=

                            
     stracker-V3.2.0-f.zip
     stracker.ini
[STRACKER_CONFIG]
; Server ip address or name used to poll results from. You should not touch the default value: 127.0.0.1
ac_server_address = 127.0.0.1
; Path to configuration file of ac server. Note: whenever the server is restarted, it is required to restart stracker as well
ac_server_cfg_ini = ../cfg0/server_cfg.ini
; Working directory of the ac server, needed to read the race result json files. If empty, the directory is deduced from the ac_server_cfg_ini path assuming the default directory structure
ac_server_working_dir = /home/acserver/acserver/wd0
; Set to 1, if you want to append to log files rather than overwriting them. Only meaningful with external log file rotation system.
append_log_file = True
; you normally want to leave that at the default (False). Use case for this is an environment where the same steam account is used by different drivers.
guids_based_on_driver_names = False
; set to false, if you want to disable the TCP keep_alive option (that was the behaviour pre 3.1.7).
keep_alive_ptracker_conns = True
; Listening port for incoming connections of ptracker. Must be one of 50042, 50043, 54242, 54243, 60023, 60024, 62323, 62324, 42423, 42424, 23232, 23233, <AC udp port>+42; ptracker will try all these ports on the ac server's ip address (until a better solution is found...)
listening_port = 50042
; name of the stracker log file (utf-8 encoded), all messages go into there
log_file = ../logs/stracker0.log
; Valid values are "info", "debug" and "dump". Use "dump" only for problem analysis, log files can get very big.
log_level = debug
; set to true, if you want the log messages to be prefixed with a timestamp
log_timestamps = True
; set to true, if you want stracker to reduce its priority. Will use BELOW_NORMAL on windows and nice(5) on linux.
lower_priority = True
; set to 1, if you want stracker to compare the players checksums.
perform_checksum_comparisons = False
; Configure which ptracker instances shall be allowed to connect: Valid values are "any", "newer" or "none".
ptracker_connection_mode = any
; name for the server; sessions in the database will be tagged with that name; useful when more than one server is running in parallel on the same database
server_name = neys-1
; set to 1, if you want the messages appear on stdout
tee_to_stdout = False


[SWEAR_FILTER]
; Valid values are "none", "kick" and "ban".
action = kick
; Number of days the player shall be banned (if action is "ban").
ban_duration = 30
; Specify the number of warnings issued before the player is going to be kicked.
num_warnings = 5
; Specify a file with bad words (one in each line). See https://github.com/shutterstock/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words for examples.
swear_file = ../cfg0/bad_words.txt
; message sent to player after a swear detection
warning = Please be polite and do not swear in the chat. You will be %(swear_action)s from the server after receiving %(num_warnings_left)d more warnings.


[SESSION_MANAGEMENT]
; What to do when the race is over and no player is actively racing. Valid values are: "none" or "skip".
race_over_strategy = skip
; Number of seconds to wait before the session skip is executed (if race_over_strategy is set to "skip")
wait_secs_before_skip = 15


[MESSAGES]
; Lap times below this threshold (in percent of the best time) will be broadcasted as best laps. Lap times above this will be whispered to the player achieving it.
best_lap_time_broadcast_threshold = 105.0
; set to 1 to enable car to car private messages.
car_to_car_collision_msg = True
; available message types are "enter_leave","best_lap","checksum_errors","welcome","race_finished" and "collision". Connect them using a + sign without spaces.
message_types_to_send_over_chat = best_lap+welcome+race_finished


[DATABASE]
; Only relevant if database_type=sqlite3. Path to the stracker database. If a relative path is given, it is relative to the <stracker> executable
database_file = ../stracker.db3
; Valid values are "sqlite3" and "postgres". Selects the database to be used.
database_type = postgres
; Set to "False", if you do not want stracker to backup the database before migrating to a new db version. Note: The backups will be created as sqlite3 db in the current working directory.
perform_backups = True
; name of the postgres database.
postgres_db = stracker
; name of the host running the postgresql server.
postgres_host = localhost
; name of the postgres user password.
postgres_pwd =XXX
; name of the postgres user.
postgres_user =XXX


[DB_COMPRESSION]
; Interval of database compression in minutes.
interval = 1440
; Various options to minimize database size. Valid values are "none" (no compression, save all available infos), "remove_slow_laps" (save detailed infos for fast laps only) and "remove_all" (save no detailed lap info).
mode = remove_slow_laps
; If set to 1, database compression will only take place if the server is empty.
needs_empty_server = True


[HTTP_CONFIG]
; password for the stracker admin pages (leaving it empty results in disabled admin pages
admin_password =XXX
; username for the stracker admin pages (leaving it empty results in disabled admin pages
admin_username =XXX
; Set to a file to be used for logging http authentication requests. Useful to prevent attacks with external program (e.g., fail2ban).
auth_log_file = ../logs/stracker_http_auth.log
; icon to be used in webpages (leave empty for default Assetto Corsa icon)
banner = 
; Enable paypal link for letting users donate to the author. If you do not like that, switch it off.
enable_paypal_link = True
; set to false if you do not want svg graphs in the http output (for saving bandwidth)
enable_svg_generation = True
; set to 1, if you want to start a http server for statistics access
enabled = True
; set to true to get the navbar inverted (i.e., dark instead of bright)
inverse_navbar = False
; number of items displayed per page
items_per_page = 15
; Additional columns to be displayed in LapTimes table (seperated by a + sign). Columns can be "valid", "aids", "laps", "date", "grip", "cuts", "collisions", "tyres", "temps", "ballast" and "vmax". Note that too many displayed columns might cause problems on some browsers.
lap_times_add_columns = valid+aids+laps+date
; listening address of the http server (normally there is no need to change the default value 0.0.0.0 which means that the whole internet can connect to the server)
listen_addr = 0.0.0.0
; tcp listening port of the http server
listen_port = 50041
; If set to true, http requests will be logged in stracker.log. Otherwise they are not logged.
log_requests = False
; Maximum number of streaming clients (LiveMap/Log users) allowed to connect to this server in parallel. The number of threads allocated for http serving will be max(10, max_streaming_clients + 5)
max_streaming_clients = 10
; Set to true if you want to use https. Note that you need a SSL certificate and key. If you enable this option, you can reach stracker at https://ip:port/ instead of http://ip:port/
ssl = False
; Path to the SSL certificate for https. Only used when ssl is True. A self-signed certificate can be generated with "openssl req -new -x509 -days 365 -key privkey.pem -out cert.pem"
ssl_certificate = 
; Path to the SSL private key for https. Only used when ssl is True. A private key can be generated with "openssl genrsa -out privkey.pem 2048"
ssl_private_key = 
; Valid values are "degc" or "degf".
temperature_unit = degc
; Valid values are "kmh" or "mph".
velocity_unit = kmh


[BLACKLIST]
; Path to blacklist.txt of ac server. If empty, blacklist support will not be available. Changes to blacklist file require an AC server restart to be active.
blacklist_file = 


[WELCOME_MSG]
; First line of welcome message text (if not empty, this text is sent a player when he enters the server
line1 = Welcome to stracker %(version)s
; Second line of welcome message text (if not empty, this text is sent a player when he enters the server
line2 = 
; Third line of welcome message text (if not empty, this text is sent a player when he enters the server
line3 = 


[ACPLUGIN]
; proxy the AC server protocol on these ports, so multiple plugins may be chained (this is equivalent to UDP_PLUGIN_LOCAL_PORT in server_cfg.ini)
proxyPluginLocalPort = 10004
; proxy the AC server protocol on these ports, so multiple plugins may be chained (this is equivalent to UDP_PLUGIN_ADDRESS in server_cfg.ini)
proxyPluginPort = 10003
; udp port the plugins receives from. -1 means to use the AC servers setting UDP_PLUGIN_ADDRESS
rcvPort = -1
; udp port the plugins sends to. -1 means to use the AC servers setting UDP_PLUGIN_LOCAL_PORT
sendPort = -1


[LAP_VALID_CHECKS]
; if true, collisions with other cars will invalidate laps
invalidateOnCarCollisions = True
; if true, collisions with environment objects will invalidate laps
invalidateOnEnvCollisions = True
; if -1: use server penalty setting, if available, otherwise use 2. All other values are passed to ptracker.
ptrackerAllowedTyresOut = -1



                            
     stracker.ini.bak
cfg1 Directory containing all configutation files related to second server
     MinoRatingPlugin.exe
     MinoRatingPlugin.exe.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
  </startup>
  <appSettings>
    <!-- This has to be 1 -->
    <add key="load_server_cfg" value="1"/>

    <!-- Point to the ac server directory (=acServer executable location) -->
    <add key="ac_server_directory" value="../acserver"/>
    
    <!-- AcServer/proxy listening port like defined in UDP_PLUGIN_LOCAL_PORT. Uncomment to override it (Proxy/Relay), otherwise MR will read it from the config -->
    <add key="ac_server_port" value="11004" />
    <!-- Plugin listening port towards acServer/proxy like defined in UDP_PLUGIN_ADDRESS=12000 (without 127.0.0.1, port number only) -->
    <!-- Uncomment to override it (Proxy/Relay), otherwise MR will read it from the config -->
    <add key="plugin_port" value="11003" />

    <!-- server_config.ini location, relative to the ac_server_directory. "." for "none" -->
    <add key="ac_cfg_directory" value="../cfg1"/>
    <add key="start_new_log_on_new_session" value="0"/>
    <add key="log_server_requests" value="0"/>
    <add key="server_trust_token" value="00000000-1111-2222-3333-444444444444"/>

	<!-- Ignore whatever the acServer Protocol version is - not recommended!  -->
    <!--<add key="ignore_UPD_protocol_version" value="true" />-->

    <!--<add key="session_report_handlers" value="acPlugins4net.helpers.XmlSessionReportWriter, acPlugins4net"/>-->
    
    <!--<add key="internal_plugins" value="OtherPluginNamespace.OtherPluginType, OtherPluginDLL"/>-->
    <!--<add key="external_plugins" value="OtherPluginName, 11001, 127.0.0.1:12001"/>-->
  </appSettings>
</configuration>

                            
     MinoRatingPlugin.pdb
     acPlugins4net.dll
     acPlugins4net.pdb
     entry_list.ini
[CAR_0]
MODEL=ks_porsche_911_r
SKIN=03_gt_silver_metallic
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_1]
MODEL=ks_porsche_911_r
SKIN=01_silver_green
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_2]
MODEL=ks_porsche_911_r
SKIN=04_silver_red
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_3]
MODEL=ks_porsche_911_r
SKIN=02_white
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_4]
MODEL=ks_porsche_911_r
SKIN=05_white_green
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_5]
MODEL=ks_porsche_911_r
SKIN=00_white_red
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_6]
MODEL=ks_porsche_911_r
SKIN=03_gt_silver_metallic
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_7]
MODEL=ks_porsche_911_r
SKIN=01_silver_green
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_8]
MODEL=ks_porsche_911_r
SKIN=04_silver_red
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_9]
MODEL=ks_porsche_911_r
SKIN=02_white
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_10]
MODEL=ks_porsche_911_r
SKIN=05_white_green
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_11]
MODEL=ks_porsche_911_r
SKIN=00_white_red
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_12]
MODEL=ks_porsche_911_r
SKIN=03_gt_silver_metallic
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_13]
MODEL=ks_porsche_911_r
SKIN=01_silver_green
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_14]
MODEL=ks_porsche_911_r
SKIN=04_silver_red
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_15]
MODEL=ks_porsche_911_r
SKIN=05_white_green
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_16]
MODEL=ks_porsche_911_r
SKIN=00_white_red
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

[CAR_17]
MODEL=ks_porsche_911_r
SKIN=02_white
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0

                            
     log
     screenlog.0
     server_cfg.ini
[SERVER]
NAME=NEYS 2 | stracker | MR[ABCN] | AC 1.12.6
CARS=ks_porsche_911_r
CONFIG_TRACK=layout_int
TRACK=ks_highlands
SUN_ANGLE=-72
PASSWORD=XXX
ADMIN_PASSWORD=XXX
UDP_PORT=23300
TCP_PORT=23300
HTTP_PORT=23301
MAX_BALLAST_KG=150
QUALIFY_MAX_WAIT_PERC=120
PICKUP_MODE_ENABLED=1
LOOP_MODE=1
SLEEP_TIME=1
CLIENT_SEND_INTERVAL_HZ=18
SEND_BUFFER_SIZE=0
RECV_BUFFER_SIZE=0
RACE_OVER_TIME=300
KICK_QUORUM=80
VOTING_QUORUM=51
VOTE_DURATION=15
BLACKLIST_MODE=1
FUEL_RATE=100
DAMAGE_MULTIPLIER=100
TYRE_WEAR_RATE=100
ALLOWED_TYRES_OUT=2
ABS_ALLOWED=1
TC_ALLOWED=0
START_RULE=2
RACE_GAS_PENALTY_DISABLED=0
RESULT_SCREEN_TIME=15
MAX_CONTACTS_PER_KM=-1
STABILITY_ALLOWED=0
AUTOCLUTCH_ALLOWED=0
TYRE_BLANKETS_ALLOWED=0
FORCE_VIRTUAL_MIRROR=0
REGISTER_TO_LOBBY=1
MAX_CLIENTS=18
NUM_THREADS=2
UDP_PLUGIN_LOCAL_PORT=11002
UDP_PLUGIN_ADDRESS=127.0.0.1:11001
AUTH_PLUGIN_ADDRESS=127.0.0.1:50041/acauth?timeout=300&andurl1=www.minorating.com%3A805/minodata/auth/ABCN/&
LEGAL_TYRES=
RACE_EXTRA_LAP=0
WELCOME_MESSAGE=../../message.txt

[FTP]
HOST=
LOGIN=XXX
PASSWORD=XXX
FOLDER=
LINUX=0

[QUALIFY]
NAME=Qualify
TIME=5
IS_OPEN=1

[RACE]
NAME=Race
LAPS=0
TIME=20
WAIT_TIME=45
IS_OPEN=1

[WEATHER_0]
GRAPHICS=4_mid_clear
BASE_TEMPERATURE_AMBIENT=26
BASE_TEMPERATURE_ROAD=3
VARIATION_AMBIENT=2
VARIATION_ROAD=2

[WEATHER_1]
GRAPHICS=3_clear
BASE_TEMPERATURE_AMBIENT=26
BASE_TEMPERATURE_ROAD=3
VARIATION_AMBIENT=2
VARIATION_ROAD=2

[DATA]
DESCRIPTION=
EXSERVEREXE=
EXSERVERBAT=
EXSERVERHIDEWIN=0
WEBLINK=
WELCOME_PATH=

                            
     stracker.ini
[STRACKER_CONFIG]
; Server ip address or name used to poll results from. You should not touch the default value: 127.0.0.1
ac_server_address = 127.0.0.1
; Path to configuration file of ac server. Note: whenever the server is restarted, it is required to restart stracker as well
ac_server_cfg_ini = ../cfg1/server_cfg.ini
; Set to 1, if you want to append to log files rather than overwriting them. Only meaningful with external log file rotation system.
append_log_file = True
; you normally want to leave that at the default (False). Use case for this is an environment where the same steam account is used by different drivers.
guids_based_on_driver_names = False
; set to false, if you want to disable the TCP keep_alive option (that was the behaviour pre 3.1.7).
keep_alive_ptracker_conns = True
; Listening port for incoming connections of ptracker. Must be one of 50042, 50043, 54242, 54243, 60023, 60024, 62323, 62324, 42423, 42424, 23232, 23233, <AC udp port>+42; ptracker will try all these ports on the ac server's ip address (until a better solution is found...)
listening_port = 50043
; name of the stracker log file (utf-8 encoded), all messages go into there
log_file = ../logs/stracker1.log
; Valid values are "info", "debug" and "dump". Use "dump" only for problem analysis, log files can get very big.
log_level = debug
; set to true, if you want the log messages to be prefixed with a timestamp
log_timestamps = True
; set to true, if you want stracker to reduce its priority. Will use BELOW_NORMAL on windows and nice(5) on linux.
lower_priority = True
; set to 1, if you want stracker to compare the players checksums.
perform_checksum_comparisons = False
; Configure which ptracker instances shall be allowed to connect: Valid values are "any", "newer" or "none".
ptracker_connection_mode = any
; name for the server; sessions in the database will be tagged with that name; useful when more than one server is running in parallel on the same database
server_name = neys-2
; set to 1, if you want the messages appear on stdout
tee_to_stdout = False


[SWEAR_FILTER]
; Valid values are "none", "kick" and "ban".
action = kick
; Number of days the player shall be banned (if action is "ban").
ban_duration = 30
; Specify the number of warnings issued before the player is going to be kicked.
num_warnings = 3
; Specify a file with bad words (one in each line). See https://github.com/shutterstock/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words for examples.
swear_file = ../cfg0/bad_words.txt
; message sent to player after a swear detection
warning = Please be polite and do not swear in the chat. You will be %(swear_action)s from the server after receiving %(num_warnings_left)d more warnings.


[SESSION_MANAGEMENT]
; What to do when the race is over and no player is actively racing. Valid values are: "none" or "skip".
race_over_strategy = skip
; Number of seconds to wait before the session skip is executed (if race_over_strategy is set to "skip")
wait_secs_before_skip = 15


[MESSAGES]
; Lap times below this threshold (in percent of the best time) will be broadcasted as best laps. Lap times above this will be whispered to the player achieving it.
best_lap_time_broadcast_threshold = 105.0
; set to 1 to enable car to car private messages.
car_to_car_collision_msg = True
; available message types are "enter_leave","best_lap","checksum_errors","welcome","race_finished" and "collision". Connect them using a + sign without spaces.
message_types_to_send_over_chat = best_lap+welcome+race_finished


[DATABASE]
; Only relevant if database_type=sqlite3. Path to the stracker database. If a relative path is given, it is relative to the <stracker> executable
database_file = ./stracker.db3
; Valid values are "sqlite3" and "postgres". Selects the database to be used.
database_type = postgres
; Set to "False", if you do not want stracker to backup the database before migrating to a new db version. Note: The backups will be created as sqlite3 db in the current working directory.
perform_backups = True
; name of the postgres database.
postgres_db = stracker
; name of the host running the postgresql server.
postgres_host = localhost
; name of the postgres user password.
postgres_pwd =XXX
; name of the postgres user.
postgres_user =XXX


[DB_COMPRESSION]
; Interval of database compression in minutes.
interval = 1440
; Various options to minimize database size. Valid values are "none" (no compression, save all available infos), "remove_slow_laps" (save detailed infos for fast laps only) and "remove_all" (save no detailed lap info).
mode = none
; If set to 1, database compression will only take place if the server is empty.
needs_empty_server = True


[HTTP_CONFIG]
; password for the stracker admin pages (leaving it empty results in disabled admin pages
admin_password =XXX
; username for the stracker admin pages (leaving it empty results in disabled admin pages
admin_username =XXX
; Set to a file to be used for logging http authentication requests. Useful to prevent attacks with external program (e.g., fail2ban).
auth_log_file = ../logs/stracker_http_auth.log
; icon to be used in webpages (leave empty for default Assetto Corsa icon)
banner = 
; Enable paypal link for letting users donate to the author. If you do not like that, switch it off.
enable_paypal_link = True
; set to false if you do not want svg graphs in the http output (for saving bandwidth)
enable_svg_generation = True
; set to 1, if you want to start a http server for statistics access
enabled = False
; set to true to get the navbar inverted (i.e., dark instead of bright)
inverse_navbar = False
; number of items displayed per page
items_per_page = 15
; Additional columns to be displayed in LapTimes table (seperated by a + sign). Columns can be "valid", "aids", "laps", "date", "grip", "cuts", "collisions", "tyres", "temps", "ballast" and "vmax". Note that too many displayed columns might cause problems on some browsers.
lap_times_add_columns = valid+aids+laps+date
; listening address of the http server (normally there is no need to change the default value 0.0.0.0 which means that the whole internet can connect to the server)
listen_addr = 0.0.0.0
; tcp listening port of the http server
listen_port = 50041
; If set to true, http requests will be logged in stracker.log. Otherwise they are not logged.
log_requests = False
; Maximum number of streaming clients (LiveMap/Log users) allowed to connect to this server in parallel. The number of threads allocated for http serving will be max(10, max_streaming_clients + 5)
max_streaming_clients = 10
; Valid values are "degc" or "degf".
temperature_unit = degc
; Valid values are "kmh" or "mph".
velocity_unit = kmh


[BLACKLIST]
; Path to blacklist.txt of ac server. If empty, blacklist support will not be available. Changes to blacklist file require an AC server restart to be active.
blacklist_file = 


[WELCOME_MSG]
; First line of welcome message text (if not empty, this text is sent a player when he enters the server
line1 = Welcome to stracker %(version)s
; Second line of welcome message text (if not empty, this text is sent a player when he enters the server
line2 = 
; Third line of welcome message text (if not empty, this text is sent a player when he enters the server
line3 = 


[ACPLUGIN]
; proxy the AC server protocol on these ports, so multiple plugins may be chained (this is equivalent to UDP_PLUGIN_LOCAL_PORT in server_cfg.ini)
proxyPluginLocalPort = 11004
; proxy the AC server protocol on these ports, so multiple plugins may be chained (this is equivalent to UDP_PLUGIN_ADDRESS in server_cfg.ini)
proxyPluginPort = 11003
; udp port the plugins receives from. -1 means to use the AC servers setting UDP_PLUGIN_ADDRESS
rcvPort = -1
; udp port the plugins sends to. -1 means to use the AC servers setting UDP_PLUGIN_LOCAL_PORT
sendPort = -1


[LAP_VALID_CHECKS]
; if true, collisions with other cars will invalidate laps
invalidateOnCarCollisions = True
; if true, collisions with environment objects will invalidate laps
invalidateOnEnvCollisions = True
; if -1: use server penalty setting, if available, otherwise use 2. All other values are passed to ptracker.
ptrackerAllowedTyresOut = -1



                            
     stracker.ini.bak
acserver Directory containing the AC server package (without the corresponding config files)
     acServer
     content
     content.zip
     results
     setups
     system
     wd0
     wd1
     wd2
stracker Directory containing the stracker package
     README.txt
     http_static
     http_templates
     start-stracker.cmd
     stracker-default.ini
     stracker-packager.exe
     stracker.exe
     stracker_linux_x86
     stracker_linux_x86.tgz
minorating Directory containing the minorating package
     MinoRatingPlugin.exe
     MinoRatingPlugin.pdb
     acPlugins4net.dll
     acPlugins4net.pdb
     old
logs Directory containing log files
     acserver0.log
     acserver1.log
     acserver2.log
     minorating0.log
     minorating1.log
     minorating2.log
     stracker0.log
     stracker1.log
     stracker2.log
     stracker_http_auth.log
start.sh
#!/bin/bash
#
# script to start AC server, minorating and stracker
# usage:
# ./start.sh <idx> [<module>]
# <idx> must be the instance number, starting with 0
# <module> optional specify the module to be started (if omitted all modules are started). Must be one of AC, MR or ST.

IDX="$1"
M="$2"

if test -z "$1" -o '!' -d "cfg$IDX"; then
  echo "Index of server missing or invalid"
else
  ./stop.sh "$1" "$2"

  if test -z "$M" -o "$M" = "ST"; then
    # stracker
    echo "Starting stracker $IDX"
    cd stracker
    screen -S stracker-$IDX -d -m ./stracker_linux_x86/stracker --stracker_ini=../cfg$IDX/stracker.ini
    cd ..
  fi
  if test -z "$M" -o "$M" = "MR"; then
    # minorating
    echo "Starting minorating $IDX"
    rm cfg$IDX/*.exe cfg$IDX/*.dll cfg$IDX/*.pdb
    ln minorating/*.exe minorating/*.pdb minorating/*.dll cfg$IDX
    cd cfg$IDX
    test -f screenlog.0 && rm screenlog.0
    mv ../logs/minorating$IDX.log screenlog.0
    echo "-------------------------------------" >> screenlog.0
    echo "RESTART" >> screenlog.0
    echo "-------------------------------------" >> screenlog.0
    screen -S minorating-$IDX -d -m -L mono MinoRatingPlugin.exe
    sleep 2
    ln screenlog.0 ../logs/minorating$IDX.log
    cd ..
  fi

  if test -z "$M" -o "$M" = "MRC"; then
    if test "$IDX" = "0"; then
      # minorating cache
      echo "Starting minorating cache"
      cd minorating/MRAuthCache
      screen -S mr-cache -d -m -L ./MRAuthCache_Linux
      sleep 2
      cd ../..
    fi
  fi

  if test -z "$M" -o "$M" = "AC"; then
    # ac server
    echo "Starting AC server $IDX"
    cd acserver
    test -d wd$IDX || mkdir wd$IDX
    cd wd$IDX
    ln -sf ../content .
    ln -sf ../system .
    test -d results || mkdir results
    chmod 0755 results
    test -f screenlog.0 && rm screenlog.0
    mv ../../logs/acserver$IDX.log screenlog.0
    echo "-------------------------------------" >> screenlog.0
    echo "RESTART" >> screenlog.0
    echo "-------------------------------------" >> screenlog.0
    ionice -n 0 screen -S acserver-$IDX -d -m -L sh -c "../acServer -c=../../cfg$IDX/server_cfg.ini -e=../../cfg$IDX/entry_list.ini | ts \\\'{%F %T}:'"
    sleep 2
    ln screenlog.0 ../../logs/acserver$IDX.log
    cd ..
    #this is done from cronjob now
    #echo "Renicing acServer processes."
    #renice -n -18 -p $(ps h -o pid -C acServer)
  fi

  sleep 2

  screen -ls
fi



                            
stop.sh
#!/bin/sh
#
# stops running instances started with start.sh. See start.sh for usage.

IDX="$1"
M="$2"

if test -z "$1"; then
  echo "Supply server index as argument (sarting with 0)"
else
  if test -z "$M" -o "$M" = "AC"; then
    echo "Stopping AC server $IDX"
    screen -X -S acserver-$IDX quit
  fi
  if test -z "$M" -o "$M" = "ST"; then
    echo "Stopping stracker $IDX"
    screen -X -S stracker-$IDX quit
  fi
  if test -z "$M" -o "$M" = "MR"; then
    echo "Stopping minorating $IDX"
    screen -X -S minorating-$IDX quit
  fi
  if test -z "$M" -o "$M" = "MRC"; then
    if test "$IDX" = 0; then
      echo "Stopping minorating cache"
      screen -X -S mr-cache quit
    fi
  fi
  sleep 2
  screen -ls
fi