A Comprehensive PowerShell Tool for Simple Automated Game Server Management.
- Hassle-free "setup and forget" experience
- Automated installation of game servers
- Streamlined single-file configuration
- Automatic server updates upon new version releases
- Monitoring for detecting server crashes and available updates
- Built-in thread isolation and priority management
- Automatic start after a system reboot
- Daily server restarts with in-game broadcasts for supported games
- Automated, lightweight backups with archiving for 7 days and 4 weeks
- Full configurability, allowing customization according to your preferences
- Open-Source with a great community supporting the tool.
- 7 Days to Die
- Ark: Survival Ascended
- Astroneer
- Conan Exiles
- Enshrouded
- Icarus
- Insurgency Sandstorm
- Killing Floor 2
- Left 4 Dead 2
- Mordhau
- Minecraft (Paperclip)
- Palworld
- PixArk
- Project Zomboid
- Rust
- Satisfactory
- Squad
- Starbound
- Stationeers
- Terraria
- The Forest
- Valheim
- Valheim Plus
- V Rising
- Faster than the other available tools
- Lighter and more targeted backups
- Modular
- Expandable
- Customizable
Before you begin, note that this tool is not intended to run on your primary gaming computer. Ideally, use a virtual machine on a dedicated server or a secondary computer. If you still want to use this tool on your main computer, you should consider disabling the monitoring features. Otherwise, the Task Scheduler will briefly open a cmd window for a tenth of a second every 5 minutes. You can disable this by turning off the monitoring features (AutoUpdates, AutoRestartOnCrash, AutoRestart) in the game server configuration file or by disabling the game server monitoring task created in the Windows Task Scheduler after the second launch of the server.
-
Ensure that your File Explorer is set to display file extensions.
-
Clone this repository using Git (F1 then Git:Clone in VSCode) or extract the zip file anywhere. (Preferably C:, but any directory will work unless the path is excessively long)
-
Copy the desired server configuration file from the
templates
folder to theconfigs
folder.Example: Copy
icarus.psm1
from thetemplates
folder to theconfigs
folder. -
Edit the copied configuration file to customize your server settings.
-
Copy and rename
launchers/run.cmd
to match your server configuration file.Example: Copy and rename
run.cmd
toicarus.cmd
to start theicarus.psm1
Icarus server.The filename in the
launchers
folder must match the one in theconfigs
folder. -
Launch your server by double-clicking on your
icarus.cmd
file from thelaunchers
folder. -
The PowerShell window will open, install the server, and stop the server to allow you to edit the server configuration files.
-
After editing your config files, run the
icarus.cmd
file from thelaunchers
folder again. -
On the second launch, it will start the server and configure the scheduled task to keep the server running and updated.
-
To disable a server, use the Windows Task Scheduler application to disable or delete the corresponding Scheduled Task.
-
Forward the server ports in your router and configure the Windows firewall accordingly. You can also disable the Windows firewall entirely, but ensure that you still forward the ports in your router.
By @BananaAcid
https://gist.github.com/BananaAcid/1dc9117571967b26ceabc972009137ae
- A Windows machine with at least PowerShell 5.1 installed (Windows 10 or Windows Server 2016 or newer)
- Some basic PowerShell knowledge.
- Some networking basics to configure port forwarding.
- The Windows user running the script should have admin privileges but should not run it with admin privileges.
- DirectX End-User Runtime
- Microsoft Visual C++ Redistributable
- .NET Framework 4.8.1
- .NET Framework 5, 6, 7, or 8
- Java JDK
- Microsoft XNA Redistributable
Install-Module -Name 7Zip4Powershell
You can create pull requests for changes to this project.
Please follow the current structure and formatting.
If you want to add support for more games, copy one of the configuration files and edit the values and launch parameters. You can then create a pull request to include your configuration here.
I am in no way responsible for anything that this script will do; you are responsible for reading and understanding what this script will do before executing it.
This script will download and install third-party software like SteamCMD, ARRCON, mcrcon, Java, Microsoft XNA, Paperclip, Terraria, and any games you try to install.