Skip to content

fix: ensure FactoryServer.sh is executable after installation#13

Open
Yakrel wants to merge 1 commit into
indifferentbroccoli:mainfrom
Yakrel:fix-factoryserver-permissions
Open

fix: ensure FactoryServer.sh is executable after installation#13
Yakrel wants to merge 1 commit into
indifferentbroccoli:mainfrom
Yakrel:fix-factoryserver-permissions

Conversation

@Yakrel

@Yakrel Yakrel commented Jun 19, 2026

Copy link
Copy Markdown

Description

This PR ensures that FactoryServer.sh has execute permissions (+x) set after installation, before the container attempts to run start.sh.

Context & Cause

This issue was encountered while deploying the server inside an unprivileged LXC container (running Docker) on Proxmox VE. The container consistently crashed with:
bash: line 1: ./FactoryServer.sh: Permission denied

The root cause is that under unprivileged user namespaces and specific ZFS/mount policies, DepotDownloader (.NET Core) cannot natively write/set the Unix execution permissions (+x) on downloaded files. Because init.sh and start.sh do not explicitly run chmod +x on the newly downloaded FactoryServer.sh script, the container fails to launch the server.

Solution

Adding chmod +x /satisfactory/FactoryServer.sh in scripts/init.sh right after the install process and ownership fix resolves the issue. This ensures the script is executable across all host directory mounts and container runtimes, making the image more robust.

Copilot AI review requested due to automatic review settings June 19, 2026 17:20

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR hardens container startup by ensuring the Satisfactory server launcher script (FactoryServer.sh) is executable after DepotDownloader installs/updates the server, preventing startup failures on certain filesystems/user-namespace setups (e.g., unprivileged LXC with ZFS).

Changes:

  • Add a chmod +x /satisfactory/FactoryServer.sh step in scripts/init.sh after installation/ownership adjustments.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants