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
911 stars 158 forks source link

[Feature Request] Setting to not show in-game backup broadcast message #208

Closed Krojack closed 7 months ago

Krojack commented 7 months ago

Have you read the Important information text above

Describe the feature

I would like a way to disable this.

I have edited the script in the past then also mounted it via volume - ./backupmanager.sh:/backupmanager.sh but with the latest changes and it moving to the /scripts directory, I just figured a setting to just not have it broadcast in the .env file would be a better option.

Additional information

Final checks

jammsen commented 7 months ago

Hey @Krojack - That setting already exists, its called RCON_ENABLED

Krojack commented 7 months ago

I thought that turned the entire rcon system on or off. I still use rcon at the command line for other things as well such as the ShowUsers.

jammsen commented 7 months ago

So what you actually asking for is a feature-toggle to not broadcast anything while the server makes backups or saves? How would the user know on when to expect maybe lag or robberbanding?

Callum027 commented 7 months ago

So what you actually asking for is a feature-toggle to not broadcast anything while the server makes backups or saves? How would the user know on when to expect maybe lag or robberbanding?

I think the OP does not consider it necessary to alert the user in this case.

From a personal perspective, I haven't had any lag or rubberbanding as a result of the background job running, it's very quick (but my instance is running on NVMe SSDs).

jammsen commented 7 months ago

I think the OP does not consider it necessary to alert the user in this case.

From a personal perspective, I haven't had any lag or rubberbanding as a result of the background job running, it's very quick (but my instance is running on NVMe SSDs).

SSD is only part of the calculation, CPU and RAM Speed matter too, we had also rubberbanding with busy or old and slow (GHz) CPUs reportet or even very slow DDR4 (2133MHz, forgot to turn on XMP) RAM.

Krojack commented 7 months ago

Yeah I haven't experienced any lag or anything while the backup is running. I wasn't even aware it was a problem as it was so fast and smooth.

With 5-6 players my CPU averages around 10%. I even mount the /palworld/backups directly to a directory on my NAS so the backups are saved there rather than local.

For now this is my docker volumes setup:

    volumes:
      - ./game-data:/palworld
      - ./steam-logs:/home/steam/Steam/logs
      - /mnt/nas_backups/GameServer/palworld/backups:/palworld/backups
      - ./backupmanager.sh:/scripts/backupmanager.sh

I'm able to just comment out the parts of the backup script which is fine, I just though an option to not show the in-game backup alerts would be a nice option people can set in the .env file.

jammsen commented 7 months ago

Hey @Krojack & @Callum027

Yeah I haven't experienced any lag or anything while the backup is running. I wasn't even aware it was a problem as it was so fast and smooth.

It isnt fast an smooth, it just feels like that, because of RCON saying instantly OK. But RCON saying OK doesnt mean the saving is done, its just an okay to let you know the server is working on it.

You can see this here #209 - I encountered this now with rubberbanding and lagging on my Ryzen 9 5950x and failed backups, which run instantly after the okay over RCON. I have basically beast-hardware and when backups fail and you feel it ingame then you need to announce and a delay to backup. The announce is to not piss of players and the delay is to make sure, you "actually" have a backup of the hour you needed because of a memory leak crash and corruption. I wouldnt want to be the one to explain to my player that the backup is 2 hours away instead of 1 hour.

Long story short, i feel like its better to inform players that server "might" lag then not informing them and the server crashes on save or something else. Bad experiences frustrate players AND admins*.

I thought about it to add an ENV to enable this, but in my mind right now the code would be much less readable, because now 4 if statements around RCON need to be true to do something for an edge-case. Not really liking that in the base of the code to be honest, because it adds to much complexity to it for a "maybe" use-case.

@Krojack - If you really want this to be in your code, feel free to use it, i would offer your this comment https://github.com/jammsen/docker-palworld-dedicated-server/issues/185#issuecomment-1935572821 from another issue, where i describe how to get out the current "file" from the latest image and change it and mount it back into the container via docker-compose.

*Update: See here how often it happens not only on VMs/Roots/PCs and NAS'ses - #210

If any more questions arise, feel free to ask them here or please close the issue.