jammsen / docker-palworld-dedicated-server

Docker container to easily provision and manage Palworld Dedicated Server
https://hub.docker.com/r/jammsen/palworld-dedicated-server
MIT License
898 stars 152 forks source link

[Feature Request] Ability to Modify the Engine.ini file #168

Closed Alconchloe closed 5 months ago

Alconchloe commented 5 months ago

Have you read the Important information text above

Describe the feature

I would like as a server administrator to be able to edit the Engine.ini file. However, that file gets overridden by SteamCMD due to the validate flag set by the DockerFile. Would it be possible to either configure the Engine.ini via environment variables or toggle the validate flag for SteamCMD so that file can be edited as needed.

These are the variables I am wanting to set to attempt to optimize server performance to the Engine.ini file: https://www.reddit.com/r/Palworld/comments/19f6i19/optimizing_palworld_dedicated_server_engineini/

Additional information

Final checks

jammsen commented 5 months ago

Hey @Alconchloe

I would like as a server administrator to be able to edit the Engine.ini file. However, that file gets overridden by SteamCMD due to the validate flag set by the DockerFile. Would it be possible to either configure the Engine.ini via environment variables or toggle the validate flag for SteamCMD so that file can be edited as needed.

You can already set that, its explained in the readme ... STEAMCMD_VALIDATE_FILES you can also set the server to settings-mode manual (again in the readme), then the Env-Var-Script dont do anything and you can config it the manual way, just as you like it.

Is that what you mean?

Alconchloe commented 5 months ago

@jammsen Apologies for missing that environment variable. Ticket Closed.

Alconchloe commented 5 months ago

Reopening Issue:

Please let me know if I need to make this a new issue, as while I was incorrect with the environment variables, it appears the Engine.ini is still being overwritten.

Upon setting STEAMCMD_VALIDATE_FILES to false in the environment variables. I attempted to modify the Engine.ini located in "Pal/Saved/Config/LinuxServer". Upon starting the server the server does not validate as expected with the environment variable. However Engine.ini is still overwritten with the 120 tickrate set.

This appears to be due to includes/config.sh still setting the engine.ini file and setting the Network tick-rate despite SERVER_SETTINGS_MODE = manual.

Please see the attached logs, along with our current yaml file, and an example of the Engine.ini before and after server restart.

Engine.ini After Server Start.txt Engine.ini Before Server Start.txt palworld.yml.txt PodLog.txt

jammsen commented 5 months ago

Hey @Alconchloe - As you can see on master https://github.com/jammsen/docker-palworld-dedicated-server/blob/master/includes/config.sh#L4 and on delelop https://github.com/jammsen/docker-palworld-dedicated-server/blob/develop/includes/config.sh#L4 this isnt the case.

Question: Have you forced the new image to download? FYI: You need to stop the server first, change settings and start them again. UE-Servers have all the settings in memory and on shutdown, the configs are written again.

Alconchloe commented 5 months ago

@jammsen

  1. Yep we always pull the latest image with imagePullPolicy: Always
  2. Turns out the solution to this was to set the replicas of the pod to 0, access the persistent storage, and make the necessary changes. Had no idea that UE servers saved settings both on startup and shutdown. Appreciate the assistance.

Fully closed now.

jammsen commented 5 months ago

No problem 👍