- dayz_arma2co_win32.xml: wrap post_install in CDATA to fix raw '<' breaking
XML parsing; fix dbPass generation to use portable tr form
- dayz_epoch_mod_win32.xml: same CDATA wrapping; replace < literals so
bash actually receives real '<' redirect characters
- config_servers.php: add config_games_sanitize_xml_scripts() that wraps bare
'<' in script-like nodes with CDATA before saving raw XML; add
config_games_script_node_names() helper; structured-editor save now uses
createCDATASection() for post_install/pre_start/etc. nodes so shell
characters survive DOM round-trips intact
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1afce49e-510d-49a6-9d11-0b7118d3cf85
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
- config_servers.php: add gsp_normalize_config_value(), gsp_value_to_display_string(),
gsp_value_to_editable_string() helpers; replace (string)$attrValue cast at line 124
with gsp_value_to_editable_string() so PHP arrays from SimpleXML attribute iteration
never trigger "Array to string conversion" notices
- adminserverlist.php sync_billing_services(): add description column (= service name)
to INSERT so the query succeeds on databases where description is NOT NULL without
a default; add pre-flight col_exists() schema guard that shows a friendly admin
warning and aborts sync instead of crashing on completely missing columns
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/e8bfe531-e1ff-4257-b49c-f8376b84e772
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>