Ignore:
Timestamp:
Nov 14, 2023, 6:40:06 PM (12 months ago)
Author:
alloc
Message:

Scripts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • scripts/usr/local/lib/7dtd/commands/instances.sh

    r481 r483  
    1818
    1919sdtdSubcommandInstancesList() {
    20         printf "%-*s | %-*s | %-*s | %-*s\n" 20 "Instance name" 8 "Running" 7 "Players" 5 "Port"
    21         printf -v line "%*s-+-%*s-+-%*s-+-%*s\n" 20 " " 8 " " 7 " " 5 " "
     20        printf "%-*s | %-*s | %-*s | %-*s | %-*s | %-*s\n" 20 "Instance name" 8 "Running" 7 "Players" 9 "Game Port" 11 "Dashb. Port" 6 "Telnet"
     21        printf -v line "%*s-+-%*s-+-%*s-+-%*s-+-%*s-+-%*s\n" 20 " " 8 " " 7 " " 9 " " 11 " " 6 " "
    2222        echo ${line// /-}
    2323        for I in $(getInstanceList); do
     
    3535                max=$(getConfigValue $I ServerMaxPlayerCount)
    3636                port=$(getConfigValue $I ServerPort)
    37 
    38                 printf "%-*s | %*s |   %2s/%2d | %5d\n" 20 "$I" 8 "$run" $cur $max $port
     37                cpState="disabled"
     38                if [ "$(getConfigValue $I WebDashboardEnabled)" = "true" ]; then
     39                        cpState="$(getConfigValue $I WebDashboardPort)"
     40                fi
     41                telnet=$(getConfigValue $I TelnetPort)
     42
     43                printf "%-*s | %*s |   %2s/%2d | %9d | %*s | %*s\n" 20 "$I" 8 "$run" $cur $max $port 11 "$cpState" 6 "$telnet"
    3944        done
    4045}
     
    136141        local INSTANCE=$1
    137142        local IPATH=$(getInstancePath "$INSTANCE")
    138         cat $IPATH/config.xml
     143        xmlstarlet sel -t -m "//property" -v "@name" -o " = " -v "@value" -nl $IPATH/config.xml | sort
     144}
     145
     146sdtdSubcommandInstancesPrintXml() {
     147        if [ $(isValidInstance "$1") -eq 0 ]; then
     148                echo "No instance given or not a valid instance!"
     149                return
     150        fi
     151               
     152        local INSTANCE=$1
     153        local IPATH=$(getInstancePath "$INSTANCE")
     154       
     155        which pygmentize > /dev/null 2>&1
     156        if [ $? -eq 0 ]; then
     157                cat $IPATH/config.xml | pygmentize -l xml
     158        else
     159                cat $IPATH/config.xml
     160        fi
    139161}
    140162
     
    158180                        sdtdSubcommandInstancesPrintConfig "$@"
    159181                        ;;
     182                print_xml)
     183                        sdtdSubcommandInstancesPrintXml "$@"
     184                        ;;
    160185                *)
    161186                        sdtdCommandInstancesHelp
     
    175200        line "edit <instance>" "Edit an existing instance"
    176201        line "delete <instance>" "Delete an existing instance"
     202        line "print_config <instance>" "Print the current config of the instance to the console"
     203        line "print_xml <instance>" "Print the config XML as is"
    177204}
    178205
     
    184211        case $1 in
    185212                2)
    186                         echo "list create edit delete print_config"
     213                        echo "list create edit delete print_config print_xml"
    187214                        ;;
    188215                3)
    189216                        case $2 in
    190                                 edit|delete|print_config)
     217                                edit|delete|print_config|print_xml)
    191218                                        echo "$(getInstanceList)"
    192219                                        ;;
Note: See TracChangeset for help on using the changeset viewer.