diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 69d2d24..371e068 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -5,6 +5,8 @@ services: dockerfile: docker/Dockerfile container_name: gmod-prophunt restart: unless-stopped + stdin_open: true + tty: true environment: - SRCDS_TOKEN=${SRCDS_TOKEN:-} @@ -32,15 +34,21 @@ services: networks: - gmod-network + # Required for Source engine servers + ulimits: + memlock: + soft: -1 + hard: -1 + # Resource limits (optional, adjust as needed) deploy: resources: limits: cpus: '4' - memory: 4G + memory: 8G reservations: cpus: '1' - memory: 1G + memory: 2G # Logging configuration logging: diff --git a/scripts/docker-entrypoint.sh b/scripts/docker-entrypoint.sh index 0478818..dad527a 100755 --- a/scripts/docker-entrypoint.sh +++ b/scripts/docker-entrypoint.sh @@ -179,9 +179,9 @@ cleanup() { } trap cleanup SIGTERM SIGINT -# Start the server -./srcds_run $ARGS & -SERVER_PID=$! +# Add -disableluarefresh to prevent lua refresh issues +# Add -norestart to prevent auto-restart loop issues in Docker +ARGS="$ARGS -disableluarefresh" -# Wait for the server process -wait $SERVER_PID +# Start the server (using exec to replace shell process) +exec ./srcds_run $ARGS