Installation

Install the Panel first, then attach Linux or Windows execution agents.

Gameserver Engine is split into a web Panel and remote agents. The Panel owns customer actions and database state. Agents run on game hosts, execute Panel-approved work, and report status back.

Panel control planeLinux agentWindows agentShared key required

Recommended installation

Start with the Panel installer.

The public download URL below is a temporary placeholder until the installer is published from GitHub. For new Panel installs, choose MySQL when the installer asks for the database server. MariaDB is supported, but it is not the preferred path for new public installs.

1. Download the installer

curl -fsSL https://gameserverengine.com/install.sh -o install.sh

This placeholder URL will change when the installer is published from GitHub.

2. Make it executable

chmod +x install.sh

3. Run it with sudo

sudo ./install.sh

Follow the interactive prompts.

The installer asks for web server choice, database server choice, install path, repository URL and branch, optional domain and SSL, database creation details, and the initial Panel administrator. Use MySQL for new installs unless you intentionally need MariaDB compatibility.

What the installer installs / prerequisites

Panel host requirements come from the current installer and check page.

This list is derived from Panel/scripts/install-panel.sh, Panel/check.php, Panel/docs/deployment/INSTALL_README.md, and Panel/docs/deployment/GSP_INSTALLER.md. It intentionally excludes Linux and Windows agent prerequisites.

Web server choices

  • Apache branch: apache2, libapache2-mod-php.
  • Apache configuration: writes /etc/apache2/sites-available/gsp-panel.conf, runs a2enmod rewrite headers, runs a2ensite gsp-panel.conf, and reloads apache2.
  • Nginx branch: nginx, php-fpm.
  • Nginx configuration: writes /etc/nginx/sites-available/gsp-panel, links it into /etc/nginx/sites-enabled/gsp-panel, runs nginx -t, and reloads nginx.

Database choices

  • Recommended for new installs: MySQL via mysql-server.
  • Supported alternate: MariaDB via mariadb-server.
  • Always installed for database CLI access: mysql-client.
  • The installer creates the Panel database, Panel database user, grants privileges, and writes MySQL-compatible config with $db_type="mysql".
  • If local root socket access fails, it prompts for a database admin user and password for setup.

PHP runtime and extensions

  • Installer packages: php, php-cli, php-common, php-mysql, php-gd, php-curl, php-mbstring, php-zip, php-xml, php-pear.
  • Separate optional package attempt: php-xmlrpc. The check page warns when XML-RPC is missing because agent communication requires it.
  • check.php recommends PHP 8.3.0 or newer.
  • check.php checks extensions: mysqli, curl, gd, mbstring, zip, xml, json, openssl, fileinfo, session, and xmlrpc.
  • check.php also checks for PEAR through PEAR.php.

Base system packages

  • Installed by the Panel installer: ca-certificates, curl, git, unzip, tar, screen, sudo, subversion, rsync, mysql-client.
  • check.php verifies command availability for unzip, tar, screen, sudo, subversion, git, rsync, and mysql.
  • The shell installer currently supports Debian and Ubuntu package families first.

Certificate and domain tooling

  • The domain prompt is optional. If provided, it changes the default install path to /var/www/<domain>.
  • Apache SSL branch: installs certbot and python3-certbot-apache, then runs certbot --apache -d <domain>.
  • Nginx SSL branch: installs certbot and python3-certbot-nginx, then runs certbot --nginx -d <domain>.
  • The installer does not install DNS management tooling. Point DNS at the Panel host before requesting Let's Encrypt SSL.

Configuration and services created

  • Clones or updates the Panel Git checkout at the chosen install path and branch.
  • Runs the shared PHP install engine to write includes/config.inc.php, install modules, create default settings, import game configs, create the initial admin, and write includes/install.state.json.
  • Repairs permissions through tools/install_panel_cli.php --repair-permissions, adds the installing user to the web group, and defaults the web group to www-data.
  • check.php verifies writable/readable Panel paths: includes/, modules/, upload/, cache/, log/, temp/, and includes/config.inc.php.
  • When configured, it creates and enables the web server vhost and reloads the selected web service.