Post Scriptum Updated May 14, 2026

Post Scriptum / Squad 44 Linux Systemd Service

Run a Post Scriptum (Squad 44) dedicated server as a Linux systemd service for automatic start on boot, crash recovery, and clean log management.

Post ScriptumSquad 44Linuxsystemdserviceautostart

Post Scriptum / Squad 44 Linux Systemd Service

Running the server as a systemd service ensures it starts automatically on boot, restarts after crashes, and integrates with journalctl for log management.


Create a Dedicated System User

Never run game servers as root. Create a non-login user:

sudo useradd -r -m -d /opt/postscriptum -s /bin/bash postscriptum
sudo chown -R postscriptum:postscriptum /opt/postscriptum-server

Create the Startup Script

Create /opt/postscriptum-server/start.sh owned by the postscriptum user:

#!/bin/bash
cd /opt/postscriptum-server

./PostScriptum/Binaries/Linux/PostScriptumServer \
  PostScriptum/Maps/Carentan/Carentan_AAS_v1 \
  -log \
  -Port=7787 \
  -QueryPort=27165 \
  -SteamServerName="My Squad 44 Server" \
  -ServerName="My Squad 44 Server" \
  -maxPlayers=80
chmod +x /opt/postscriptum-server/start.sh

Create the Systemd Unit File

Create /etc/systemd/system/postscriptum.service:

[Unit]
Description=Post Scriptum / Squad 44 Dedicated Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=postscriptum
Group=postscriptum
WorkingDirectory=/opt/postscriptum-server
ExecStart=/opt/postscriptum-server/start.sh
Restart=on-failure
RestartSec=30s
StandardOutput=journal
StandardError=journal
SyslogIdentifier=postscriptum-server

# Resource limits
LimitNOFILE=100000
LimitNPROC=100000

[Install]
WantedBy=multi-user.target

Enable and Start the Service

sudo systemctl daemon-reload
sudo systemctl enable postscriptum
sudo systemctl start postscriptum

Managing the Service

# Check status
sudo systemctl status postscriptum

# View live logs
sudo journalctl -u postscriptum -f

# Stop the server
sudo systemctl stop postscriptum

# Restart the server
sudo systemctl restart postscriptum

Scheduled Restarts with systemd Timers

Create /etc/systemd/system/postscriptum-restart.service:

[Unit]
Description=Restart Post Scriptum Server

[Service]
Type=oneshot
ExecStart=/bin/systemctl restart postscriptum

Create /etc/systemd/system/postscriptum-restart.timer:

[Unit]
Description=Daily Post Scriptum Server Restart

[Timer]
OnCalendar=*-*-* 04:00:00
Persistent=true

[Install]
WantedBy=timers.target
sudo systemctl enable --now postscriptum-restart.timer

This restarts the server at 4:00 AM daily to clear memory accumulation.


Log Rotation

By default, journalctl rotates logs automatically. To view historical logs:

# Show last 200 lines of server log
sudo journalctl -u postscriptum -n 200

# Show logs from a specific date
sudo journalctl -u postscriptum --since "2026-05-14 00:00:00"