azixus / ARK_Ascended_Docker

Docker image to run an ARK Survival Ascended server on Linux
MIT License
61 stars 11 forks source link

Transform manager into a Python-based manager #20

Open azixus opened 1 year ago

azixus commented 1 year ago

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"