theendsofinvention / esst

MIT License
4 stars 0 forks source link

Not reading ESST.ini file #205

Open Count0Int opened 4 years ago

Count0Int commented 4 years ago

This probably isn't an issue as it is a user error, so sorry for posting here, but couldn't find another place to put the question.

I got everything working using your instructions, mostly.

I am trying to start ESST, and it gives an error about values not being set. I am thinking it is due to the esst.ini file I created not being read. I created a folder that contains the esst.ini file, and can run esst from inside that folder, so I think pathing and other things are correct.

Any idea what this might be?

Cheers!

Error here:

ESST.zip

File "c:\users\media\miniconda3\envs\esst\lib\site-packages\elib_config_validate.py", line 34, in validate_config raise MissingValueError(str(missing_values), 'missing config value(s)') elib_config._value._exc.MissingValueError: {'discord.channel', 'dcs.install_path', 'discord.token', 'dcs_server.name'}: missing config value(s) Sentry is attempting to send 1 pending error messages

theendsofinvention commented 4 years ago

Hi,

Can you try with the following config instead?

[main]
DEBUG = true
SAVED_GAMES_DIR = C:\Users\media\Saved Games\DCS.openbeta_server

[dcs]
PATH = C:\Games\DCS World OpenBeta Server\bin\dcs.exe
SERVER_NAME = Mojo's DCS Clear Field
SERVER_PASSWORD = agw
SERVER_MAX_PLAYERS = 20
DCS_SERVER_STARTUP_TIME = 60
DCS_PING_INTERVAL = 20
Count0Int commented 4 years ago

Hi,

Thanks for the quick reply.

I just pasted in that .ini file contents and get the same results...

End of log:

File "c:\users\media\miniconda3\envs\esst\lib\site-packages\esst\config.py", line 51, in init elib_config.validate_config() File "c:\users\media\miniconda3\envs\esst\lib\site-packages\elib_config_validate.py", line 34, in validate_config raise MissingValueError(str(missing_values), 'missing config value(s)') elib_config._value._exc.MissingValueError: {'dcs_server.name', 'dcs.install_path', 'discord.token', 'discord.channel'}: missing config value(s) Sentry is attempting to send 1 pending error messages Waiting up to 10 seconds Press Ctrl-Break to quit

On Sat, May 9, 2020 at 10:43 AM etcher notifications@github.com wrote:

Hi,

Can you try with the following config instead?

[main] DEBUG = true SAVED_GAMES_DIR = C:\Users\media\Saved Games\DCS.openbeta_server

[dcs] PATH = C:\Games\DCS World OpenBeta Server\bin\dcs.exe SERVER_NAME = Mojo's DCS Clear Field SERVER_PASSWORD = agw SERVER_MAX_PLAYERS = 20 DCS_SERVER_STARTUP_TIME = 60 DCS_PING_INTERVAL = 20

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/theendsofinvention/esst/issues/205#issuecomment-626203459, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIXBQRYRRHWI6FXEO7BWE6TRQWB2BANCNFSM4M43V6NQ .

theendsofinvention commented 4 years ago

My apologies, I was wrong.

This project has been abandoned for a couple of years so I don't remember all the specifics.

The config file should be named esst.toml.

Here is the correct syntax for it (this is a template and will need to be changed to match your setup):

# ESST 2018.4.28.2.dev73+g110b453.d20180819.
# 
# WARNING: this example file will be overwritten every time ESST starts.
# Make sure to save your work and rename the file when you are done!
# 
# It must be renamed to "esst.toml" in order to come into effect.
# 
# The full TOML specification can be found at: https://github.com/toml-lang/toml
# ####################################################################
# 
# 
# START OF ACTUAL CONFIG FILE

[atis]
# create ATIS mp3 files when starting ESST
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# create = true

# When generating the weather from a MIZ file, there is no way to know what ICAO to use.By default, ESST will use the "XXXX" ICAO to indicate that. However, that generates weather reports fro "unknown airport (XXXX)". To avoid that, you can define a fallback value for the ICAO, using a "dummy" ICAO for MIZ generated weathers.
# value type: string
# example = "some text inside double quotes"
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# default_icao = "XXXX"

# Path to UR config folder (usually found in Saved Games)
# value type: string
# example = "some text inside double quotes"
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# ur_path = ""

[dcs]
# List of (logical) cores (as integers) to set DCS affinity to. Examples for logical cores 5 & 7 of a 4 physical cores CPU: [4, 6]
# value type: array of integers
# Array elements must be type: integer
# example = [1, 2, 3, 4, 5] # A list of integers
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# affinity = []

# Owner of the Github repository to grab the latest MIZ file from
# value type: string
# example = "some text inside double quotes"
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# auto_mission_gh_owner = ""

# Github repository to grab the latest MIZ file from
# value type: string
# example = "some text inside double quotes"
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# auto_mission_gh_repo = ""

# Allow DCS to start
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# can_start = true

# Amount of time, in seconds, given for DCS to close itself gracefully. Passed that delay, the dcs.exe process will be forcefully killed.
# value type: integer
# example = 10
# example = 0
# example = -5
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# close_grace_period = 30

# Enable DCS starting & monitoring
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# enable = true

# Enable pulling latest version of a mission from Github
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# enable_auto_mission = false

# Threshold for high CPU usage alert (in percent). Set to 0 to disable alerts.
# value type: integer
# example = 10
# example = 0
# example = -5
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# high_cpu_usage = 0

# Interval in seconds between high DCS CPU usage (in seconds).
# value type: integer
# example = 10
# example = 0
# example = -5
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# high_cpu_usage_check_interval = 5

# Expected maximum CPU usage (in percent) of an idling dcs.exe process.
# value type: integer
# example = 10
# example = 0
# example = -5
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# idle_cpu_usage = 5

# Install dedicated.lua config script at startup
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# install_dedicated_config = true

# Install DCS API hook LUA script at startup
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# install_hooks = true

# Installation path of DCS.
# value type: string
# example = "some text inside double quotes"
# MANDATORY CONFIG VALUE: you *must* provide a value for this setting
# 
install_path = 

# Set a maximum age (in days) for DCS logs to be kept. Set to 0 to disable.
# value type: integer
# example = 10
# example = 0
# example = -5
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# max_log_age = 0

# Interval, in seconds, between pings to check if DCS is alive & healthy
# value type: integer
# example = 10
# example = 0
# example = -5
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# ping_interval = 30

# CPU priority for the DCS process (valid values are: "idle", "below_normal", "normal", "above_normal", "high", and "realtime"
# value type: string
# example = "some text inside double quotes"
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# priority = "high"

# Amount of time, in seconds, given for DCS to start. Passed that delay, the DCS.exe will beconsidered "hung" and restarted.
# value type: integer
# example = 10
# example = 0
# example = -5
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# start_grace_period = 150

[dcs_server]
name = 
[dcs_server.allow]
# Allow players to change their own skin.
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# change_skin = true

# Allow players to change their own tail number.
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# change_tail_number = true

[dcs_server.connection]
# Binds the DCS server to a specific network interface (leave empty to allow all interfaces).
# value type: string
# example = "some text inside double quotes"
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# bind_address = ""

# Limit, in bytes, for client inbound rate (0 means deactivated).
# value type: integer
# example = 10
# example = 0
# example = -5
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# inbound_rate_limit = 0

# Maximum allowed client ping in milliseconds (0 to disable).
# value type: integer
# example = 10
# example = 0
# example = -5
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# max_ping = 0

# Limit, in bytes, for client outbound rate (0 means deactivated).
# value type: integer
# example = 10
# example = 0
# example = -5
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# outbound_rate_limit = 0

# Port the DCS server will be listening to.
# value type: string
# example = "some text inside double quotes"
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# port = "10308"

# DCS server description (WARNING: this seems to be an undocumented DCS feature; use at your own risk)
# value type: string
# example = "some text inside double quotes"
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# description = ""

[dcs_server.export]
# Allow export of data about objects in DCS World.
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# objects = true

# Allow export of data about players own aircraft.
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# own_ship = true

# Allow export of data from onboard sensors.
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# sensors = true

[dcs_server.integrity_check]
# Integrity check that prevents player from joining the server if they have modded scripts in the units database. Please see https://forums.eagle.ru/showthread.php?p=3387574 for more info about the integrity check
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# requires_pure_client = false

# Integrity check that prevents player from joining the server if they have modded models. Please see https://forums.eagle.ru/showthread.php?p=3387574 for more info about the integrity check
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# requires_pure_models = false

# Integrity check that prevents player from joining the server if they have modded textures. Please see https://forums.eagle.ru/showthread.php?p=3387574 for more info about the integrity check
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# requires_pure_textures = false

# Maximum amount of players allowed on the server at the same time.
# value type: integer
# example = 10
# example = 0
# example = -5
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# max_player_count = 16

# Public name of the DCS server.
# value type: string
# example = "some text inside double quotes"
# MANDATORY CONFIG VALUE: you *must* provide a value for this setting
# 

# Prevent players without password from connecting to the server.
# value type: string
# example = "some text inside double quotes"
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# password = ""

[dcs_server.pause]
# Start the server in a paused state.
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# on_load = false

# Select the "resume" (i.e. un-pause) behaviour for the server. 0: manually pause/un-pause, 1: un-pause on server start, 2: un-pause when a player connects to the server
# value type: integer
# example = 10
# example = 0
# example = -5
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# resume_mode = 1

# Automatically pause the server when the last client disconnects.
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# without_client = false

# Whether the server will be shown in the public multiplayer lobby or not (valid values: true, false)
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# public = true

[dcs_server.report]
# Display a server-wide message when a player connects to the server.
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# connection = true

# Display a server-wide message when a player crashes their own aircraft.
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# crash = false

# Display a server-wide message when a player ejects.
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# ejection = false

# Display a server-wide message when a player destroys another object.
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# kill = false

# Display a server-wide message when a player changes role.
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# role_change = false

# Display a server-wide message when a player takes off.
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# takeoff = false

# outputs debug messages to console
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# debug = false

[discord]
# Roles on your server that have admin privileges over the server through the bot
# value type: array of strings
# Array elements must be type: string
# example = ["a", "b", "c", "d e"] # A list of strings
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# admin_roles = []

# Name of the discord bot
# value type: string
# example = "some text inside double quotes"
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# bot_name = "Mr Shiny"

# Name of the Discord channel the bot should join
# value type: string
# example = "some text inside double quotes"
# MANDATORY CONFIG VALUE: you *must* provide a value for this setting
# 
channel = 

# Enable the Discord bot
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# enable = true

# "Message of the day" that will be printed when the bot joins a Discord channel
# value type: string
# example = "some text inside double quotes"
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# motd = ""

# Discord bot token
# value type: string
# example = "some text inside double quotes"
# MANDATORY CONFIG VALUE: you *must* provide a value for this setting
# 
token = 

[listener]
# Enable the socket daemon used to communicate with DCS
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# enable = true

# Path to the "Saved Games" folder (no trailing "DCS")
# value type: string
# example = "some text inside double quotes"
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# saved_games_folder = ""

[server]
# Enable server monitoring
# value type: boolean
# "true" and "false" are the only valid boolean values
# example = true
# example = false
# Setting this value is not required; you can leave it commented out.
# The default value (the one that will be used if you do not provide another) is shown below:
# 
# enable = true
Count0Int commented 4 years ago

Thanks for the response, much appreciated.

I was wondering if it was still supported, noticed the recent submits were pretty old.

I will work with this file and let you know how it goes.

Cheers!

bret

On Sat, May 9, 2020 at 11:07 AM etcher notifications@github.com wrote:

My apologies, I was wrong.

This project has been abandoned for a couple of years so I don't remember all the specifics.

The config file should be named esst.toml.

Here is the correct syntax for it (this is a template and will need to be changed to match your setup):

ESST 2018.4.28.2.dev73+g110b453.d20180819.

#

WARNING: this example file will be overwritten every time ESST starts.

Make sure to save your work and rename the file when you are done!

#

It must be renamed to "esst.toml" in order to come into effect.

#

The full TOML specification can be found at: https://github.com/toml-lang/toml

# #

START OF ACTUAL CONFIG FILE

[atis]

create ATIS mp3 files when starting ESST

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

create = true

When generating the weather from a MIZ file, there is no way to know what ICAO to use.By default, ESST will use the "XXXX" ICAO to indicate that. However, that generates weather reports fro "unknown airport (XXXX)". To avoid that, you can define a fallback value for the ICAO, using a "dummy" ICAO for MIZ generated weathers.

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

default_icao = "XXXX"

Path to UR config folder (usually found in Saved Games)

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

ur_path = ""

[dcs]

List of (logical) cores (as integers) to set DCS affinity to. Examples for logical cores 5 & 7 of a 4 physical cores CPU: [4, 6]

value type: array of integers

Array elements must be type: integer

example = [1, 2, 3, 4, 5] # A list of integers

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

affinity = []

Owner of the Github repository to grab the latest MIZ file from

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

auto_mission_gh_owner = ""

Github repository to grab the latest MIZ file from

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

auto_mission_gh_repo = ""

Allow DCS to start

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

can_start = true

Amount of time, in seconds, given for DCS to close itself gracefully. Passed that delay, the dcs.exe process will be forcefully killed.

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

close_grace_period = 30

Enable DCS starting & monitoring

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

enable = true

Enable pulling latest version of a mission from Github

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

enable_auto_mission = false

Threshold for high CPU usage alert (in percent). Set to 0 to disable alerts.

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

high_cpu_usage = 0

Interval in seconds between high DCS CPU usage (in seconds).

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

high_cpu_usage_check_interval = 5

Expected maximum CPU usage (in percent) of an idling dcs.exe process.

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

idle_cpu_usage = 5

Install dedicated.lua config script at startup

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

install_dedicated_config = true

Install DCS API hook LUA script at startup

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

install_hooks = true

Installation path of DCS.

value type: string

example = "some text inside double quotes"

MANDATORY CONFIG VALUE: you must provide a value for this setting

# install_path =

Set a maximum age (in days) for DCS logs to be kept. Set to 0 to disable.

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

max_log_age = 0

Interval, in seconds, between pings to check if DCS is alive & healthy

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

ping_interval = 30

CPU priority for the DCS process (valid values are: "idle", "below_normal", "normal", "above_normal", "high", and "realtime"

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

priority = "high"

Amount of time, in seconds, given for DCS to start. Passed that delay, the DCS.exe will beconsidered "hung" and restarted.

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

start_grace_period = 150

[dcs_server] name = [dcs_server.allow]

Allow players to change their own skin.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

change_skin = true

Allow players to change their own tail number.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

change_tail_number = true

[dcs_server.connection]

Binds the DCS server to a specific network interface (leave empty to allow all interfaces).

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

bind_address = ""

Limit, in bytes, for client inbound rate (0 means deactivated).

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

inbound_rate_limit = 0

Maximum allowed client ping in milliseconds (0 to disable).

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

max_ping = 0

Limit, in bytes, for client outbound rate (0 means deactivated).

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

outbound_rate_limit = 0

Port the DCS server will be listening to.

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

port = "10308"

DCS server description (WARNING: this seems to be an undocumented DCS feature; use at your own risk)

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

description = ""

[dcs_server.export]

Allow export of data about objects in DCS World.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

objects = true

Allow export of data about players own aircraft.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

own_ship = true

Allow export of data from onboard sensors.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

sensors = true

[dcs_server.integrity_check]

Integrity check that prevents player from joining the server if they have modded scripts in the units database. Please see https://forums.eagle.ru/showthread.php?p=3387574 for more info about the integrity check

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

requires_pure_client = false

Integrity check that prevents player from joining the server if they have modded models. Please see https://forums.eagle.ru/showthread.php?p=3387574 for more info about the integrity check

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

requires_pure_models = false

Integrity check that prevents player from joining the server if they have modded textures. Please see https://forums.eagle.ru/showthread.php?p=3387574 for more info about the integrity check

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

requires_pure_textures = false

Maximum amount of players allowed on the server at the same time.

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

max_player_count = 16

Public name of the DCS server.

value type: string

example = "some text inside double quotes"

MANDATORY CONFIG VALUE: you must provide a value for this setting

#

Prevent players without password from connecting to the server.

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

password = ""

[dcs_server.pause]

Start the server in a paused state.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

on_load = false

Select the "resume" (i.e. un-pause) behaviour for the server. 0: manually pause/un-pause, 1: un-pause on server start, 2: un-pause when a player connects to the server

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

resume_mode = 1

Automatically pause the server when the last client disconnects.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

without_client = false

Whether the server will be shown in the public multiplayer lobby or not (valid values: true, false)

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

public = true

[dcs_server.report]

Display a server-wide message when a player connects to the server.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

connection = true

Display a server-wide message when a player crashes their own aircraft.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

crash = false

Display a server-wide message when a player ejects.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

ejection = false

Display a server-wide message when a player destroys another object.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

kill = false

Display a server-wide message when a player changes role.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

role_change = false

Display a server-wide message when a player takes off.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

takeoff = false

outputs debug messages to console

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

debug = false

[discord]

Roles on your server that have admin privileges over the server through the bot

value type: array of strings

Array elements must be type: string

example = ["a", "b", "c", "d e"] # A list of strings

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

admin_roles = []

Name of the discord bot

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

bot_name = "Mr Shiny"

Name of the Discord channel the bot should join

value type: string

example = "some text inside double quotes"

MANDATORY CONFIG VALUE: you must provide a value for this setting

# channel =

Enable the Discord bot

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

enable = true

"Message of the day" that will be printed when the bot joins a Discord channel

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

motd = ""

Discord bot token

value type: string

example = "some text inside double quotes"

MANDATORY CONFIG VALUE: you must provide a value for this setting

# token =

[listener]

Enable the socket daemon used to communicate with DCS

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

enable = true

Path to the "Saved Games" folder (no trailing "DCS")

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

saved_games_folder = ""

[server]

Enable server monitoring

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

enable = true

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/theendsofinvention/esst/issues/205#issuecomment-626206815, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIXBQR2BSOFLVDIBT2ZRYFDRQWETNANCNFSM4M43V6NQ .

Count0Int commented 4 years ago

Lots of configuration options in the TOML file, that will be nice.

I got the basics setup, I think, but it is throwing a parsing error.

If you don't have time to look at this, I understand, but thought I would send it to you.

My toml and logfile is attached, and here is the output when esst is run:

return tomlkit.parse(stream.read())

File "c:\users\media\miniconda3\envs\esst\lib\site-packages\tomlkit\api.py", line 51, in parse return Parser(string).parse() File "c:\users\media\miniconda3\envs\esst\lib\site-packages\tomlkit\parser.py", line 153, in parse key, value = self._parse_table() File "c:\users\media\miniconda3\envs\esst\lib\site-packages\tomlkit\parser.py", line 1053, in _parse_table item = self._parse_item() File "c:\users\media\miniconda3\envs\esst\lib\site-packages\tomlkit\parser.py", line 302, in _parse_item return self._parse_key_value(True) File "c:\users\media\miniconda3\envs\esst\lib\site-packages\tomlkit\parser.py", line 387, in _parse_key_value val = self._parse_value() File "c:\users\media\miniconda3\envs\esst\lib\site-packages\tomlkit\parser.py", line 516, in _parse_value return self._parse_basic_string() File "c:\users\media\miniconda3\envs\esst\lib\site-packages\tomlkit\parser.py", line 777, in _parse_basic_string return self._parse_string(StringType.SLB) File "c:\users\media\miniconda3\envs\esst\lib\site-packages\tomlkit\parser.py", line 894, in _parse_string value += self._parse_escaped_char(delim.is_multiline()) File "c:\users\media\miniconda3\envs\esst\lib\site-packages\tomlkit\parser.py", line 822, in _parse_escaped_char raise self.parse_error(InvalidCharInStringError, self._current) tomlkit.exceptions.InvalidCharInStringError: Invalid character 'G' in string at line 163 col 19 Sentry is attempting to send 1 pending error messages Waiting up to 10 seconds Press Ctrl-Break to quit

On Sat, May 9, 2020 at 11:35 AM Bret Rowlinson bret@rowlinson.ca wrote:

Thanks for the response, much appreciated.

I was wondering if it was still supported, noticed the recent submits were pretty old.

I will work with this file and let you know how it goes.

Cheers!

bret

On Sat, May 9, 2020 at 11:07 AM etcher notifications@github.com wrote:

My apologies, I was wrong.

This project has been abandoned for a couple of years so I don't remember all the specifics.

The config file should be named esst.toml.

Here is the correct syntax for it (this is a template and will need to be changed to match your setup):

ESST 2018.4.28.2.dev73+g110b453.d20180819.

#

WARNING: this example file will be overwritten every time ESST starts.

Make sure to save your work and rename the file when you are done!

#

It must be renamed to "esst.toml" in order to come into effect.

#

The full TOML specification can be found at: https://github.com/toml-lang/toml

# #

START OF ACTUAL CONFIG FILE

[atis]

create ATIS mp3 files when starting ESST

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

create = true

When generating the weather from a MIZ file, there is no way to know what ICAO to use.By default, ESST will use the "XXXX" ICAO to indicate that. However, that generates weather reports fro "unknown airport (XXXX)". To avoid that, you can define a fallback value for the ICAO, using a "dummy" ICAO for MIZ generated weathers.

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

default_icao = "XXXX"

Path to UR config folder (usually found in Saved Games)

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

ur_path = ""

[dcs]

List of (logical) cores (as integers) to set DCS affinity to. Examples for logical cores 5 & 7 of a 4 physical cores CPU: [4, 6]

value type: array of integers

Array elements must be type: integer

example = [1, 2, 3, 4, 5] # A list of integers

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

affinity = []

Owner of the Github repository to grab the latest MIZ file from

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

auto_mission_gh_owner = ""

Github repository to grab the latest MIZ file from

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

auto_mission_gh_repo = ""

Allow DCS to start

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

can_start = true

Amount of time, in seconds, given for DCS to close itself gracefully. Passed that delay, the dcs.exe process will be forcefully killed.

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

close_grace_period = 30

Enable DCS starting & monitoring

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

enable = true

Enable pulling latest version of a mission from Github

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

enable_auto_mission = false

Threshold for high CPU usage alert (in percent). Set to 0 to disable alerts.

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

high_cpu_usage = 0

Interval in seconds between high DCS CPU usage (in seconds).

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

high_cpu_usage_check_interval = 5

Expected maximum CPU usage (in percent) of an idling dcs.exe process.

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

idle_cpu_usage = 5

Install dedicated.lua config script at startup

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

install_dedicated_config = true

Install DCS API hook LUA script at startup

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

install_hooks = true

Installation path of DCS.

value type: string

example = "some text inside double quotes"

MANDATORY CONFIG VALUE: you must provide a value for this setting

# install_path =

Set a maximum age (in days) for DCS logs to be kept. Set to 0 to disable.

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

max_log_age = 0

Interval, in seconds, between pings to check if DCS is alive & healthy

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

ping_interval = 30

CPU priority for the DCS process (valid values are: "idle", "below_normal", "normal", "above_normal", "high", and "realtime"

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

priority = "high"

Amount of time, in seconds, given for DCS to start. Passed that delay, the DCS.exe will beconsidered "hung" and restarted.

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

start_grace_period = 150

[dcs_server] name = [dcs_server.allow]

Allow players to change their own skin.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

change_skin = true

Allow players to change their own tail number.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

change_tail_number = true

[dcs_server.connection]

Binds the DCS server to a specific network interface (leave empty to allow all interfaces).

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

bind_address = ""

Limit, in bytes, for client inbound rate (0 means deactivated).

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

inbound_rate_limit = 0

Maximum allowed client ping in milliseconds (0 to disable).

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

max_ping = 0

Limit, in bytes, for client outbound rate (0 means deactivated).

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

outbound_rate_limit = 0

Port the DCS server will be listening to.

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

port = "10308"

DCS server description (WARNING: this seems to be an undocumented DCS feature; use at your own risk)

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

description = ""

[dcs_server.export]

Allow export of data about objects in DCS World.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

objects = true

Allow export of data about players own aircraft.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

own_ship = true

Allow export of data from onboard sensors.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

sensors = true

[dcs_server.integrity_check]

Integrity check that prevents player from joining the server if they have modded scripts in the units database. Please see https://forums.eagle.ru/showthread.php?p=3387574 for more info about the integrity check

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

requires_pure_client = false

Integrity check that prevents player from joining the server if they have modded models. Please see https://forums.eagle.ru/showthread.php?p=3387574 for more info about the integrity check

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

requires_pure_models = false

Integrity check that prevents player from joining the server if they have modded textures. Please see https://forums.eagle.ru/showthread.php?p=3387574 for more info about the integrity check

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

requires_pure_textures = false

Maximum amount of players allowed on the server at the same time.

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

max_player_count = 16

Public name of the DCS server.

value type: string

example = "some text inside double quotes"

MANDATORY CONFIG VALUE: you must provide a value for this setting

#

Prevent players without password from connecting to the server.

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

password = ""

[dcs_server.pause]

Start the server in a paused state.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

on_load = false

Select the "resume" (i.e. un-pause) behaviour for the server. 0: manually pause/un-pause, 1: un-pause on server start, 2: un-pause when a player connects to the server

value type: integer

example = 10

example = 0

example = -5

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

resume_mode = 1

Automatically pause the server when the last client disconnects.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

without_client = false

Whether the server will be shown in the public multiplayer lobby or not (valid values: true, false)

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

public = true

[dcs_server.report]

Display a server-wide message when a player connects to the server.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

connection = true

Display a server-wide message when a player crashes their own aircraft.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

crash = false

Display a server-wide message when a player ejects.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

ejection = false

Display a server-wide message when a player destroys another object.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

kill = false

Display a server-wide message when a player changes role.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

role_change = false

Display a server-wide message when a player takes off.

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

takeoff = false

outputs debug messages to console

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

debug = false

[discord]

Roles on your server that have admin privileges over the server through the bot

value type: array of strings

Array elements must be type: string

example = ["a", "b", "c", "d e"] # A list of strings

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

admin_roles = []

Name of the discord bot

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

bot_name = "Mr Shiny"

Name of the Discord channel the bot should join

value type: string

example = "some text inside double quotes"

MANDATORY CONFIG VALUE: you must provide a value for this setting

# channel =

Enable the Discord bot

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

enable = true

"Message of the day" that will be printed when the bot joins a Discord channel

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

motd = ""

Discord bot token

value type: string

example = "some text inside double quotes"

MANDATORY CONFIG VALUE: you must provide a value for this setting

# token =

[listener]

Enable the socket daemon used to communicate with DCS

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

enable = true

Path to the "Saved Games" folder (no trailing "DCS")

value type: string

example = "some text inside double quotes"

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

saved_games_folder = ""

[server]

Enable server monitoring

value type: boolean

"true" and "false" are the only valid boolean values

example = true

example = false

Setting this value is not required; you can leave it commented out.

The default value (the one that will be used if you do not provide another) is shown below:

#

enable = true

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/theendsofinvention/esst/issues/205#issuecomment-626206815, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIXBQR2BSOFLVDIBT2ZRYFDRQWETNANCNFSM4M43V6NQ .

theendsofinvention commented 4 years ago

I do not see your config file attached, but this is the interesting bit:

tomlkit.exceptions.InvalidCharInStringError: Invalid character 'G' in
string at line 163 col 19
Count0Int commented 4 years ago

Sorry, didn't attach.

zip should be here.

If the error is referring to the TOML file, then the line is this:

install_path = "C:\Games\DCS World OpenBeta Server"

But the 19th char is the :

bret

p.s. if file doesn't come through, then the github email must be stripping it and I can throw it into pastebin or something.

On Sat, May 9, 2020 at 4:46 PM etcher notifications@github.com wrote:

I do not see your config file attached, but this is the interesting bit:

tomlkit.exceptions.InvalidCharInStringError: Invalid character 'G' in string at line 163 col 19

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/theendsofinvention/esst/issues/205#issuecomment-626245373, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIXBQR4Y5IEMO777652L7EDRQXMK7ANCNFSM4M43V6NQ .

Count0Int commented 4 years ago

Hello,

I made some progress. Something is a bit odd with the TOML file. I couldn't see an issue, so I switched to single quotes around the path and that fixed that error. Load is getting farther along now, but looks like it is failing at the Discord step.

Console snippet here:

  6749 ms     MainProcess      MainThread     INFO ESST

[c:\users\media\miniconda3\envs\esst\lib\site-packages\esst\atis\init.py@18 init_atis_module]: initializing ATIS module Traceback (most recent call last): File "c:\users\media\miniconda3\envs\esst\lib\runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "c:\users\media\miniconda3\envs\esst\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Users\media\miniconda3\envs\ESST\Scripts\esst.exe__main.py", line 7, in File "c:\users\media\miniconda3\envs\esst\lib\site-packages\click\core.py", line 829, in call return self.main(args, kwargs) File "c:\users\media\miniconda3\envs\esst\lib\site-packages\click\core.py", line 782, in main rv = self.invoke(ctx) File "c:\users\media\miniconda3\envs\esst\lib\site-packages\click\core.py", line 1236, in invoke return Command.invoke(self, ctx) File "c:\users\media\miniconda3\envs\esst\lib\site-packages\click\core.py", line 1066, in invoke return ctx.invoke(self.callback, ctx.params) File "c:\users\media\miniconda3\envs\esst\lib\site-packages\click\core.py", line 610, in invoke return callback(args, **kwargs) File "c:\users\media\miniconda3\envs\esst\lib\site-packages\esst\main__.py", line 121, in main import esst.discord_bot.discord_bot File "c:\users\media\miniconda3\envs\esst\lib\site-packages\esst\discord_bot\discord_bot.py", line 11, in import aiohttp.errors ModuleNotFoundError: No module named 'aiohttp.errors' Sentry is attempting to send 1 pending error messages Waiting up to 10 seconds

On Sat, May 9, 2020 at 6:16 PM Bret Rowlinson bret@rowlinson.ca wrote:

Sorry, didn't attach.

zip should be here.

If the error is referring to the TOML file, then the line is this:

install_path = "C:\Games\DCS World OpenBeta Server"

But the 19th char is the :

bret

p.s. if file doesn't come through, then the github email must be stripping it and I can throw it into pastebin or something.

On Sat, May 9, 2020 at 4:46 PM etcher notifications@github.com wrote:

I do not see your config file attached, but this is the interesting bit:

tomlkit.exceptions.InvalidCharInStringError: Invalid character 'G' in string at line 163 col 19

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/theendsofinvention/esst/issues/205#issuecomment-626245373, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIXBQR4Y5IEMO777652L7EDRQXMK7ANCNFSM4M43V6NQ .

Count0Int commented 4 years ago

Sorry, one quick additional thing.

It looks like there is a dependency issue. The line in discord_bot.py that is erroring out is:

import aiohttp.errors

Here is the start of the console log, that shows things starting to work I think:

(ESST) C:\Games\ESST>esst 240 ms MainProcess MainThread INFO ESST [c:\users\media\miniconda3\envs\esst\lib\site-packages\esst\sentry\sentry.py@24 init]: initializing Sentry 243 ms MainProcess MainThread INFO ESST [c:\users\media\miniconda3\envs\esst\lib\site-packages\esst\sentry\sentry.py@34 init]: Sentry is ready 6687 ms MainProcess MainThread WARNING ESST [c:\users\media\miniconda3\envs\esst\lib\site-packages\esst\utils\remove_old_files.py@65 clean_all_folder]: removal of old files has been temporarily disabled 6718 ms MainProcess MainThread INFO ESST [c:\users\media\miniconda3\envs\esst\lib\site-packages\esst\atis\init.py@18 init_atis_module]: initializing ATIS module Traceback (most recent call last): File "c:\users\media\miniconda3\envs\esst\lib\runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "c:\users\media\miniconda3\envs\esst\lib\runpy.py", line 85, in _run_code

On Mon, May 11, 2020 at 4:18 PM Bret Rowlinson bret@rowlinson.ca wrote:

Hello,

I made some progress. Something is a bit odd with the TOML file. I couldn't see an issue, so I switched to single quotes around the path and that fixed that error. Load is getting farther along now, but looks like it is failing at the Discord step.

Console snippet here:

  6749 ms     MainProcess      MainThread     INFO ESST

[c:\users\media\miniconda3\envs\esst\lib\site-packages\esst\atis\init.py@18 init_atis_module]: initializing ATIS module Traceback (most recent call last): File "c:\users\media\miniconda3\envs\esst\lib\runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "c:\users\media\miniconda3\envs\esst\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Users\media\miniconda3\envs\ESST\Scripts\esst.exe__main.py", line 7, in File "c:\users\media\miniconda3\envs\esst\lib\site-packages\click\core.py", line 829, in call return self.main(args, kwargs) File "c:\users\media\miniconda3\envs\esst\lib\site-packages\click\core.py", line 782, in main rv = self.invoke(ctx) File "c:\users\media\miniconda3\envs\esst\lib\site-packages\click\core.py", line 1236, in invoke return Command.invoke(self, ctx) File "c:\users\media\miniconda3\envs\esst\lib\site-packages\click\core.py", line 1066, in invoke return ctx.invoke(self.callback, ctx.params) File "c:\users\media\miniconda3\envs\esst\lib\site-packages\click\core.py", line 610, in invoke return callback(args, **kwargs) File "c:\users\media\miniconda3\envs\esst\lib\site-packages\esst\main__.py", line 121, in main import esst.discord_bot.discord_bot File "c:\users\media\miniconda3\envs\esst\lib\site-packages\esst\discord_bot\discord_bot.py", line 11, in import aiohttp.errors ModuleNotFoundError: No module named 'aiohttp.errors' Sentry is attempting to send 1 pending error messages Waiting up to 10 seconds

On Sat, May 9, 2020 at 6:16 PM Bret Rowlinson bret@rowlinson.ca wrote:

Sorry, didn't attach.

zip should be here.

If the error is referring to the TOML file, then the line is this:

install_path = "C:\Games\DCS World OpenBeta Server"

But the 19th char is the :

bret

p.s. if file doesn't come through, then the github email must be stripping it and I can throw it into pastebin or something.

On Sat, May 9, 2020 at 4:46 PM etcher notifications@github.com wrote:

I do not see your config file attached, but this is the interesting bit:

tomlkit.exceptions.InvalidCharInStringError: Invalid character 'G' in string at line 163 col 19

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/theendsofinvention/esst/issues/205#issuecomment-626245373, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIXBQR4Y5IEMO777652L7EDRQXMK7ANCNFSM4M43V6NQ .

Count0Int commented 4 years ago

Was replying via emails, so attachments didn't post. Please see attachment now.

Thanks.

esst.zip