# GSP (GameServerPanel) — Copilot Instructions (No-Code) **Repo of truth:** `GameServerPanel/GSP`, branch `Panel-unstable`. **Prime directive:** Read this document first. Propose changes that align with our repo and specs. Only search for external info if something contradicts this file. ## Standalone website mode - When working on website features, treat the `_website/` folder as a standalone website root. All website-focused changes (pages, runtime, data persistence, webhooks, and admin UI for the storefront) should live inside `_website/` and be referenced relative to that folder. - Do NOT modify files outside `_website/` (the panel codebase) unless a maintainer explicitly asks for cross-repo or panel-side changes. If a change necessarily touches panel files, call it out clearly in the plan and get maintainer approval first. - All redirects, data directories, and public-facing endpoints implemented for the storefront must be scoped under `_website/` (absolute or root-relative to the `_website` site root), not the panel root or external panel dashboard pages. ## CRITICAL: Website file paths and URLs (modules/billing) - **The billing website files in `modules/billing/` will be deployed at the WEBSITE ROOT when live.** - **NEVER EVER use `/modules/billing/` in any URL, link, redirect, or file path within the billing website code.** - **All URLs must be root-relative (starting with `/` but NOT including `/modules/billing/`):** - ✅ CORRECT: `/payment_success.php`, `/cart.php`, `/order.php` - ❌ WRONG: `/modules/billing/payment_success.php`, `modules/billing/cart.php` - **This is a CRITICAL requirement that has been violated multiple times. Read this section carefully before making ANY changes to billing website files.** ### Examples of CORRECT usage: ```php // PayPal return URLs $returnUrl = $siteBase . '/payment_success.php'; $cancelUrl = $siteBase . '/payment_cancel.php'; // Header redirects header('Location: /cart.php'); header('Location: /order.php'); // Links My Account Browse Servers // Form actions