NOTE: Server version currently marked as Beta by the developers.
Icarus is a session-based survival game for up to 8 co-op players or solo players, where most gameplay occurs during timed missions. Players accept contracts for missions on a space station orbiting the planet, and drop down to its terrain to attempt the objectives. Once a mission timer is complete, the drop-pod returns to the station. If the player fails to return in time, their workshop items are left on the surface and their progress is lost. There is also support for an OpenWorld where without resets.
Port | Default | Protocol |
---|---|---|
Game | 17777 | UDP |
Query | 27015 | UDP |
Recommended | Extra info | |
---|---|---|
Processor | Recent x86/64 (AMD/Intel) processor. No 32 bit or ARM support. | Unsubstantiated reports say that RCON uses significantly more CPU when enabled, but I have not been able to replicate myself. |
RAM | 8-16 GB | |
Storage | 14 GB (or more, depending on save size or frequency) |
You can define a custom dir for settings by adding -UserDir=
to the startparameter. More Info
Name | Tag |
---|---|
Wine Staging | ghcr.io/ptero-eggs/yolks:wine_latest |
Name | Description | Environment Variable | Default Value | User Viewable | User Editable |
---|---|---|---|---|---|
[REQUIRED] Server Query Port | UDP port for Steam server list features. | QUERY_PORT | 27015 | Yes | Yes |
Server Name | SERVER_NAME | IcarusEGG | Yes | Yes | |
Windows Install Flag | Required for windows game server installs | WINDOWS_INSTALL | 1 | No | No |
WINETRICKS_RUN | Run installs on software that is required by the server | WINETRICKS_RUN | vcrun2019 corefonts | No | No |
SRCDS_APPID | steam app id found here - https://developer.valvesoftware.com/wiki/Dedicated_Servers_List | SRCDS_APPID | 2089300 | No | No |
AUTO_UPDATE | Disabling or enabling automated updates on boot | AUTO_UPDATE | 1 | Yes | Yes |
WINEDEBUG | WINEDEBUG | -all | No | No | |
WINEPATH | WINEPATH | /home/container | No | No | |
WINEARCH | WINEARCH | win64 | No | No |
#!/bin/bash
## License: MIT License
## Image to install with is 'ghcr.io/ptero-eggs/installers:debian'
if [[ "${STEAM_USER}" == "" ]] || [[ "${STEAM_PASS}" == "" ]]; then
echo -e "steam user is not set.\n"
echo -e "Using anonymous user.\n"
STEAM_USER=anonymous
STEAM_PASS=""
STEAM_AUTH=""
else
echo -e "user set to ${STEAM_USER}"
fi
## download and install steamcmd
cd /tmp
mkdir -p /mnt/server/steamcmd
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd
mkdir -p /mnt/server/steamapps # Fix steamcmd disk write error when this folder is missing
cd /mnt/server/steamcmd
# SteamCMD fails otherwise for some reason, even running as root.
# This is changed at the end of the install process anyways.
chown -R root:root /mnt
export HOME=/mnt/server
## install game using steamcmd
./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} validate +quit
## set up 32 bit libraries
mkdir -p /mnt/server/.steam/sdk32
cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so
## set up 64 bit libraries
mkdir -p /mnt/server/.steam/sdk64
cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so
FILE=/mnt/server/Icarus/Saved/Config/ServerSettings.ini
if [ -f "$FILE" ]; then
echo "Config already exist skipping"
else
echo "Config does not yet exist, making one"
mkdir -p /mnt/server/Icarus/Saved/Config/
cd /mnt/server/Icarus/Saved/Config/
curl -sSL -o ServerSettings.ini https://raw.githubusercontent.com/RocketWerkz/IcarusDedicatedServer/main/ServerSettings.ini
fi
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"