the control panel
Find a file
2026-06-16 13:43:39 -05:00
.github Document workshop normalization changes 2026-05-19 22:37:08 +00:00
.vscode Fixed calls to old billing module 2025-11-24 09:42:03 -05:00
docs added legacy server info 2026-06-16 13:43:39 -05:00
examples/apache added apache examples 2026-05-13 20:37:37 -04:00
logs fixed updated 2026-06-07 15:37:43 -05:00
Panel added legacy server info 2026-06-16 13:43:39 -05:00
pricing added legacy server info 2026-06-16 13:43:39 -05:00
reference doc changes and reference folder 2026-06-06 17:18:49 -05:00
.gitignore feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
LAST_UPDATE.txt Refresh workshop update metadata 2026-05-19 22:38:09 +00:00
README.md worshop work 2026-06-08 16:09:54 -05:00
SITES_AVAILABLE_EXAMPLE.conf added apache examples 2026-05-13 20:37:37 -04:00

GSP

GSP is a game server hosting platform built around a web Panel, Linux and Windows/Cygwin agents, and a customer Website.

Workspace reference: GSP-WORKSPACE.md

The goal of this repository is to let customers manage hosted game servers with the same practical control they would expect on their own machine:

  • start, stop, restart, and monitor servers
  • edit config files and startup parameters
  • use FTP and file management tools
  • install mods, add-ons, and Workshop content
  • schedule safe automation tasks
  • read logs and troubleshooting docs
  • get accurate server status reporting
  • keep billing, support, and provisioning tied to the server lifecycle

Repository Layout

/
  Agent_Linux/
  Agent-Windows/
  Panel/
  Website/
  docs/

Component Overview

Panel

The Panel is the control layer. It loads modules from Panel/modules/, stores panel-side state in the database, and talks to the agents through Panel/includes/lib_remote.php.

Linux Agent

Agent_Linux/ogp_agent.pl launches and monitors game servers on Linux, using screen as the shared runtime backend.

Windows Agent

Agent-Windows/OGP64/OGP/ogp_agent.pl mirrors the Linux agent as closely as possible for Windows/Cygwin environments.

Website

Website/ is the public-facing site for product information, onboarding, docs, and commerce.

Documentation Overview

Start with:

Additional repository entry points:

Additional architecture and decision records:

Development Workflow

  1. Read the docs first.
  2. Find the relevant module, agent, or feature page.
  3. Inspect code only where the docs point you.
  4. Keep changes scoped to the module you are working on.
  5. Prefer safe, structured interfaces over ad hoc shell commands.
  6. Verify behavior in both Panel and agent paths when lifecycle or content flow is affected.

Branch Strategy

Use a simple stable vs unstable model:

  • stable or release branches should only contain verified customer-facing behavior.
  • unstable or feature branches should hold active work, investigations, and partially complete features.

If the repo uses different branch names in practice, keep the same concept:

  • stable = customer-ready
  • unstable = in progress

Stable vs Unstable

Stable code should have:

  • accurate lifecycle and status reporting
  • working logs
  • safe file and FTP access
  • working scheduler actions
  • working backups and restore paths
  • documented Workshop/content flows

Unstable code may exist for:

  • experimental features
  • partial module migrations
  • new XML capabilities
  • future improvements that are not yet customer-safe

Documentation Map

  • Architecture: docs/architecture/
  • Agents: docs/agents/
  • Games: docs/games/
  • Modules: docs/modules/
  • Features: docs/features/
  • Decisions: docs/decisions/
  • Development notes: docs/development/