6 KiB
6 KiB
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.phpto 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:
- Edit
docs/{game}/metadata.json - Change
"complete": falseto"complete": true - 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 systemdocs/*/index.php- Individual game documentation pagesdocs/*/metadata.json- Game metadata with completion statusupdate_metadata_complete.ps1- Batch metadata update script
Reference Documents
PHASE1_COMPLETE_SUMMARY.md- Phase 1 implementation summaryGAME_DOCS_TODO_REFERENCE.md- Complete reference for documentation systemRECENT_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 redirectpayment_cancel.php- Payment cancellation handler
Shopping Cart
cart.php- Shopping cart UI with PayPal integration (cleaned up)add_to_cart.php- Add items to cartremove_from_cart.php- AJAX removal endpoint
Development Guidelines
Adding New Game Documentation
- Create folder:
docs/{game-slug}/ - Create
metadata.json:{ "name": "Game Name", "description": "Brief description", "category": "game", "order": 100, "complete": false } - Create
index.phpfollowing Minecraft template - Add optional
icon.pngoricon.jpg - When complete, set
"complete": truein 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)
- Arma 3
- Arma 2: Operation Arrowhead
- Arma 2: Combined Operations
- DayZ Standalone
- DayZ Mod
Phase 3: Popular Multiplayer Games
- 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_SESSIONerrors 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")beforesession_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.phpfor game-specific guides - Issues: Check logs in
modules/billing/logs/
Last Updated: December 19, 2024
Version: 2.0 (with Visual TODO System)