thijsvanloef / palworld-server-docker

A Docker Container to easily run a Palworld dedicated server.
https://hub.docker.com/r/thijsvanloef/palworld-server-docker
MIT License
2.43k stars 295 forks source link

disable core dumps on Linux systems #250

Closed rezeropoint closed 8 months ago

rezeropoint commented 9 months ago

ulimit -c 0

Prevent "core. *" files from occupying the entire hard drive and causing game saves to be lost

thijsvanloef commented 9 months ago

Hi @rezeropoint I myself have not run into the issue of core dumps preventing from my game from saving. Are you sure you have enough disk space free, and when are these core dumps being generated?

rezeropoint commented 9 months ago

Hi @rezeropoint I myself have not run into the issue of core dumps preventing from my game from saving. Are you sure you have enough disk space free, and when are these core dumps being generated?

When the memory usage is 100%, the CPU will urgently reclaim memory, and the usage rate will also increase to 100%. At this point, a core dump will occur. The size of the core dump is generally several GB. When the disk space is occupied by 100% (usually 60GB~100GB for cloud servers), the archive will be lost. Running the "ulimit - c 0" command can disable the core dump function of the system/container.

thijsvanloef commented 8 months ago

@rezeropoint I've decided not to implemented in the base image. For the simple reason that it can be disabled via docker run or docker compose. docker run:

docker run -d \
    --name palworld-server \
    -p 8211:8211/udp \
    -p 27015:27015/udp \
    -v ./palworld:/palworld/ \
    -e PUID=1000 \
    -e PGID=1000 \
    -e PORT=8211 \
    -e PLAYERS=16 \
    -e MULTITHREADING=true \
    -e RCON_ENABLED=true \
    -e RCON_PORT=25575 \
    -e TZ=UTC \
    -e ADMIN_PASSWORD="adminPasswordHere" \
    -e SERVER_PASSWORD="worldofpals" \
    -e COMMUNITY=false \
    -e SERVER_NAME="palworld-server-docker by Thijs van Loef" \
    -e SERVER_DESCRIPTION="palworld-server-docker by Thijs van Loef" \
    --restart unless-stopped \
    --stop-timeout 30 \
    --ulimit core=0 \
    thijsvanloef/palworld-server-docker:latest

docker-compose.yml

services:
   palworld:
      image: thijsvanloef/palworld-server-docker:latest
      restart: unless-stopped
      container_name: palworld-server
      stop_grace_period: 30s # Set to however long you are willing to wait for the container to gracefully stop
      ports:
        - 8211:8211/udp
        - 27015:27015/udp
      environment:
         PUID: 1000
         PGID: 1000
         PORT: 8211 # Optional but recommended
         PLAYERS: 16 # Optional but recommended
         SERVER_PASSWORD: "worldofpals" # Optional but recommended
         MULTITHREADING: true
         RCON_ENABLED: true
         RCON_PORT: 25575
         TZ: "UTC"
         ADMIN_PASSWORD: "adminPasswordHere"
         COMMUNITY: false  # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD!
         SERVER_NAME: "palworld-server-docker by Thijs van Loef"
         SERVER_DESCRIPTION: "palworld-server-docker by Thijs van Loef"
      volumes:
         - ./palworld:/palworld/
      ulimits:
          core:
              hard: 0
              soft: 0