Launcher and management utility for running an Astroneer Dedicated Server on Linux using WINE.
requirements.txt
AstroTuxLauncher
executable for the latest release from the releases page and put it into the created folder.AstroTuxLauncher
file is executable../AstroTuxLauncher install
launcher.toml
(Can be changed later)./AstroTuxLauncher start
shutdown
command or pressing Ctrl+Cgit clone https://github.com/JoeJoeTV/AstroTuxLauncher
cd AstroTuxLauncher
pip install -r requirements.txt
python3 AstroTuxLauncher.py install
launcher.toml
(Can be changed later)python3 AstroTuxLauncher.py start
If a new version of AstroTuxLauncher has been released and git was used to clone the repository, an update can simply be performed by using git:
git pull
Currently, the Launcher disables encryption for the Astroneer Dedicated Server by default. This is required as the Server doesn't work with encryption enabled running under WINE.
If the Dedicated Server has encryption disabled, every client that wants to connect also has to disable encryption
The launcher configuration will be stored in launcher.toml
in the same folder as AstroTuxLauncher.py
by default with the following options:
[launcher]
# (Boolean) Wether the Launcher should automatically update/install the Astroneer Dedicated Server at start
AutoUpdateServer = true
# (Boolean) Wether to check the network configuration for any problems
CheckNetwork = true
# (Boolean) Wether to always overwrite the PublicIP field of the
# Dedicated Server configuration file with the public IP gotten from an external service
OverwritePublicIP = false
# (Boolean) Wether to output debug messages (Warning: Highly increased output)
LogDebugMessages = false
# (Path as String) Relative or absolute path to the directory where the Astroneer Dedicated server should reside
AstroServerPath = "AstroneerServer"
# (Optional, Path as String) Relative or absolute path to the wine executable to override system binary
OverrideWinePath = # Not set by default
# (Path as String) Relative or absolute path to the directory where the WINE prefix
# used for running the server should reside
WinePrefixPath = "winepfx"
# (Path as String) Relative or absolute path to the directory where the log files should reside
LogPath = "logs"
# (Integer) Interval for connecting to the Playfab API in seconds
PlayfabAPIInterval = 2
# (Float) Interval for asking the Dedicated Server about it's status in seconds
ServerStatusInterval = 3.0
# (Boolean) Wether to force disable encryption for the Dedicated Server
DisableEncryption = true
# Settings related to sending notifications to external services
[launcher.notifications]
# (""(None)/"discord"/"ntfy") What service to send notifications to
method = "ntfy"
# (String) Name of the server to use in notifications
name = "Astro DS"
# (List of String) Event types that should be sent using the external notification method (By default all event types)
EventWhitelist = ["message", "start", "registered", "shutdown", "crash", "player_join", "player_leave", "command", "save", "savegame_change"]
# (Optional) Settings specific to Discord (Only required, if method is "discord")
[launcher.notifications.discord]
# (URL as String) URL of the webhook to send notifications to
webhookURL = # Not set by default
# Settings specific to ntfy (Only required, if method is "ntfy")
[launcher.notifications.ntfy]
# (String) The topic to send notifications to
topic = # Not set by default
# (URL as String) URL of the ntfy server to use for sending notifications
serverURL = "https://ntfy.sh"
# Settings related to sending status updates to an endpoint (currently mostly just Uptime Kuma using the 'Push' monitor type)
[launcher.status]
# (Boolean) Wether to send status updates at all
SendStatus = false
# (Integer) The interval in seconds to send status updates at, if the status doesn't change in-between
Interval = 120
# (URL as String) The endpoint to send the status update to as a GET request with parameters
EndpointURL = ""