- Fixed empty caption handling in XML parameter extraction - Generated detailed startup parameters for all games from XML configs - All games now have complete troubleshooting sections - All navigation anchors working properly - 149 games successfully processed with full documentation Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| _archived | ||
| api | ||
| css | ||
| data | ||
| docs | ||
| images | ||
| includes | ||
| logs | ||
| tools | ||
| add_paypal_data_column.sql | ||
| add_service_id_column.sql | ||
| add_to_cart.php | ||
| admin.php | ||
| admin_config.php | ||
| admin_coupons.php | ||
| admin_invoices.php | ||
| admin_orders.php | ||
| admin_payments.php | ||
| adminserverlist.php | ||
| ai.php | ||
| BILLING_FIX_SUMMARY.md | ||
| bootstrap.php | ||
| cart.php | ||
| check_table.php | ||
| cleanupDB.sh | ||
| COLUMN_RENAME_SUMMARY.md | ||
| COUPON_SYSTEM.md | ||
| create_coupons_table.sql | ||
| create_invoices_table.sql | ||
| create_servers.php | ||
| cron-shop.php | ||
| diag_remote.php | ||
| docs.php | ||
| fix_invoices_table_columns.sql | ||
| FIXES_APPLIED.md | ||
| forgot_password.php | ||
| GAME_DOCS_TODO_REFERENCE.md | ||
| index.php | ||
| INVOICE_FIRST_FLOW.md | ||
| INVOICE_SYSTEM.md | ||
| invoices.php | ||
| logfile.txt | ||
| LOGGING_CHANGES_SUMMARY.md | ||
| login.php | ||
| logout.php | ||
| MIGRATION_SUMMARY.md | ||
| migration_to_invoices.sql | ||
| module.php | ||
| my_account.php | ||
| my_orders_panel.php | ||
| my_servers.php | ||
| navigation.xml | ||
| order.php | ||
| PANEL_INTEGRATION.md | ||
| payment_cancel.php | ||
| PAYMENT_IMPLEMENTATION_SUMMARY.md | ||
| payment_success.php | ||
| PAYPAL_DEBUGGING_GUIDE.md | ||
| PHASE1_COMPLETE_SUMMARY.md | ||
| privacy.php | ||
| QUICK_DEBUG_REFERENCE.md | ||
| QUICK_START.md | ||
| README.md | ||
| README_COUPON_UPDATE.md | ||
| RECENT_FIXES_SUMMARY.md | ||
| register.php | ||
| renew_server.php | ||
| reset_password.php | ||
| return.php | ||
| server_status.php | ||
| serverlist.php | ||
| STATUS_REPORT.md | ||
| test_db_connection.php | ||
| test_integration.php | ||
| TESTING_CHECKLIST.md | ||
| timestamp.txt | ||
| tos.php | ||
| update_metadata_complete.ps1 | ||
| webhook.php | ||
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)