Astroneer Dedicated Server Installation Guide

Introduction

This guide installs an Astroneer Dedicated Server on Linux using Wine and SteamCMD. It covers configuration requirements, including disabling encryption for all clients.


Prerequisites and Assumptions

A Linux distribution (e.g., Ubuntu, Fedora, or Gentoo). Root or sudo access for initial installation steps. Basic knowledge of terminal commands.


Installation Instructions

User Setup & Wine Environment Preparation

Create a dedicated astroneer user for isolation.

$ sudo useradd -m-s /bin/bash -G video,users astroneer
$ sudo passwd astroneer
$ sudo su - astroneer

The -G video,users flags add supplementary groups:

The server requires wine-proton; standard vanilla builds fail. This guide was tested with version 10.0.4 in July, 2026.

Gentoo Example

Disable unnecessary features for a headless server:

$ echo "app-emulation/wine-proton -usb -cups -gstreamer -unwind -sdl -pulseaudio -mingw -gecko -alsa -vulkan">> /etc/portage/package.use/steam
$ emerge --ask app-emulation/wine-proton

A standard Wine installation with lib32 support is required.


SteamCMD and Server Download

Download and extract the Linux version of SteamCMD.

$ mkdir -p ~/steamcmd
$ cd ~/steamcmd
$ L="https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz"
$ [ ! -f steamcmd_linux.tar.gz ] &&wget$L&&tar zxvf steamcmd_linux.tar.gz

Download and verify the server files with SteamCMD using anonymous login; no license is required.

$ ./steamcmd.sh \
+@sSteamCmdForcePlatformType windows \
+login anonymous \
+app_update 728470 validate \
+quit

Set up symlinks for easier access to configuration and save games.

$ D="$HOME/Steam/steamapps/common/ASTRONEER Dedicated Server"
$ ln -sf"$D" Astro
$ ln -sf"$D/Astro/Saved/Config/WindowsServer" AstroConfig
$ ln -sf"$D/Astro/Saved/SaveGames" AstroSave

Server files are in $D.


Configuration & Networking

Open UDP port 8777 in your firewall. Astroneer uses PlayFab for server registration and liveness checks. The server sends heartbeats to PlayFab to prove it’s alive and appear in the server browser. Without port access, PlayFab registration fails and the server won’t be visible. This applies even to local-only servers — the port must be open regardless of whether external players connect.1

Initialize Wine Prefix

On first run, Wine needs to set up its prefix and install required libraries (Mono, Gecko). Run this once:

$ WINE="/etc/eselect/wine/bin/wine"
$ export DISPLAY=:0
$ export XDG_RUNTIME_DIR=$HOME
$ cd "$HOME"
$ timeout 120 $WINE wineboot --init

Generate Initial Configs

Run the server once manually to generate the default configuration files.

$ WINE="/etc/eselect/wine/bin/wine"
$ export DISPLAY=:0
$ export XDG_RUNTIME_DIR=$HOME
$ cd "$D"
$ $WINE AstroServer.exe
# Press Ctrl+C after the config files are generated.

Download AstroLauncher

The server script uses AstroLauncher, a community launcher with a web dashboard. Download it to your home directory:

$ wget https://github.com/JoeJoeTV/AstroLauncher/releases/download/1.8.5.1/AstroLauncher.exe

Edit Server Parameters & Automation Scripts

Modify AstroConfig/AstroServerSettings.ini to set your public details using an idempotent update script.

Create a script named update in your home directory to automate configuration and updates:

$ cat << EOF> ~/update
#!/bin/sh
set -ex

L="https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz"
[ ! -f steamcmd_linux.tar.gz ] && wget $L
[ ! -d steamcmd ] && mkdir steamcmd && cd steamcmd && tar zxvf ../steamcmd_linux.tar.gz

LIB=$HOME/steamcmd/linux32
export LD_LIBRARY_PATH="$LIB:$LD_LIBRARY_PATH"
ulimit -n 2048 # max number of open file descriptors
STEAMCMD="$HOME/steamcmd/steamcmd.sh"

D="$HOME/Steam/steamapps/common/ASTRONEER Dedicated Server"
cd $HOME
$STEAMCMD \
+@sSteamCmdForcePlatformType windows \
+login anonymous \
+app_update 728470 validate \
+quit

D="$HOME/Steam/steamapps/common/ASTRONEER Dedicated Server"

ln -sf "$D" Astro
ln -sf "$D/Astro/Saved/Config/WindowsServer" AstroConfig
ln -sf "$D/Astro/Saved/SaveGames" AstroSave

[ ! -f AstroConfig/AstroServerSettings.ini ] && echo "start the AstroServer.exe to generate the initial config files" >&2 && exit 1

STEAMUSER="your_username" # Replace with your Steam display name
IP=$(curl-4-s ifconfig.me)
PORT=8777
SERVER=$(hostname--short|tr[a-z][A-Z])

sed -i "s/^\\(PublicIP\\)=.*/\\1=${IP}/" AstroConfig/AstroServerSettings.ini
sed -i "s/^\\(OwnerName\\)=.*/\\1=${STEAMUSER}/" AstroConfig/AstroServerSettings.ini
sed -i "s/^\\(ServerName\\)=.*/\\1=${SERVER}/" AstroConfig/AstroServerSettings.ini
sed -i '/^\[URL\]/,$d' AstroConfig/Engine.ini
cat << EOF >> AstroConfig/Engine.ini
[URL]
Port=$PORT
[SystemSettings]
net.AllowEncryption=False
EOF

# Configure Launcher.ini for headless server
sed-i's/^DisableNetworkCheck=False/DisableNetworkCheck=True/'"$D/Launcher.ini"
sed-i's/^AdminAutoConfigureFirewall=True/AdminAutoConfigureFirewall=False/'"$D/Launcher.ini"
sed-i's/^HeartBeatFailRestartServer=8/HeartBeatFailRestartServer=0/'"$D/Launcher.ini"
sed-i's/^AutoUpdateLauncherSoftware=True/AutoUpdateLauncherSoftware=False/'"$D/Launcher.ini"
sed-i's/^AutoUpdateServerSoftware=True/AutoUpdateServerSoftware=False/'"$D/Launcher.ini"
sed-i's/^UpdateOnServerRestart=True/UpdateOnServerRestart=False/'"$D/Launcher.ini"
sed-i's/^HideServerConsoleWindow=False/HideServerConsoleWindow=True/'"$D/Launcher.ini"
sed-i's/^HideLauncherConsoleWindow=False/HideLauncherConsoleWindow=True/'"$D/Launcher.ini"
EOF

$ chmod +x ~/update
$ ./update

Web Management Interface: Create a server script to launch the server with a web dashboard. You can access this management page in your browser using xdg-open:

$ cat << EOF> ~/server
#!/bin/sh -ex
echo -e "[NOTE] kill the AstroServer with\n\$ pkill Astro"
D="$HOME/Steam/steamapps/common/ASTRONEER Dedicated Server"
WINE="/etc/eselect/wine/bin/wine"
export DISPLAY=:0
export XDG_RUNTIME_DIR=$HOME

cd "$D"
exec $WINE ~/AstroLauncher.exe
EOF

$ chmod +x ~/server
$ ./server &
$ xdg-open http://localhost:5000

Client Configuration

Clients MUST disable encryption in their local settings. Update the following path on all client machines: ~/.steam/steam/steamapps/compatdata/361420/pfx/drive_c/users/steamuser/AppData/Local/Astro/Saved/Config/WindowsNoEditor/Engine.ini

$ cat << EOF>> /path/to/client/Engine.ini
[SystemSettings]
net.AllowEncryption=False
EOF

Create Your First Save

Clients cannot load into a server that has no save file. After the server is running, connect with the Astroneer client and create a save using Join Game (not Manage Server):

  1. Start the server: $ ./server &
  2. Open the Astroneer client and select Join Game.
  3. Find your server in the list and join it.
  4. When prompted, choose to create a new game. The client will create a save on the server and load you into the world.
  5. Once in-game, you can save via the server management page or in-game menu.

Why not Manage Server? The “Create New Game” option in Manage Server (both the default game creation after setup and the in-client Manage Server menu) may fail with a “Loading Solar System” bounce. Use Join Game instead — it reliably creates the initial save.

After the first save exists, future client connections load the saved game normally.


Troubleshooting & Gotchas

Config Changes Overwritten

If you edit configuration files while the server is running, changes will be overwritten when the server saves. Stop the server before making config changes.

Common Connection Issues

If you cannot connect to the server:

  1. Encryption: Ensure both the server and ALL clients have net.AllowEncryption=False in their respective Engine.ini files.
  2. Firewall: Verify UDP port 8777 is open on your router/firewall.

Port Setting Not Taking Effect

If the server starts on port 7777 (default) instead of 8777, the Engine.ini changes from the update script may not have applied. Run ./update again, then restart the server. Verify the port with:

$ grep Port AstroConfig/Engine.ini

You should see Port=8777.

Client Bounces After “Loading Solar System”

If the client reaches “Loading Solar System” and then bounces back to the main menu, the server likely has no save file. See Create Your First Save above — use Join Game (not Manage Server) to create the initial save.

This can also happen if the save file is corrupted. Delete the .savegame file from AstroSave/ and create a fresh save using the Join Game method above.

Wine Output Warnings

Wine produces many warning messages that are normal on a headless system. These include:

These messages do not indicate a problem. The server works if you see Server ready! and Connected to RCON Console! in the output.

Saving Progress

The server autosaves every 15 minutes (AutoSaveGameInterval=900 in AstroServerSettings.ini). Backups occur every 2 hours (BackupSaveGamesInterval=7200). Modify these values in AstroConfig/AstroServerSettings.ini to change the intervals. Save via the in-game menu before running pkill Astro to avoid losing progress.

Cleaning Up After Ctrl-C

Ctrl-C stops the launcher but leaves the Wine and server processes running. You must run pkill Astro every time to fully stop the server.

$ pkill Astro

Verify all processes are gone:

$ ps -aef|grep-i Astro

Background and References

Why Wine?

The Astroneer Dedicated Server is a Windows executable. Wine provides the compatibility layer to run it on Linux, avoiding a virtual machine or dual-boot setup.

Comparison of Setup Methods

Community projects for hosting Astroneer on Linux:

  1. birdhimself/astroneer-docker — Docker-based setup; recommended. Supports encryption and multiple CPU architectures (amd64, arm64). Also available as ghcr.io/birdhimself/astroneer-server.
  2. barumel/docker-astroneer-server — Docker image with encryption enabled by default and a built-in backup/restore system.
  3. Alohamoras/astroneer-docker-script — Installer script that lets you choose between Docker images.
  4. armadous/astroneer-server and whalybird/astroneer-server — Older Docker images, source repos now deleted. The whalybird image is a mirror of birdhimself/astroneer-server.


Glossary

TermDescription
AstroServer.exeThe main executable for the Astroneer Dedicated Server, run via Wine.
SteamCMDValve’s command-line version of Steam used to download and update servers.
WineA compatibility layer for running Windows executables on Linux.
ProtonA compatibility layer based on Wine developed by Valve.
LD_LIBRARY_PATHEnvironment variable defining the paths where the dynamic linker searches for libraries.
Engine.iniConfiguration file for Unreal Engine network settings.
AstroServerSettings.iniConfiguration file for specific Astroneer server parameters.
AstroTuxLauncherA launcher tool used by some community members to manage Astroneer installations and server components.

Appendix: Sample Successful Output

This appendix shows a successful server startup. Use this to verify your installation is working.

Starting the Server

$ ./server &

Expected output (Wine warnings are normal — see Troubleshooting):

[NOTE] kill the AstroServer with
  $ pkill Astro
AstroLauncher - Unofficial Dedicated Server Launcher v1.8.5.1
...
Starting Server process...
Server started ( 0.0 )! Getting ready....
Server ready! Took 21.23 seconds to register.
Connected to RCON Console!
Server FPS: 3

Stopping the Server

$ pkill Astro

Expected output:

Kill Server: Launcher shutting down via signal
Server shutdown.
Server saved. YourSaveName$2026.01.01-00.00.00.savegame
All servers deregistered

Note: Ctrl-C stops the launcher but may leave Wine and server processes running. Run pkill Astro to fully clean up.

Verifying the Server is Running

$ ps -aef|grep-i astro

You should see AstroLauncher.exe and AstroServer-Win64-Shipping.exe processes running under the astroneer user.

Web Dashboard

While the server is running, access the management interface at:

http://localhost:5000

This provides a web-based status page and configuration options.


  1. AstroLauncher’s Launcher.ini has PlayFab-related settings: PlayfabAPIFrequency controls how often the launcher checks registration status (default: 2 seconds), and HeartBeatFailRestartServer sets how many PlayFab failures before restarting the server (default: 8).↩︎