TheSudoYT / terraform-aws-palworld

Terraform module for Palworld Server Infrastructure on AWS
BSD 3-Clause "New" or "Revised" License
11 stars 5 forks source link

PalWorldSettings.ini Changes Not Reflected in Game #3

Closed Josh-Tracy closed 8 months ago

Josh-Tracy commented 8 months ago

Describe the bug None of the inputs shown in PalWorldSettings.ini are actually implemented in game.

To Reproduce

Expected behavior Changes in PalWorldSettings.ini to reflect in game.

Josh-Tracy commented 8 months ago

Root of this issue is:

I am creating PalWorldSettings.ini in this format:

if [[ ${use_custom_palworldsettings} == "false" ]]; then
mkdir -p /palworld-server/Pal/Saved/Config/LinuxServer/
cat > /palworld-server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini <<EOF
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(Difficulty=${difficulty},
...
...
ServerDescription="${server_description}",
%{ if admin_password != "" ~}
AdminPassword="${admin_password}",
%{ else ~}
AdminPassword="",
%{ endif ~}
%{ if server_password != "" ~}
ServerPassword="${server_password}",
%{ else ~}
ServerPassword="",
%{ endif ~}
PublicPort=${public_port},
%{ if public_ip != "" ~}
PublicIP="${public_ip}",
%{ else ~}
PublicIP="",
%{ endif ~}
RCONEnabled=${enable_rcon},
%{ if rcon_port != "" ~}
RCONPort=${rcon_port},
%{ else ~}
RCONPort="",
%{ endif ~}
%{ if region != "" ~}
Region="${region}",
%{ else ~}
Region="",
%{ endif ~}
bUseAuth=${use_auth},
BanListURL="${ban_list_url}"
)
EOF
fi

This is generating the PalWorldSettings.ini file on the host in the correct format with the correct inputs.

HOWEVER, once Palworld starts it is overwriting some of the values and stripping quotes from strings, a missing closing ), and commas after some values. I believe this has something to do with Palworld doing something in the background to format the file, but because my file is multiple lines its doing whacky stuff.

I have verified that changing the PalWorldSettings.ini file to 1 line and adding "" quotations around the strings such as AdminPassword and restarting Palworld fixes the issue.

Will update module with a fix to prevent this.