For now, I've started working on a toml configuration file instead of environment variables. I'm starting with the following structure, but I'm not committed to anything atm.
[ark]
install_folder = "/opt/arkserver"
# Special server configuration parameters
[ark.config]
map = "TheIsland_WP"
enable_battleye = true
# Main config flags, TheIsland_WP?listen?SessionName?...?
[ark.config.main]
SessionName = "My Awesome ASA Server"
ServerPassword = "MyServerPassword"
ServerAdminPassword = "MyArkAdminPassword"
Port = 7790
RCONPort = 32330
RCONEnabled = true
ServerCrosshair = true
OverrideOfficialDifficulty = 5.0
ShowFloatingDamageText = true
AllowFlyerCarryPve = true
# List of flags in the format -ThisIsMyFlag, e.g., -ForceAllowCaveFlyers
[ark.config.flags]
ForceAllowCaveFlyers = true
ForceRespawnDinos = true
# List of options in the format -ThisIsMyOpt=value, e.g., -ActiveEvent=Summer / -AllowRaidDinoFeeding=true
[ark.config.opts]
ActiveEvent = "Summer"
AllowRaidDinoFeeding = true
WinLiveMaxPlayers = 20
# Can probably keep that in external file
[ark.config.GameUserSettings.ServerSettings]
AutoSavePeriodMinutes = 15
# Can probably keep that in external file
[ark.config.Game."/script/shootergame/shootergamemode"]
MaxDifficulty = true
# Backup configuration settings
[ark.backup]
target_dir = "/var/backups/asa-server"
max_backup_size = "500MB" # Size in B, MB, GB. 0 for unlimited.
max_backup_number = "100" # Number of backup to store. 0 for unlimited.
# How to execute the ARK Ascended Server
[ark.exec]
start_type = "LINUX_PROTON" # LINUX_NATIVE / WINDOWS_NATIVE
# Static settings
[ark.advanced]
pid_file = "/opt/arkserver/.server.pid"
log_file = "/opt/arkserver/ShooterGame/Saved/Logs/ShooterGame.log"
[ark.proton]
start_command = "proton ShooterGame/Binaries/ArkAscendedServer.exe"
start_env = { STEAM_COMPAT_CLIENT_INSTALL_PATH = "/opt/proton", STEAM_COMPAT_DATA_PATH = "/home/proton" }
[steamcmd]
install_folder = "/opt/steamcmd"
user = "arkuser"
For now, I've started working on a
toml
configuration file instead of environment variables. I'm starting with the following structure, but I'm not committed to anything atm.