This repository contains a series of scripts to install, configure, and manage a Satisfactory server on Debian. The scripts are designed to be simple, automated, and easy to use.
Script Name | Description |
---|---|
install_satisfactory_server.sh |
Main script to install the Satisfactory server and configure dependencies. |
backup_satisfactory.sh |
Script to perform daily backups of the server. |
update_satisfactory.sh |
Script to automate the daily update of the Satisfactory server. |
restart_satisfactory.sh |
Script to automatically restart the server every day. |
install_amp.sh |
Script to install and configure AMP (Application Management Panel). |
setup_crontab_debian.sh |
Script to set up the crontab for automated tasks (backups, updates, restarts). |
- A fresh Debian installation.
- Root or sudo access to install packages and configure services.
- Internet access to download the necessary dependencies and files.
Run the main script to install and configure the Satisfactory server.
sudo bash install_satisfactory_server.sh
This script performs the following operations:
- Updates the system.
- Installs the necessary dependencies (SteamCMD, UFW, Fail2Ban, etc.).
- Creates a dedicated user for the server.
- Installs the Satisfactory server via SteamCMD.
- Configures systemd services to manage the server.
- Configures security with UFW and Fail2Ban.
- Sets up logrotate to manage server logs.
The backup_satisfactory.sh
script creates daily backups of the server and deletes backups older than 7 days.
To automate this task, add it to cron
using the setup_crontab_debian.sh
script:
sudo bash setup_crontab_debian.sh
This will schedule the backup script to run daily at 4 AM.
The update_satisfactory.sh
script checks for and applies server updates via SteamCMD, then restarts the server.
This is also set up using the setup_crontab_debian.sh
script, which schedules it to run daily at 3 AM.
The restart_satisfactory.sh
script restarts the server daily to maintain optimal performance.
This is also configured via the setup_crontab_debian.sh
script to run daily at 5 AM.
To install and configure AMP to manage your Satisfactory server, run the following script:
sudo bash install_amp.sh
This script:
- Installs the prerequisites for AMP.
- Downloads and installs AMP.
- Creates an AMP instance for Satisfactory.
- Configures a firewall to allow access to the AMP web interface.
- (Optional) Configures SSL with Certbot to secure the interface.
For SSL Configuration in install_amp.sh
:
- DOMAIN: Replace
"your_domain.com"
with your actual domain name. - EMAIL: Replace
"your_email@example.com"
with your actual email address.
Example:
DOMAIN="example.com"
EMAIL="admin@example.com"
These variables are used to obtain an SSL certificate using Certbot.
Ensure everything is set up correctly:
-
Check Satisfactory Server Status:
sudo systemctl status satisfactory
-
Check AMP Status:
sudo systemctl status ampinstmgr@SatisfactoryInstance
- UFW: Ensure that the UFW firewall is enabled and configured to allow necessary ports.
- Fail2Ban: Fail2Ban is configured to protect against unauthorized login attempts.
-
Start the server:
sudo systemctl start satisfactory
-
Stop the server:
sudo systemctl stop satisfactory
-
Restart the server:
sudo systemctl restart satisfactory
-
Check server status:
sudo systemctl status satisfactory
Backups are stored in /home/satisfactory/satisfactory_backups/
and are performed daily, with backups older than 7 days being deleted.
The server is automatically updated via the update_satisfactory.sh
script, which runs daily.
The server is automatically restarted daily via the restart_satisfactory.sh
script, which runs every day at 5 AM.
These scripts are designed to make managing a Satisfactory server on Debian easy and efficient, while using AMP for a powerful and intuitive web interface. They can be adapted to meet specific needs. Be sure to update the necessary variables in the scripts, such as the domain and email for SSL configuration in AMP.
For any questions or suggestions for improvement, feel free to contact me.
Enjoy your gaming experience with a fully automated and secure Satisfactory server via AMP! 🎮