Introduction
PolarSystems is a set of open-source tools for running game communities: PolarBot, a Discord bot that catches scams and helps moderators; PolarManager, which runs and connects game servers; and the in-game parts for Minecraft (PolarCraft) and Stormworks (PolarScript). Everything is AGPL-3.0-or-later and self-hosted: you run it on your own machine, and no message, player or server data is sent anywhere else.
These docs are for anyone who runs it, not only the PolarSystems community. Commands and
host names such as bot.example.org are examples: use your own.
Linux first. Every guide here is written and tested for Linux with systemd (Debian, Ubuntu and Fedora; where commands differ, both are shown). The code builds on Windows, but Windows is not supported yet and not documented.
Pick your level
You choose how much you want to do yourself. Every level installs the same thing in the same way; they differ only in who types the commands.
| Level | How | Who it is for | Pages you use | Available |
|---|---|---|---|---|
| Ultra-manual | You read what everything is and does and build the installation yourself. No steps. | Experienced admins who want the building blocks | How it works and Reference of each component | β PolarBot |
| Manual | Every step as exact commands with an explanation and the expected output. No installer. | People who want to know and control everything | Install (manual), Configure, Update, Back up and restore, Roll back, Uninstall, Troubleshooting | β PolarBot |
| Plan | polarinstall plan asks its questions, then prints the exact commands it would run (the same as the manual pages) and changes nothing. | Reviewing before trusting a tool; copying into your own automation | PolarInstall | π§ coming |
| Guided | polarinstall asks every choice, shows a sensible default and explains it. | Most owners | PolarInstall | π§ coming |
| Express | polarinstall --express asks only what nobody can choose for you: the Discord bot token, and βDo you accept the Minecraft EULA?β if you install a Minecraft server. | βJust make it workβ | PolarInstall | π§ coming |
| Unattended | polarinstall --config answers.toml --yes | Scripts and reinstalls | PolarInstall | π§ coming |
The levels build on each other: the Reference pages are generated from the source code (a test fails when they and the code differ), the manual pages explain each step against them, and the installer will run exactly the manual steps. Whatever level you start at, you can always look one level down to see what is really happening.
How the pages are organised
Every component has the same set of pages:
- Overview: what it is and what it needs.
- How it works: architecture, what talks to what and why, data flows, the security model.
- Reference: every command, option, config key, credential, file, database table and exit code. Generated from the code.
- Install (manual), Configure, Update, Back up and restore, Roll back, Uninstall and Troubleshooting.
Pages that apply to everything: Privacy and data, Security and the Changelog.
Getting help
Open an issue at https://github.com/sergeantpolarbear/PolarSystems/issues, or write to contact@polarsystems.net (also for data-protection questions). Report security problems privately as described in Security.