Closed Alphakilo closed 4 years ago
arkmanager printconfig @instance
should print what file each option is found in.
As far as I know, the ARK server does not itself have an option to test its configuration and options.
This works to some extend: https://github.com/Alphakilo/ARK-Server-Tools-CI
It prints the entire config, at least the parameters, but returns exit code 0
even if things went south 😄
Provide nonsensical arkmanager.cfg
:
cat << EOF > /etc/arkmanager/arkmanager.cfg
bad_param
what even is this
unterminated_value="
;this shoudnt
be=here
EOF
Run arkmanager printconfig @all; echo $?
Some pointers as to what is wrong with the CFG printed to stderr
, exit-code >0
root@4abd03c7a081:~# arkmanager printconfig @all; echo $?
/etc/arkmanager/arkmanager.cfg: line 1: bad_param: command not found
/etc/arkmanager/arkmanager.cfg: line 2: what: command not found
/etc/arkmanager/arkmanager.cfg: line 3: unexpected EOF while looking for matching `"'
/etc/arkmanager/arkmanager.cfg: line 7: syntax error: unexpected end of file
/etc/arkmanager/arkmanager.cfg: line 1: bad_param: command not found
/etc/arkmanager/arkmanager.cfg: line 2: what: command not found
/etc/arkmanager/arkmanager.cfg: line 3: unexpected EOF while looking for matching `"'
/etc/arkmanager/arkmanager.cfg: line 7: syntax error: unexpected end of file
[ ERROR ] Your SteamCMD root seems not valid.
[ ERROR ] Your SteamCMD exec could not be found.
[ ERROR ] You do not permission to write to the log directory.
Running command 'printconfig' for instance 'main'
[ ERROR ] Your SteamCMD root seems not valid.
[ ERROR ] Your SteamCMD exec could not be found.
[ WARN ] Your ARK server exec could not be found.
[ ERROR ] You do not permission to write to the log directory.
/etc/arkmanager/instances/main.cfg => arkserverroot
/etc/arkmanager/instances/main.cfg => serverMap
/etc/arkmanager/instances/main.cfg => ark_RCONEnabled
/etc/arkmanager/instances/main.cfg => ark_RCONPort
/etc/arkmanager/instances/main.cfg => ark_SessionName
/etc/arkmanager/instances/main.cfg => ark_Port
/etc/arkmanager/instances/main.cfg => ark_QueryPort
/etc/arkmanager/instances/main.cfg => ark_ServerPassword
/etc/arkmanager/instances/main.cfg => ark_ServerAdminPassword
/etc/arkmanager/instances/main.cfg => ark_MaxPlayers
/etc/arkmanager/arkmanager.cfg: line 1: bad_param: command not found
/etc/arkmanager/arkmanager.cfg: line 2: what: command not found
/etc/arkmanager/arkmanager.cfg: line 3: unexpected EOF while looking for matching `"'
/etc/arkmanager/arkmanager.cfg: line 7: syntax error: unexpected end of file
/etc/arkmanager/arkmanager.cfg => unterminated_value
/etc/arkmanager/arkmanager.cfg: line 1: bad_param: command not found
/etc/arkmanager/arkmanager.cfg: line 2: what: command not found
/etc/arkmanager/arkmanager.cfg: line 3: unexpected EOF while looking for matching `"'
/etc/arkmanager/arkmanager.cfg: line 7: syntax error: unexpected end of file
/etc/arkmanager/arkmanager.cfg => be
0
$ (source <(echo x=2; echo bad config; echo y=4)); echo $?
bash: bad: command not found
0
$ (set -e; source <(echo x=2; echo bad config; echo y=4)); echo $?
bash: bad: command not found
127
dfeaf604a7c7a577e0c27fd63840ccbf87c02c32 adds a testconfig
command, which tries to source the config while errexit
is set.
ce9ef308f9cf11d812777bc4c8e4f5edade2b01f outputs the config warnings on stderr instead of stdout.
Just confirmed by installing via --unstable
, works perfectly! Thanks a bunch!
I've been tinkering to feed my ARK Servers configuration via CI/CD pipelines. It'd be great to have the configuration validated before being deployed to the server.