Keyboard shortcuts

Press ← or β†’ to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.

LevelHowWho it is forPages you useAvailable
Ultra-manualYou read what everything is and does and build the installation yourself. No steps.Experienced admins who want the building blocksHow it works and Reference of each componentβœ… PolarBot
ManualEvery step as exact commands with an explanation and the expected output. No installer.People who want to know and control everythingInstall (manual), Configure, Update, Back up and restore, Roll back, Uninstall, Troubleshootingβœ… PolarBot
Planpolarinstall 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 automationPolarInstall🚧 coming
Guidedpolarinstall asks every choice, shows a sensible default and explains it.Most ownersPolarInstall🚧 coming
Expresspolarinstall --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
Unattendedpolarinstall --config answers.toml --yesScripts and reinstallsPolarInstall🚧 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.