Subsistence gameplay

Host a Subsistence Dedicated Server

Subsistence is an open-world survival game set in a hostile wilderness. Hunt, farm, craft, build a base, and defend against hostile NPCs called Hunters. Supports up to 32 players in co-op or PvP.

Hardware Requirements

Here's what you need to run a Subsistence dedicated server.

Economy

Small private server, 1-4 players

CPU0.5 cores
RAM2 GB
Storage10 GB

Standard

Friends & co-op, 4-12 players

CPU1 core
RAM4 GB
Storage10 GB

Pro

Large community server, 12-32 players

CPU2 cores
RAM8 GB
Storage10 GB

Start hosting from your own computer

Run a Subsistence server on your desktop, laptop, VPS, or dedicated machine — GameCP automates Docker setup, resource allocation, and Subsistence configuration instantly. Automatic port forwarding means your friends can connect without touching your router. Start local, scale to a VPS when you're ready.

Get Started FreeNo credit card required

Setup in 4 Steps

Skip the manual SteamCMD installation, port forwarding, and systemd configuration. Install on your own computer and start hosting instantly.

The Manual Way vs. GameCP

Manual Setup

  • Install SteamCMD manually
  • Configure 3+ firewall ports and router settings
  • Write systemd service files
  • SSH into server to edit configs
  • Requires a VPS or dedicated server
  • 30-60 minutes if experienced

With GameCP

  • One-click SteamCMD install
  • Automatic port forwarding — no router config
  • Host from your own PC, VPS, or dedicated server
  • Docker container with auto-restart
  • Visual config editor in browser
  • Under 5 minutes total

Under the Hood

The full manual process to host a Subsistence dedicated server on a VPS. Or install GameCP on your own computer and skip all of this.

Step 1

Configure & Prepare

Set your server settings, then install Docker, SteamCMD, and pull the Subsistence container image.

Server ConfigurationEdit values to update all commands
terminal
# Update system and install Docker
sudo apt update && sudo apt install -y docker.io
sudo systemctl enable --now docker

# Create game server directory
sudo mkdir -p /opt/gameserver

# Install SteamCMD
sudo mkdir -p /opt/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | sudo tar zxvf - -C /opt/steamcmd

# Pull the container image
docker pull ghcr.io/ptero-eggs/yolks:wine_latest
Step 2

Install Server Files via SteamCMD

Download the Subsistence dedicated server using Steam App ID 1362640.

terminal
# Download Subsistence server files (App ID: 1362640)
/opt/steamcmd/steamcmd.sh \
  +force_install_dir /opt/gameserver \
  +login anonymous \
  +app_update 1362640 validate \
  +quit
Step 3

Open Firewall Ports

Subsistence requires 3 ports to be open for game traffic and queries.

terminal
sudo ufw allow 7777/both
sudo ufw allow 27015/udp
sudo ufw allow 7778/both
7777/BOTH(PORT)27015/UDP(QUERY_PORT)7778/BOTH(CUSTOM_PORT_1)
Step 4

Launch the Server

Start the Subsistence server using the configuration from Step 1.

Create the startup script

terminal
# Create the startup script
cat > /opt/gameserver/start.sh << 'EOF'
# Initialize Wine prefix with mscoree DISABLED to prevent Mono install dialog
if [ ! -f /home/container/.wine/.prefix_done ]; then
echo 'Initializing Wine prefix...'
export WINEDLLOVERRIDES="mscoree,mshtml="
xvfb-run --auto-servernum --server-args='-screen 0 640x480x24' wineboot --init
sleep 3
echo 'Wine prefix created.'
# Download and install Wine Mono for .NET/mscoree.dll support
MONO_VER=9.4.0
MONO_MSI=wine-mono--x86.msi
if [ ! -f /home/container/.cache/ ]; then
echo "Downloading Wine Mono ..."
mkdir -p /home/container/.cache
wget --progress=bar:force -O /home/container/.cache/ https://dl.winehq.org/wine/wine-mono//
fi
echo 'Installing Wine Mono...'
xvfb-run --auto-servernum --server-args='-screen 0 640x480x24' wine msiexec /i /home/container/.cache/ /qn
sleep 2
touch /home/container/.wine/.prefix_done
echo 'Wine Mono installed.'
fi
if [ ! -f /home/container/.wine/.winetricks_done ] && [ -n "" ]; then
echo 'Installing Wine dependencies: '
xvfb-run --auto-servernum --server-args='-screen 0 640x480x24' winetricks -q
touch /home/container/.wine/.winetricks_done
echo 'Dependencies installed.'
fi
# Re-enable mscoree for the game (needed for .NET/UDK.exe)
export WINEDLLOVERRIDES="mshtml="

# Create directories and files UDK.exe expects on first boot
mkdir -p ./UDKGame/SaveData/BannedPlayers
mkdir -p ./UDKGame/SaveData/ProfileSaves
mkdir -p ./UDKGame/Script
[ ! -f ./UDKGame/SaveData/BannedPlayers/bannedPlayerList.sav ] && touch ./UDKGame/SaveData/BannedPlayers/bannedPlayerList.sav
[ ! -f ./UDKGame/SaveData/ProfileSaves/saveFilesList.sav ] && touch ./UDKGame/SaveData/ProfileSaves/saveFilesList.sav
[ ! -f ./UDKGame/Script/Manifest.txt ] && touch ./UDKGame/Script/Manifest.txt

echo 'Starting Subsistence server...'
# Clear old log so tail only shows current session
rm -f ./UDKGame/Logs/Launch.log
mkdir -p ./UDKGame/Logs

# Start UDK via xvfb-run (handles virtual display without needing root)
xvfb-run --auto-servernum --server-args='-screen 0 640x480x24' \
wine ./Binaries/Win64/UDK.exe server coldmap1?steamsockets -log -Port=7777 -PeerPort= -MaxPlayers= &
WINE_PID=$!

# Wait for UDK to create the log file, then tail it to stdout
for i in ; do
if [ -f ./UDKGame/Logs/Launch.log ]; then
echo "Log file detected after s"
break
fi
sleep 1
done

if [ -f ./UDKGame/Logs/Launch.log ]; then
tail -F ./UDKGame/Logs/Launch.log &
TAIL_PID=$!
else
echo 'WARNING: Launch.log was not created after 30s - server may have crashed'
echo 'Check Wine output above for errors'
TAIL_PID=""
fi

# Wait for Wine process to exit
wait
WINE_EXIT=$?
[ -n "" ] && kill 2>/dev/null
if [ -ne 0 ]; then
echo "Wine process exited with code: "
fi
EOF
chmod +x /opt/gameserver/start.sh

Run the container

terminal
docker run -d \
  --name subsistence-server \
  -p 7777:7777/both \
  -p 27015:27015/udp \
  -p 7778:7778/both \
  -v /opt/gameserver:/opt/gameserver \
  -w /opt/gameserver \
  ghcr.io/ptero-eggs/yolks:wine_latest \
  ./start.sh

Or skip all of this

GameCP automates every step above: Docker, SteamCMD, port forwarding, startup, and config. Install on your own PC and deploy a Subsistence server in under 5 minutes.

Deploy with GameCP

Ready to Host Your Subsistence Server?

Install GameCP on your own computer and start hosting in minutes. Automatic port forwarding, zero config — your friends connect instantly.

No credit card required · Free tier available · Install local, scale later

Deploy Free