Panel/Website
copilot-swe-agent[bot] 176f532737
feat: relocate billing runtime to module and harden updater panel pathing
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/50299e05-4ee0-4b5b-80e4-bc5f872c106e

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-05-18 13:46:11 +00:00
..
_archived moved website outside of panel folder 2026-05-13 20:00:40 -04:00
api feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
classes moved website outside of panel folder 2026-05-13 20:00:40 -04:00
css moved website outside of panel folder 2026-05-13 20:00:40 -04:00
docs moved website outside of panel folder 2026-05-13 20:00:40 -04:00
images moved website outside of panel folder 2026-05-13 20:00:40 -04:00
includes moved website outside of panel folder 2026-05-13 20:00:40 -04:00
paypal feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
sql moved website outside of panel folder 2026-05-13 20:00:40 -04:00
tools moved website outside of panel folder 2026-05-13 20:00:40 -04:00
_compat_include.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
add_override_price_column.sql moved website outside of panel folder 2026-05-13 20:00:40 -04:00
add_paypal_data_column.sql moved website outside of panel folder 2026-05-13 20:00:40 -04:00
add_remote_server_enabled_column.sql moved website outside of panel folder 2026-05-13 20:00:40 -04:00
add_service_id_column.sql moved website outside of panel folder 2026-05-13 20:00:40 -04:00
add_to_cart.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
admin.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
admin_config.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
admin_coupons.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
admin_invoices.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
admin_orders.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
admin_payments.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
admin_xml_editor.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
adminserverlist.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
ai.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
BILLING_FIX_SUMMARY.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
bootstrap.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
cart.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
check_table.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
checkout_free.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
cleanupDB.sh moved website outside of panel folder 2026-05-13 20:00:40 -04:00
COLUMN_RENAME_SUMMARY.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
COUPON_SYSTEM.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
create_coupons_table.sql moved website outside of panel folder 2026-05-13 20:00:40 -04:00
create_invoices_table.sql moved website outside of panel folder 2026-05-13 20:00:40 -04:00
create_servers.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
cron-shop.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
diag_remote.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
docs.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
fix_invoices_table_columns.sql moved website outside of panel folder 2026-05-13 20:00:40 -04:00
FIXES_APPLIED.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
forgot_password.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
GAME_DOCS_TODO_REFERENCE.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
index.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
INVOICE_FIRST_FLOW.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
INVOICE_SYSTEM.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
invoices.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
logfile.txt moved website outside of panel folder 2026-05-13 20:00:40 -04:00
LOGGING_CHANGES_SUMMARY.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
login.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
logout.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
MIGRATION_SUMMARY.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
migration_to_invoices.sql moved website outside of panel folder 2026-05-13 20:00:40 -04:00
module.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
my_account.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
my_orders_panel.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
my_servers.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
navigation.xml moved website outside of panel folder 2026-05-13 20:00:40 -04:00
normalize_billing_order_status.sql moved website outside of panel folder 2026-05-13 20:00:40 -04:00
order.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
PANEL_INTEGRATION.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
payment_cancel.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
PAYMENT_IMPLEMENTATION_SUMMARY.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
payment_success.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
PAYPAL_DEBUGGING_GUIDE.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
PHASE1_COMPLETE_SUMMARY.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
privacy.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
QUICK_DEBUG_REFERENCE.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
QUICK_START.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
README.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
README_COUPON_UPDATE.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
RECENT_FIXES_SUMMARY.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
register.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
renew_server.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
reset_password.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
return.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
server_status.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
serverlist.php feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
STATUS_REPORT.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
test_db_connection.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
test_integration.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
TESTING_CHECKLIST.md moved website outside of panel folder 2026-05-13 20:00:40 -04:00
timestamp.txt feat: relocate billing runtime to module and harden updater panel pathing 2026-05-18 13:46:11 +00:00
tos.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00
update_metadata_complete.ps1 moved website outside of panel folder 2026-05-13 20:00:40 -04:00
webhook.php moved website outside of panel folder 2026-05-13 20:00:40 -04:00

GameServers.World - Billing Module

Overview

The billing module is a complete standalone website for selling game servers. It can be deployed on the same machine as the GSP panel or on a completely separate external web host.

Documentation System

Visual TODO System

As of December 19, 2024, all game documentation includes completion tracking:

  • Complete Documentation: Displays with normal name (e.g., "Minecraft Server")
  • Incomplete Documentation: Displays with "TODO: " prefix (e.g., "TODO: Arma 3")

Current Status

  • Complete: 1 game (Minecraft - comprehensive template)
  • Incomplete: 146 games (marked with TODO prefix)

Documentation Template Standard

All complete documentation should match the Minecraft template:

  • Comprehensive ports table (ALL ports with purposes)
  • Firewall configurations (UFW, FirewallD, Windows, iptables)
  • Startup parameters with detailed explanations
  • Troubleshooting sections with specific solutions
  • Performance optimization tips
  • Security best practices
  • Resource links with citations

Viewing Documentation

  • Browse to docs.php to see all game documentation
  • Games with "TODO: " prefix need comprehensive research and writing
  • Click any game to view its documentation page

Marking Documentation Complete

When game documentation is finished:

  1. Edit docs/{game}/metadata.json
  2. Change "complete": false to "complete": true
  3. The TODO prefix will automatically disappear

Recent Updates

December 19, 2024 - Visual TODO System

  • Implemented completion tracking for all 148 game folders
  • Created PowerShell automation script (update_metadata_complete.ps1)
  • Updated docs.php with automatic TODO prefix display
  • Minecraft documentation completed as template example

November 10, 2025 - Critical Fixes

  • Fixed PayPal payment capture session issue
  • Removed cart debug logging code
  • Fixed cart page header/footer consistency
  • Implemented AJAX invoice removal with Font Awesome icons

Key Files

Documentation System

  • docs.php - Documentation browser with TODO system
  • docs/*/index.php - Individual game documentation pages
  • docs/*/metadata.json - Game metadata with completion status
  • update_metadata_complete.ps1 - Batch metadata update script

Reference Documents

  • PHASE1_COMPLETE_SUMMARY.md - Phase 1 implementation summary
  • GAME_DOCS_TODO_REFERENCE.md - Complete reference for documentation system
  • RECENT_FIXES_SUMMARY.md - All recent fixes and enhancements

Payment Integration

  • api/capture_order.php - PayPal payment capture (fixed session handling)
  • payment_success.php - Payment success redirect
  • payment_cancel.php - Payment cancellation handler

Shopping Cart

  • cart.php - Shopping cart UI with PayPal integration (cleaned up)
  • add_to_cart.php - Add items to cart
  • remove_from_cart.php - AJAX removal endpoint

Development Guidelines

Adding New Game Documentation

  1. Create folder: docs/{game-slug}/
  2. Create metadata.json:
    {
      "name": "Game Name",
      "description": "Brief description",
      "category": "game",
      "order": 100,
      "complete": false
    }
    
  3. Create index.php following Minecraft template
  4. Add optional icon.png or icon.jpg
  5. When complete, set "complete": true in metadata

Research Sources for Game Documentation

  • Official game wikis and documentation
  • LGSM (LinuxGSM) scripts and configuration files
  • Steam Community Guides (highly-rated)
  • Reddit communities (r/gameservers, game-specific)
  • GitHub repositories with server configurations
  • Official game forums
  • User-contributed solutions and fixes

Documentation Quality Standards

  • Comprehensive Ports: List ALL ports with purposes (TCP/UDP)
  • Startup Parameters: Full parameter explanations with examples
  • Troubleshooting: Specific common issues with tested solutions
  • Firewall Configs: Multiple platform examples (Linux + Windows)
  • Citations: Link to all sources used in research
  • Testing: Verify all commands and configurations are accurate

Next Priorities

Phase 2: ARMA Family + DayZ (HIGH PRIORITY)

  1. Arma 3
  2. Arma 2: Operation Arrowhead
  3. Arma 2: Combined Operations
  4. DayZ Standalone
  5. DayZ Mod
  • Counter-Strike family (1.6, Source, CS2, CS:GO)
  • Survival/Building (Rust, Terraria, Valheim, ARK)
  • Co-op Shooters (L4D series, Killing Floor series, TF2)
  • Tactical Shooters (Insurgency series, Squad)

Phase 4: Remaining Games

  • All other 50+ game folders in alphabetical order

Testing Checklist

PayPal Integration

  • User can add servers to cart
  • PayPal checkout button works
  • Payment completes successfully
  • Success page displays correctly
  • No NO_USER_SESSION errors in logs

Documentation System

  • docs.php displays all games correctly
  • TODO prefix shows for incomplete docs
  • Complete docs show without TODO prefix
  • Individual game pages load correctly
  • Navigation links work within documentation

Cart Functionality

  • Cart displays all items correctly
  • Remove button deletes items (AJAX)
  • Header and footer display consistently
  • Fonts match other billing pages

Technical Notes

Session Management

  • CRITICAL: Always use session_name("opengamepanel_web") before session_start()
  • Sessions are separate from panel sessions
  • User authentication stored in $_SESSION['website_user_id']

Database Connection

  • Uses mysqli with credentials from includes/config.inc.php
  • All database operations use native mysqli functions
  • Never use panel-specific functions

Standalone Design

  • Module must work on external hosting
  • No dependencies on panel files
  • All paths use __DIR__ relative references
  • MySQL connection direct (not through panel)

Support & Resources

  • Main project: GameServerPanel/GSP
  • Branch: Panel-unstable
  • Documentation: Browse docs.php for game-specific guides
  • Issues: Check logs in modules/billing/logs/

Last Updated: December 19, 2024
Version: 2.0 (with Visual TODO System)