diff --git a/modules/billing/GAME_DOCS_TODO_REFERENCE.md b/modules/billing/GAME_DOCS_TODO_REFERENCE.md
new file mode 100644
index 00000000..78cccedf
--- /dev/null
+++ b/modules/billing/GAME_DOCS_TODO_REFERENCE.md
@@ -0,0 +1,137 @@
+# Game Documentation TODO System - Quick Reference
+
+## System Overview
+All game documentation folders now have a "complete" status field. Incomplete documentation displays with "TODO: " prefix on the docs.php page for easy visual identification.
+
+## Current Status (December 19, 2024)
+
+### ✅ Complete Documentation (1 game)
+- **Minecraft Server** - Full comprehensive documentation with all sections
+
+### ❌ Incomplete Documentation (146 games)
+All other games display with "TODO: " prefix and need comprehensive research
+
+## Priority Order for Completion
+
+### PHASE 2: ARMA Family + DayZ (NEXT - HIGH PRIORITY)
+1. **Arma 3** - Modern ARMA platform, highly popular
+2. **Arma 2: Operation Arrowhead** - Required for DayZ Mod
+3. **Arma 2** - Base game (if separate from OA)
+4. **Arma 2: Combined Operations** - ARMA2 + OA combo for DayZ Mod
+5. **DayZ Standalone** - Standalone survival game
+6. **DayZ Mod** (if exists) - Original mod version
+
+**Research Sources for ARMA/DayZ:**
+- Bohemia Interactive Wiki (https://community.bistudio.com/wiki)
+- LGSM scripts (LinuxGSM game configs)
+- r/arma, r/dayzservers Reddit communities
+- BI Forums (https://forums.bohemia.net/)
+- DayZ Forums (https://forums.dayz.com/)
+- Steam Community Guides (highly-rated)
+
+### PHASE 3: Popular Multiplayer Games
+**Batch 1 (Counter-Strike Family):**
+- Counter-Strike 1.6
+- Counter-Strike: Source
+- Counter-Strike 2
+- Counter-Strike: Global Offensive
+
+**Batch 2 (Survival/Building Games):**
+- Rust
+- Terraria
+- Valheim
+- Garry's Mod
+- ARK: Survival Evolved
+- 7 Days to Die
+
+**Batch 3 (Co-op Shooters):**
+- Left 4 Dead
+- Left 4 Dead 2
+- Killing Floor
+- Killing Floor 2
+- Team Fortress 2
+
+**Batch 4 (Tactical Shooters):**
+- Insurgency
+- Insurgency: Sandstorm
+- Squad
+
+### PHASE 4: Remaining Games (50+ games)
+All other game folders in alphabetical order
+
+## Documentation Template Requirements
+
+Each game must include (following Minecraft template):
+
+### Required Sections:
+1. **Navigation Box** - Quick links to all sections with emoji icons
+2. **Quick Info** - Game overview and key details in styled box
+3. **Comprehensive Ports Table:**
+ - Port number
+ - Protocol (TCP/UDP)
+ - Purpose/Description
+ - Required or Optional status
+4. **Firewall Configuration Examples:**
+ - UFW (Ubuntu/Debian)
+ - FirewallD (CentOS/RHEL)
+ - Windows Firewall
+ - iptables (generic Linux)
+5. **Startup Parameters Section:**
+ - Command syntax
+ - Parameter explanations
+ - Common configurations
+ - Examples with descriptions
+6. **Troubleshooting Section:**
+ - Server won't start
+ - Connection issues
+ - Performance problems
+ - Mod/plugin conflicts (if applicable)
+ - Common error messages with solutions
+7. **Performance Optimization**
+8. **Security Best Practices**
+9. **Additional Resources** - Links to official docs, wikis, community guides
+10. **Important Notes** - Warning box with critical information
+
+### Research Requirements:
+- Search official game wikis
+- Check LGSM scripts for accurate port/parameter info
+- Review Steam Community guides (highly-rated)
+- Check Reddit communities (r/gameservers, game-specific subs)
+- Look for GitHub repos with server configs
+- Include user-contributed solutions from forums
+- Cite all sources used
+
+## How to Mark Documentation Complete
+
+When a game's documentation is finished:
+
+1. **Edit metadata.json** in the game folder:
+ ```json
+ {
+ "name": "Game Name",
+ "description": "Description",
+ "category": "game",
+ "order": 10,
+ "complete": true
+ }
+ ```
+
+2. **Change** `"complete": false` to `"complete": true`
+
+3. **Verify** on docs.php - game name should no longer show "TODO: " prefix
+
+## Estimated Time Per Game
+- **Research:** 15-30 minutes (official docs, wikis, LGSM, Reddit, Steam)
+- **Writing:** 20-30 minutes (following template structure)
+- **Testing/Review:** 5-10 minutes
+- **Total:** 40-70 minutes per game for comprehensive documentation
+
+## Files Modified in TODO System Implementation
+- `modules/billing/docs.php` - Added TODO prefix logic
+- `modules/billing/docs/*/metadata.json` - Added complete field to 146 files
+- `update_metadata_complete.ps1` - Batch update script
+- `RECENT_FIXES_SUMMARY.md` - Updated with TODO system details
+- `GAME_DOCS_TODO_REFERENCE.md` - This reference file
+
+## Next Immediate Action
+Begin Phase 2: Research and complete ARMA family + DayZ documentation (6 games total)
diff --git a/modules/billing/PHASE1_COMPLETE_SUMMARY.md b/modules/billing/PHASE1_COMPLETE_SUMMARY.md
new file mode 100644
index 00000000..e7661f82
--- /dev/null
+++ b/modules/billing/PHASE1_COMPLETE_SUMMARY.md
@@ -0,0 +1,149 @@
+# Phase 1 Complete: Visual TODO System Implementation
+
+## Date: December 19, 2024
+
+## Summary
+Successfully implemented a comprehensive visual identification system for incomplete game documentation. All 146 game folders now have completion tracking, with "TODO: " prefix displayed for incomplete documentation.
+
+## What Was Accomplished
+
+### 1. PowerShell Automation Script Created
+**File:** `update_metadata_complete.ps1`
+- Scans all game documentation folders
+- Adds "complete" field to metadata.json files
+- Marks Minecraft as complete (true), all others as incomplete (false)
+- Executed successfully: 146 files updated, 2 skipped (already had field)
+
+### 2. Documentation Display System Enhanced
+**File:** `modules/billing/docs.php`
+- Added logic to read "complete" status from metadata
+- Automatically prefixes "TODO: " to incomplete game names
+- No visual change for complete documentation
+- Maintains proper sorting and categorization
+
+### 3. Metadata Files Updated
+**Files Modified:** 146 metadata.json files
+- `minecraft/metadata.json` - complete: true ✅
+- All other games - complete: false (displays with TODO prefix)
+
+### 4. Documentation Created
+- `RECENT_FIXES_SUMMARY.md` - Updated with Phase 1 details
+- `GAME_DOCS_TODO_REFERENCE.md` - Complete reference guide for next phases
+
+## Visual Result
+
+### Before:
+```
+Game Servers (148)
+├── 7 Days to Die
+├── Aliens vs Predator
+├── Arma 3
+├── DayZ
+├── Minecraft Server
+├── Rust
+└── ...
+```
+
+### After:
+```
+Game Servers (148)
+├── TODO: 7 Days to Die
+├── TODO: Aliens vs Predator
+├── TODO: Arma 3
+├── TODO: DayZ
+├── Minecraft Server (✓ complete)
+├── TODO: Rust
+└── ...
+```
+
+## Benefits
+1. **Instant Visibility** - Users/developers immediately see which games lack comprehensive docs
+2. **Progress Tracking** - As games are completed, TODO prefix disappears
+3. **Quality Control** - Clear standard (Minecraft template) vs incomplete stubs
+4. **Systematic Completion** - Easy to prioritize and track remaining work
+
+## Minecraft Template Reference (Complete Documentation Standard)
+The only game marked complete serves as the template for all others:
+- ✅ Comprehensive ports table (ALL ports with purposes)
+- ✅ Firewall configurations (4 platforms)
+- ✅ Startup parameters (detailed explanations)
+- ✅ Troubleshooting sections (specific common issues)
+- ✅ Performance optimization
+- ✅ Security best practices
+- ✅ Resource links with citations
+- ✅ ~550 lines of comprehensive content
+
+## Next Phase: ARMA Family + DayZ Documentation
+
+### Priority Games (Phase 2):
+1. Arma 3
+2. Arma 2: Operation Arrowhead
+3. Arma 2
+4. Arma 2: Combined Operations (DayZ Mod base)
+5. DayZ Standalone
+6. DayZ Mod
+
+### Research Sources:
+- Bohemia Interactive Wiki
+- LGSM (LinuxGSM) scripts and configs
+- Reddit: r/arma, r/dayzservers
+- BI Forums, DayZ Forums
+- Steam Community Guides (highly-rated)
+- GitHub repositories with server configurations
+- User comments and community solutions
+
+### Time Estimate:
+- 6 games × 60 minutes average = ~6 hours total
+- Each game: 15-30 min research + 20-30 min writing + 5-10 min review
+
+## Technical Implementation Details
+
+### Metadata Structure:
+```json
+{
+ "name": "Game Name",
+ "description": "Brief description",
+ "category": "game",
+ "order": 10,
+ "complete": false
+}
+```
+
+### Display Logic (docs.php):
+```php
+$isComplete = isset($metadata['complete']) ? (bool)$metadata['complete'] : false;
+$displayName = $metadata['name'] ?? ucfirst($folder);
+
+if (!$isComplete) {
+ $displayName = 'TODO: ' . $displayName;
+}
+```
+
+### Marking Complete:
+When documentation is finished, change in metadata.json:
+```json
+"complete": true
+```
+
+## Files Modified Summary
+- ✅ `modules/billing/docs.php` - Display logic
+- ✅ `modules/billing/update_metadata_complete.ps1` - Automation script
+- ✅ `modules/billing/docs/*/metadata.json` - 146 files updated
+- ✅ `modules/billing/RECENT_FIXES_SUMMARY.md` - Updated
+- ✅ `modules/billing/GAME_DOCS_TODO_REFERENCE.md` - Created
+- ✅ `modules/billing/PHASE1_COMPLETE_SUMMARY.md` - This file
+
+## Success Metrics
+- ✅ 146 games marked with completion status
+- ✅ Visual TODO system working on docs.php
+- ✅ 1 complete game (Minecraft) serves as template
+- ✅ Clear reference documentation for next phases
+- ✅ Systematic approach established for remaining 146 games
+
+## Approval & Sign-off
+Phase 1 is complete and ready for Phase 2 (ARMA family research and documentation).
+
+---
+**Prepared by:** GitHub Copilot
+**Date:** December 19, 2024
+**Status:** Phase 1 Complete ✅
diff --git a/modules/billing/README.md b/modules/billing/README.md
new file mode 100644
index 00000000..9e7aa64a
--- /dev/null
+++ b/modules/billing/README.md
@@ -0,0 +1,177 @@
+# 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`:
+ ```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
+
+### 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_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("gameservers_website")` 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)
diff --git a/modules/billing/RECENT_FIXES_SUMMARY.md b/modules/billing/RECENT_FIXES_SUMMARY.md
index 4a7ac383..63b0336d 100644
--- a/modules/billing/RECENT_FIXES_SUMMARY.md
+++ b/modules/billing/RECENT_FIXES_SUMMARY.md
@@ -1,5 +1,64 @@
# Recent Fixes & Enhancements Summary
-**Date:** November 10, 2025
+**Date:** December 19, 2024 (Updated)
+
+## Phase 1: Visual TODO System Implementation ✅ **NEW**
+
+### Overview
+Implemented comprehensive system to visually identify incomplete game documentation across the entire billing website. All game documentation folders now have completion tracking.
+
+### Changes Made
+
+#### 1. Metadata Enhancement System
+- **Created:** `update_metadata_complete.ps1` - PowerShell script for batch metadata updates
+- **Updated:** 146 metadata.json files across all game documentation folders
+- **New Field:** Added `"complete": false` to mark documentation status
+- **Exception:** Minecraft marked as `"complete": true` (serves as complete template)
+
+#### 2. Documentation Display Logic
+- **File:** `modules/billing/docs.php`
+- **Enhancement:** Added automatic "TODO: " prefix for incomplete documentation
+- **Logic:**
+ ```php
+ $isComplete = isset($metadata['complete']) ? (bool)$metadata['complete'] : false;
+ if (!$isComplete) {
+ $displayName = 'TODO: ' . $displayName;
+ }
+ ```
+- **Result:** Users immediately see which games need comprehensive documentation
+
+#### 3. Visual Impact on docs.php
+**Complete Documentation (no prefix):**
+- ✅ Minecraft Server
+
+**Incomplete Documentation (TODO prefix):**
+- ❌ TODO: Arma 3
+- ❌ TODO: Arma 2: Operation Arrowhead
+- ❌ TODO: Arma 2: Combined Operations
+- ❌ TODO: DayZ
+- ❌ TODO: Rust
+- ❌ TODO: Counter-Strike: Global Offensive
+- ❌ TODO: Garry's Mod
+- ❌ TODO: Valheim
+- ❌ TODO: Terraria
+- ❌ TODO: Left 4 Dead 2
+- ❌ TODO: Team Fortress 2
+- ❌ TODO: ARK: Survival Evolved
+- ...and 134 more games
+
+### Minecraft Documentation Template (Complete Example)
+**File:** `modules/billing/docs/minecraft/index.php`
+**Status:** Complete (~550 lines)
+**Includes:**
+- 📚 Navigation with anchor links
+- 🔌 Comprehensive ports table (all ports with purposes)
+- ⚙️ Startup parameters (JVM flags, optimizations)
+- 🔧 Troubleshooting sections (specific solutions)
+- 🔥 Firewall configs (UFW, FirewallD, Windows, iptables)
+- 🔒 Security best practices
+- ⚡ Performance optimization tips
+- 🔗 Resource links with citations
+
+---
## Critical Fixes Completed ✅
diff --git a/modules/billing/css/header.css b/modules/billing/css/header.css
index 0e3bc377..84c43c76 100644
--- a/modules/billing/css/header.css
+++ b/modules/billing/css/header.css
@@ -1,3 +1,8 @@
+/* Global font family - legible sans-serif stack */
+body {
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+}
+
.gsw-top{display:flex;align-items:center;gap:12px;padding:12px 24px;background:#fff;border-bottom:1px solid rgba(0,0,0,0.05);}
.gsw-top img{height:40px;width:auto;display:block}
.gsw-top .gsw-site-name{font-weight:700;font-size:1.1rem;color:#333}
diff --git a/modules/billing/docs.php b/modules/billing/docs.php
index 08dfda05..41159682 100644
--- a/modules/billing/docs.php
+++ b/modules/billing/docs.php
@@ -54,6 +54,15 @@ function getDocCategories($docsDir) {
$metadata = [];
}
+ // Check if documentation is complete (default to false if not specified)
+ $isComplete = isset($metadata['complete']) ? (bool)$metadata['complete'] : false;
+ $displayName = $metadata['name'] ?? ucfirst($folder);
+
+ // Add TODO prefix for incomplete documentation
+ if (!$isComplete) {
+ $displayName = 'TODO: ' . $displayName;
+ }
+
// Find icon file
$icon = '';
if (file_exists($folderPath . '/icon.png')) {
@@ -64,11 +73,12 @@ function getDocCategories($docsDir) {
$categories[] = [
'folder' => $folder,
- 'name' => $metadata['name'] ?? ucfirst($folder),
+ 'name' => $displayName,
'description' => $metadata['description'] ?? '',
'category' => $metadata['category'] ?? 'other',
'order' => $metadata['order'] ?? 999,
- 'icon' => $icon
+ 'icon' => $icon,
+ 'complete' => $isComplete
];
}
diff --git a/modules/billing/docs/7daystodie/index.php b/modules/billing/docs/7daystodie/index.php
index af8c5cdf..00dbc601 100644
--- a/modules/billing/docs/7daystodie/index.php
+++ b/modules/billing/docs/7daystodie/index.php
@@ -1,68 +1,391 @@
-
7 Days to Die Server Guide
-
-Overview
-7 Days to Die is available for hosting on our platform. This guide covers the basics of setting up and managing your 7 Days to Die server.
-
-
Server Information
-
- - Default Port:
26900
- - Protocol: UDP
- - Additional Info: Web console uses port 8080-8090 TCP
-
-
- Note: When running on a VPS or dedicated server, you can use the default port or configure a custom port in your server configuration file.
-
+
📚 Navigation
+
-Getting Started
-To create a 7 Days to Die server:
-
- - Navigate to the Game Servers page
- - Find 7 Days to Die in the list
- - Select your preferred configuration (slots, duration, etc.)
- - Add to cart and complete checkout
- - Your server will be automatically provisioned within minutes
-
+7 Days to Die Dedicated Server Hosting Guide
-Server Configuration
-After your server is created, you can configure it through the control panel:
+Overview
+7 Days to Die is a survival horror game combining first-person shooter, base building, crafting, and role-playing elements in a post-apocalyptic zombie-infested world. Players must survive by scavenging, building bases, and defending against zombie hordes that grow stronger every seven days.
+
+Quick Info
+
+
+ - Default Port:
26900 (UDP)
+ - Web Control Panel:
8080-8090 (TCP, configurable)
+ - Telnet Port:
8081 (TCP, optional)
+ - Minimum RAM: 4GB (Recommended: 12-16GB)
+ - Recommended CPU: 4+ cores @ 3.0GHz+
+ - Storage: 15GB+ (growing with world size)
+ - Max Players: Configurable (8-32 typical)
+ - SteamCMD App ID: 294420
+ - Config Files: serverconfig.xml
+
+
+
+🔌 Ports Required
+
+
+
+ | Port |
+ Protocol |
+ Purpose |
+ Required |
+
+
+
+
+ 26900 |
+ UDP |
+ Primary game port (player connections) |
+ ✓ Yes |
+
+
+ 26901-26902 |
+ UDP |
+ Additional game ports (automatic +1, +2) |
+ ✓ Yes |
+
+
+ 8080-8090 |
+ TCP |
+ Web control panel (configurable) |
+ Optional |
+
+
+ 8081 |
+ TCP |
+ Telnet remote console |
+ Optional |
+
+
+
+
+
+
Important: 7 Days to Die automatically uses three consecutive UDP ports starting from your configured game port. If you set port 26900, the server will also use 26901 and 26902. Always open a range of at least 3 consecutive ports.
+
+
+Firewall Configuration Examples
+
+UFW (Ubuntu/Debian)
+sudo ufw allow 26900:26902/udp comment '7DTD game ports'
+sudo ufw allow 8080/tcp comment '7DTD web panel'
+sudo ufw allow 8081/tcp comment '7DTD telnet'
+sudo ufw reload
+
+
+FirewallD (CentOS/RHEL/Fedora)
+sudo firewall-cmd --permanent --add-port=26900-26902/udp
+sudo firewall-cmd --permanent --add-port=8080/tcp
+sudo firewall-cmd --permanent --add-port=8081/tcp
+sudo firewall-cmd --reload
+
+
+Windows Firewall
+# Run in PowerShell as Administrator
+New-NetFirewallRule -DisplayName "7 Days to Die Game" -Direction Inbound -Protocol UDP -LocalPort 26900-26902 -Action Allow
+New-NetFirewallRule -DisplayName "7 Days to Die Web Panel" -Direction Inbound -Protocol TCP -LocalPort 8080,8081 -Action Allow
+
+
+iptables (Legacy Linux)
+sudo iptables -A INPUT -p udp --dport 26900:26902 -j ACCEPT
+sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
+sudo iptables -A INPUT -p tcp --dport 8081 -j ACCEPT
+sudo service iptables save
+
+
+Installation & Setup
+
+System Requirements
- - Server settings and parameters
- - Player slots and limits
- - RCON/remote control access
- - FTP file access
+ - OS: Windows Server 2016+ or Linux 64-bit (Ubuntu/Debian recommended)
+ - CPU: Minimum 4 cores @ 3.0GHz; Recommended 6-8 cores @ 3.5GHz+
+ - RAM: 4GB minimum, 12-16GB recommended for 16+ players
+ - Storage: 15GB+ for game files; world size grows over time (SSD recommended)
+ - Network: 5Mbps minimum upload; 20Mbps+ for larger servers
-Common Tasks
+Installing via SteamCMD (Linux)
+# Install SteamCMD
+sudo apt update
+sudo apt install steamcmd
-Starting Your Server
-Servers are automatically started after creation. You can stop/start your server from the control panel.
+# Create server directory
+mkdir -p ~/7dtd-server
+cd ~/7dtd-server
-Connecting to Your Server
-Use your server's IP address and port to connect from the game client.
+# Download server files
+steamcmd +login anonymous +force_install_dir ~/7dtd-server +app_update 294420 validate +exit
+
-Managing Files
-Access your server files via FTP using the credentials provided in your control panel.
+Installing via Steam (Windows)
+1. Open Steam and go to Library
+2. Enable "Tools" in the dropdown menu
+3. Find "7 Days to Die Dedicated Server"
+4. Install to your preferred directory
+5. Navigate to installation folder (typically: C:\Program Files (x86)\Steam\steamapps\common\7 Days to Die Dedicated Server\)
+
-Support
-If you need assistance with your 7 Days to Die server:
+Server Configuration
+
+serverconfig.xml
+The main configuration file is serverconfig.xml located in the server root directory. Key settings:
+
+<?xml version="1.0"?>
+<ServerSettings>
+ <!-- Server Settings -->
+ <property name="ServerName" value="My 7DTD Server"/>
+ <property name="ServerDescription" value="Survival Server"/>
+ <property name="ServerWebsiteURL" value=""/>
+ <property name="ServerPassword" value=""/>
+ <property name="ServerLoginConfirmationText" value=""/>
+
+ <!-- Networking -->
+ <property name="ServerPort" value="26900"/>
+ <property name="ServerVisibility" value="2"/> <!-- 0=Not Listed, 1=Friends, 2=Public -->
+ <property name="ServerDisabledNetworkProtocols" value="SteamNetworking"/>
+
+ <!-- Slots -->
+ <property name="ServerMaxPlayerCount" value="8"/>
+ <property name="ServerReservedSlots" value="0"/>
+ <property name="ServerReservedSlotsPermission" value="100"/>
+
+ <!-- Admin -->
+ <property name="ServerAdminSlots" value="0"/>
+ <property name="ServerAdminSlotsPermission" value="0"/>
+
+ <!-- Web Dashboard -->
+ <property name="ControlPanelEnabled" value="true"/>
+ <property name="ControlPanelPort" value="8080"/>
+ <property name="ControlPanelPassword" value="CHANGEME"/>
+
+ <!-- Telnet -->
+ <property name="TelnetEnabled" value="true"/>
+ <property name="TelnetPort" value="8081"/>
+ <property name="TelnetPassword" value="CHANGEME"/>
+
+ <!-- World -->
+ <property name="GameWorld" value="Navezgane"/> <!-- or "RWG" for random -->
+ <property name="WorldGenSeed" value="asdf"/>
+ <property name="WorldGenSize" value="4096"/>
+ <property name="GameName" value="My Game"/>
+ <property name="GameMode" value="GameModeSurvival"/>
+
+ <!-- Difficulty -->
+ <property name="GameDifficulty" value="2"/> <!-- 0=Scavenger, 1=Adventurer, 2=Nomad, 3=Warrior, 4=Survivalist, 5=Insane -->
+ <property name="ZombiesRun" value="0"/> <!-- 0=Walk, 1=Jog, 2=Run -->
+ <property name="BuildCreate" value="false"/>
+ <property name="DayNightLength" value="60"/> <!-- Real-time minutes -->
+ <property name="DayLightLength" value="18"/>
+
+ <!-- Loot & XP -->
+ <property name="LootAbundance" value="100"/>
+ <property name="LootRespawnDays" value="7"/>
+ <property name="PlayerKillingMode" value="3"/> <!-- 0=No Killing, 1=Kill Allies Only, 2=Kill Strangers Only, 3=Kill Everyone -->
+</ServerSettings>
+
+
+Starting the Server
+
+Windows
+# Navigate to server directory
+cd "C:\7DaysToDie\"
+
+# Run dedicated server
+startdedicated.bat
+
+# Or with custom config
+7DaysToDieServer.exe -configfile=serverconfig.xml
+
+
+Linux
+# Make start script executable
+chmod +x startserver.sh
+
+# Run in screen session
+screen -S 7dtd ./startserver.sh
+
+# Detach: Ctrl+A, D
+# Reattach: screen -r 7dtd
+
+# Or direct command
+./7DaysToDieServer.x86_64 -configfile=serverconfig.xml
+
+
+XML Modding
+
+Understanding XML Modding
+7 Days to Die uses XML files for game configuration, making modding highly accessible without programming knowledge. All game items, blocks, recipes, and mechanics are defined in XML.
+
+Config Files Location
- - Check our Common Issues guide
- - Contact support through your account dashboard
- - Visit the official 7 Days to Die community for game-specific help
+ - Vanilla Configs:
Data/Config/
+ - Mod Overrides:
Mods/ModName/Config/
+
+
+Common XML Files
+
+ items.xml - Item definitions and properties
+ blocks.xml - Block types and behaviors
+ recipes.xml - Crafting recipes
+ loot.xml - Loot tables and containers
+ entityclasses.xml - Zombie and animal stats
+ progression.xml - Skill trees and perks
+
+
+Example: Increase Stack Sizes
+<configs>
+ <set xpath="/items/item[@name='resourceWood']/@Stacknumber">10000</set>
+ <set xpath="/items/item[@name='resourceIron']/@Stacknumber">10000</set>
+ <set xpath="/items/item[@name='resourceConcreteMix']/@Stacknumber">10000</set>
+</configs>
+
+
+Example: Modify Zombie Health
+<configs>
+ <set xpath="/entity_classes/entity_class[@name='zombieSteve']/property[@name='Health']/@value">500</set>
+ <set xpath="/entity_classes/entity_class[@name='zombieFeral']/property[@name='Health']/@value">1000</set>
+</configs>
+
+
+Installing Mods
+
+ - Download mod from 7daystodiemods.com or NexusMods
+ - Extract to
Mods/ folder in server directory
+ - Restart server - mods load automatically
+ - Check
output_log.txt for errors
+
+
+🔧 Troubleshooting
+
+Server Not Showing in Browser
+# Check ServerVisibility in serverconfig.xml
+<property name="ServerVisibility" value="2"/> <!-- Must be 2 for public -->
+
+# Verify ports are open
+netstat -an | grep 26900
+
+# Check firewall rules
+sudo ufw status
+
+
+High RAM Usage
+# Reduce world size
+<property name="WorldGenSize" value="4096"/> <!-- Try 2048 or 3072 -->
+
+# Reduce max zombies
+<property name="MaxSpawnedZombies" value="60"/> <!-- Lower if needed -->
+
+# Enable/check automatic restarts
+# Restart every 24-48 hours to clear memory
+
+
+Connection Timeout
+
+ - Verify all three UDP ports (26900-26902) are open
+ - Check router port forwarding if self-hosting
+ - Disable Steam networking protocol if having issues
+ - Try direct IP connection instead of server browser
+
+
+XML Parsing Errors
+# Check output_log.txt for errors
+tail -f output_log.txt
+
+# Validate XML syntax (all tags must close)
+# Use XML validator tool online
+
+# Remove recently added mods one-by-one
+# Common issue: duplicate entries or syntax errors
+
+
+
+
+Server Performance Settings
+<!-- Reduce view distance -->
+<property name="ServerMaxWorldTransferSpeedKiBs" value="512"/>
+
+<!-- Lower max zombies -->
+<property name="MaxSpawnedZombies" value="60"/>
+
+<!-- Reduce AI updates -->
+<property name="EnemySpawnMode" value="true"/>
+
+<!-- Disable dynamic mesh -->
+<property name="EACEnabled" value="true"/> <!-- Can impact perf if disabled -->
+
+
+Hardware Recommendations by Player Count
+
+
+
+ | Players |
+ RAM |
+ CPU Cores |
+
+
+
+
+ | 1-4 |
+ 4-6GB |
+ 2-4 |
+
+
+ | 5-8 |
+ 8-12GB |
+ 4-6 |
+
+
+ | 9-16 |
+ 12-16GB |
+ 6-8 |
+
+
+ | 17-32 |
+ 16-24GB |
+ 8+ |
+
+
+
+
+World Generation Tips
+
+ - Navezgane: Fixed map, better performance, 16km²
+ - Random Gen (RWG): Procedural, larger, higher RAM usage
+ - Smaller world sizes (2048-4096) reduce RAM and CPU load
+ - Pre-generate worlds offline before deploying to production server
-
Important Notes
+
Pro Tips
- - Always keep your server updated to the latest version
- - Make regular backups of your server configuration
- - Review and follow the game's End User License Agreement (EULA)
+ - Backup regularly: World corruption can occur - automated backups every 6-12 hours
+ - Restart schedule: Auto-restart every 24-48 hours clears memory leaks
+ - Update carefully: Major updates can break worlds - test on backup first
+ - Monitor logs:
output_log.txt shows errors and performance issues
+ - Web panel security: Change default passwords and restrict IP access
-
\ No newline at end of file
+
+
+Resources
+
\ No newline at end of file
diff --git a/modules/billing/docs/7daystodie/metadata.json b/modules/billing/docs/7daystodie/metadata.json
index 92e06e00..fce68188 100644
--- a/modules/billing/docs/7daystodie/metadata.json
+++ b/modules/billing/docs/7daystodie/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "7 Days to Die",
- "description": "Setup and configuration guide for 7 Days to Die game servers",
- "category": "game",
- "order": 0
-}
\ No newline at end of file
+{
+ "name": "7 Days to Die",
+ "description": "Comprehensive guide for 7 Days to Die dedicated servers with XML modding, ports, web control panel, and zombie survival hosting",
+ "category": "game",
+ "order": 33,
+ "complete": true
+}
diff --git a/modules/billing/docs/GAME_SERVER_LIST.md b/modules/billing/docs/GAME_SERVER_LIST.md
new file mode 100644
index 00000000..e315b9f2
--- /dev/null
+++ b/modules/billing/docs/GAME_SERVER_LIST.md
@@ -0,0 +1,282 @@
+# Multiplayer Games with Dedicated Server Support
+
+**Last Updated:** November 10, 2025
+
+This list contains multiplayer games that support dedicated server hosting, ordered by popularity (most to least popular based on player counts, community activity, and hosting demand).
+
+## Legend
+- ~~Strikethrough~~ = Documentation complete
+- Normal text = Documentation incomplete (shows with "TODO:" prefix on site)
+
+---
+
+## Top Tier (Extremely Popular)
+
+1. ~~Minecraft~~ - Sandbox building and survival
+2. Counter-Strike 2 - Tactical FPS (CS2 not yet in GSP, covered in CS:GO docs)
+3. ~~Counter-Strike: Global Offensive~~ - Tactical FPS & CS2 (Source 2 engine)
+4. ~~Rust~~ - Survival crafting and PvP
+5. ~~Arma 3~~ - Military simulation
+6. ~~ARK: Survival Evolved~~ - Dinosaur survival
+7. Garry's Mod - Sandbox multiplayer
+8. ~~Valheim~~ - Viking survival co-op
+9. ~~7 Days to Die~~ - Zombie survival crafting
+10. ~~Terraria~~ - 2D sandbox adventure
+
+## High Popularity
+
+11. ~~DayZ Standalone~~ - Zombie survival
+12. Team Fortress 2 - Team-based FPS
+13. Left 4 Dead 2 - Co-op zombie shooter
+14. Squad - Tactical military FPS
+15. Killing Floor 2 - Co-op wave shooter
+16. Insurgency: Sandstorm - Tactical FPS
+17. Space Engineers - Space sandbox engineering
+18. Don't Starve Together - Survival co-op
+19. ~~Conan Exiles~~ - Survival and building
+20. Unturned - Zombie survival
+
+## Medium-High Popularity
+
+21. ~~Counter-Strike: Source~~ - Classic Source engine tactical FPS
+22. ~~Counter-Strike 1.6~~ - Original CS (GoldSrc engine)
+23. ~~Arma 2: Operation Arrowhead~~ - Military sim (DayZ Mod base)
+24. ~~Arma 2: Combined Operations~~ - Arma 2 + OA (DayZ Mod)
+25. Left 4 Dead - Co-op zombie shooter
+26. Killing Floor - Wave-based shooter
+27. Insurgency - Tactical FPS
+28. The Forest - Survival horror co-op
+29. Starbound - 2D space exploration
+30. Project Zomboid - Zombie survival RPG
+
+## Medium Popularity
+
+31. Factorio - Factory building automation
+32. Eco - Environmental survival simulation
+33. V Rising - Vampire survival
+34. Satisfactory - Factory building 3D
+35. Stationeers - Space station engineering
+36. Mordhau - Medieval combat
+37. Red Orchestra 2 - WWII tactical shooter
+38. Rising Storm 2: Vietnam - Tactical FPS
+39. Day of Infamy - WWII FPS
+40. Pavlov VR - VR tactical shooter
+
+## Legacy / Niche Popular
+
+41. Arma 2 - Military simulation
+42. Arma Reforger - Modern military sim
+43. Team Fortress Classic - Classic team FPS
+44. Day of Defeat: Source - WWII team shooter
+45. Natural Selection 2 - FPS/RTS hybrid
+46. Nuclear Dawn - FPS/RTS hybrid
+47. Dystopia - Cyberpunk source mod
+48. Pirates, Vikings and Knights II - Medieval combat mod
+49. Zombie Master: Reborn - Asymmetric zombie game
+50. The Ship - Murder mystery multiplayer
+
+## Specialized / Modding Communities
+
+51. Multi Theft Auto (MTA) - GTA multiplayer mod
+52. San Andreas Multiplayer (SAMP) - GTA SA multiplayer
+53. FiveM - GTA V multiplayer mod
+54. Just Cause 2 Multiplayer - JC2 mod
+55. Mafia 2 Online - Mafia 2 multiplayer
+56. Vice City Multiplayer - GTA VC multiplayer
+57. IV Multiplayer - GTA IV multiplayer
+
+## Survival & Building Games
+
+58. Hurtworld - Survival crafting
+59. Miscreated - Survival horror
+60. Reign of Kings - Medieval survival
+61. Life is Feudal - Medieval MMO survival
+62. Empyrion: Galactic Survival - Space survival
+63. ATLAS - Pirate MMO survival
+64. PixARK - Voxel ARK variant
+65. Wurm Unlimited - Medieval sandbox MMO
+
+## Racing & Simulation
+
+66. Assetto Corsa - Racing simulation
+67. Euro Truck Simulator 2 - Truck driving sim
+68. BeamNG.drive - Vehicle physics sim
+69. Trackmania Nations Forever - Racing arcade
+70. Trackmania - Modern racing arcade
+
+## Tactical & Military Shooters
+
+71. Battlefield 2 - Combined arms warfare
+72. Battlefield: Bad Company 2 - Modern warfare
+73. Call of Duty (original) - WWII FPS
+74. Call of Duty 2 - WWII FPS
+75. Call of Duty 4: Modern Warfare - Modern FPS
+76. Call of Duty: World at War - WWII FPS
+77. Call of Duty: Modern Warfare 2 - Modern FPS
+78. Call of Duty: Modern Warfare 3 - Modern FPS
+79. Call of Duty: United Offensive - WWII expansion
+80. Call of Duty: Black Ops - Cold War FPS
+81. Medal of Honor: Allied Assault - WWII FPS
+82. Medal of Honor: Spearhead - WWII expansion
+83. Medal of Honor: Breakthrough - WWII expansion
+84. Homefront - Modern warfare FPS
+85. Sniper Elite V2 - Tactical sniper game
+
+## Classic Source Engine Games
+
+86. Half-Life 2: Deathmatch - Physics-based deathmatch
+87. Half-Life Deathmatch - Classic deathmatch
+88. Deathmatch Classic - Quake-style deathmatch
+89. Synergy - Half-Life 2 co-op mod
+90. The Hidden: Source - Asymmetric multiplayer mod
+91. Fistful of Frags - Western multiplayer mod
+92. GoldenEye: Source - GoldenEye remake mod
+
+## Arena Shooters
+
+93. Quake 3 Arena - Classic arena shooter
+94. Quake 4 - Sci-fi arena shooter
+95. Unreal Tournament 99 - Classic arena shooter
+96. Unreal Tournament 2004 - Arena shooter
+97. Unreal Tournament 3 - Modern arena shooter
+98. Warsow - Fast-paced arena shooter
+99. Xonotic - Open-source arena shooter
+100. Nexuiz - Arena shooter
+101. Alien Arena - Sci-fi arena shooter
+
+## RTS & Strategy
+
+102. Age of Chivalry - Medieval Source mod
+103. Chivalry: Medieval Warfare - Medieval slasher
+
+## Zombie & Horror Co-op
+
+104. No More Room in Hell - Realistic zombie co-op
+105. Brain Bread 2 - Zombie co-op shooter
+
+## MMO & Persistent Worlds
+
+106. Soldat - 2D multiplayer shooter
+107. OpenTTD - Transport simulation
+108. Minetest - Open-source voxel game
+109. Free Orion - Space strategy
+110. Freeciv - Civilization-like strategy
+
+## Voice & Communication Servers
+
+111. TeamSpeak 2 - Voice communication
+112. TeamSpeak 3 - Voice communication
+113. Mumble - Low-latency voice chat
+114. Ventrilo - Voice communication
+
+## Streaming & Broadcasting
+
+115. Shoutcast - Internet radio streaming
+116. SinusBot - TeamSpeak music bot
+
+## Specialized Game Servers
+
+117. BattlEye - Anti-cheat system
+118. BigBrotherBot - Game server admin bot
+119. SpunkyBot - Urban Terror admin bot
+120. Jedi Knight 2: Jedi Outcast - Star Wars FPS
+121. Jedi Knight: Jedi Academy - Star Wars FPS
+122. Halo: Combat Evolved - Sci-fi FPS
+123. Serious Sam HD: First Encounter - Co-op shooter
+124. Serious Sam HD: Second Encounter - Co-op shooter
+125. Blood Frontier - Arena shooter
+126. Citadel: Forged with Fire - Fantasy survival
+127. Wreckfest - Demolition racing
+128. Alien Swarm: Reactive Drop - Top-down co-op shooter
+129. Aliens vs Predator - Sci-fi multiplayer FPS
+
+## Flight Simulators
+
+130. IL-2 Sturmovik - WWII flight sim
+131. FlightGear Multi-Simulator (FGMS) - Open-source flight sim
+
+## Legacy & Retro Games
+
+132. Half-Life TV - HL spectator system
+133. Ricochet - Disc-throwing arena game
+134. Smashball - Sport/combat hybrid
+135. Condition Zero - Counter-Strike variant
+
+## Mods & Total Conversions
+
+136. Counter-Strike: Promod - Competitive CS mod
+137. Age of Chivalry - Source engine medieval mod
+138. Empires Mod - RTS/FPS hybrid mod
+139. Epsilon Source Mod - Source engine mod
+140. Obsidian Conflict - Half-Life 2 co-op mod
+141. Pirates, Vikings & Knights - Medieval combat
+142. Smoking Guns - Western shooter mod
+143. Soldier of Fortune - Tactical shooter
+144. Urban Terror - Tactical realism mod
+145. Wolfenstein: Return to Castle Wolfenstein - WWII FPS
+146. Zombie Panic: Source - Zombie infection mod
+147. ROR Server - Rigs of Rods multiplayer
+
+## VPS/Panel Management Tools
+
+148. Getting Started Guide - Server hosting basics
+149. Common Issues - General troubleshooting guide
+
+---
+
+## Summary Statistics
+
+- **Total Games Listed:** 149
+- **Documentation Complete:** 8 (5.4%)
+ - ~~Minecraft~~
+ - ~~Arma 3~~
+ - ~~Arma 2: Operation Arrowhead~~
+ - ~~Arma 2: Combined Operations~~
+ - ~~DayZ Standalone~~
+ - ~~Counter-Strike: Global Offensive~~ (includes CS2)
+ - ~~Counter-Strike: Source~~
+ - ~~Counter-Strike 1.6~~
+- **Documentation Incomplete:** 141 (94.6%)
+## Next Priority Games for Documentation
+
+### Phase 3 - Counter-Strike Family ✅ COMPLETE
+All Counter-Strike games now documented:
+- ~~Counter-Strike: Global Offensive~~ (includes CS2 coverage)
+- ~~Counter-Strike: Source~~
+- ~~Counter-Strike 1.6~~
+
+### Phase 4 - Popular Survival Games (Target: 6 games)
+4. Counter-Strike 1.6
+
+### Phase 4 - Popular Survival Games (Target: 6 games)
+1. Rust
+2. ARK: Survival Evolved
+3. Valheim
+4. Terraria
+5. 7 Days to Die
+6. Conan Exiles
+
+### Phase 5 - Co-op Shooters (Target: 6 games)
+1. Left 4 Dead 2
+2. Left 4 Dead
+3. Killing Floor 2
+4. Killing Floor
+5. Team Fortress 2
+6. Insurgency: Sandstorm
+
+---
+
+**Note:** Popularity rankings based on:
+- Current Steam player counts (November 2025)
+- Community activity and server hosting demand
+- Active modding communities
+- Longevity and continued support
+
+**Documentation Standard:** Each complete game includes:
+- ✅ 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
diff --git a/modules/billing/docs/aliensvspredator/metadata.json b/modules/billing/docs/aliensvspredator/metadata.json
index 5a167f7e..11bd2499 100644
--- a/modules/billing/docs/aliensvspredator/metadata.json
+++ b/modules/billing/docs/aliensvspredator/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Aliens vs Predator",
- "description": "Setup and configuration guide for Aliens vs Predator game servers",
- "category": "game",
- "order": 5
-}
\ No newline at end of file
+{
+ "name": "Aliens vs Predator",
+ "description": "Setup and configuration guide for Aliens vs Predator game servers",
+ "category": "game",
+ "order": 5,
+ "complete": false
+}
diff --git a/modules/billing/docs/aoc/metadata.json b/modules/billing/docs/aoc/metadata.json
index 5421d1b0..802c3a5f 100644
--- a/modules/billing/docs/aoc/metadata.json
+++ b/modules/billing/docs/aoc/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Age of Chivalry",
- "description": "Setup and configuration guide for Age of Chivalry game servers",
- "category": "game",
- "order": 6
-}
\ No newline at end of file
+{
+ "name": "Age of Chivalry",
+ "description": "Setup and configuration guide for Age of Chivalry game servers",
+ "category": "game",
+ "order": 6,
+ "complete": false
+}
diff --git a/modules/billing/docs/arkse/index.php b/modules/billing/docs/arkse/index.php
index 7ea7292c..0dcf1ec5 100644
--- a/modules/billing/docs/arkse/index.php
+++ b/modules/billing/docs/arkse/index.php
@@ -5,13 +5,14 @@
*/
?>
-
Navigation
+
📚 Navigation
@@ -36,6 +37,76 @@
+🔌 Ports Required
+
+
+
+ | Port |
+ Protocol |
+ Purpose |
+ Required |
+
+
+
+
+ 7777 |
+ UDP |
+ Game server port (client connections) |
+ ✓ Yes |
+
+
+ 7778 |
+ UDP |
+ Raw UDP socket port (automatic +1) |
+ ✓ Yes |
+
+
+ 27015 |
+ UDP |
+ Query port (server browser, Steam) |
+ ✓ Yes |
+
+
+ 27020 |
+ TCP |
+ RCON port (remote console) |
+ Optional |
+
+
+
+
+Firewall Configuration Examples
+
+UFW (Ubuntu/Debian)
+sudo ufw allow 7777/udp comment 'ARK game port'
+sudo ufw allow 7778/udp comment 'ARK raw UDP'
+sudo ufw allow 27015/udp comment 'ARK query port'
+sudo ufw allow 27020/tcp comment 'ARK RCON'
+sudo ufw reload
+
+
+FirewallD (CentOS/RHEL/Fedora)
+sudo firewall-cmd --permanent --add-port=7777/udp
+sudo firewall-cmd --permanent --add-port=7778/udp
+sudo firewall-cmd --permanent --add-port=27015/udp
+sudo firewall-cmd --permanent --add-port=27020/tcp
+sudo firewall-cmd --reload
+
+
+Windows Firewall
+# Run in PowerShell as Administrator
+New-NetFirewallRule -DisplayName "ARK Game Ports" -Direction Inbound -Protocol UDP -LocalPort 7777,7778,27015 -Action Allow
+New-NetFirewallRule -DisplayName "ARK RCON" -Direction Inbound -Protocol TCP -LocalPort 27020 -Action Allow
+
+
+iptables (Legacy Linux)
+sudo iptables -A INPUT -p udp --dport 7777 -j ACCEPT
+sudo iptables -A INPUT -p udp --dport 7778 -j ACCEPT
+sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
+sudo iptables -A INPUT -p tcp --dport 27020 -j ACCEPT
+sudo service iptables save
+
+
Installation & Setup
System Requirements
diff --git a/modules/billing/docs/arkse/metadata.json b/modules/billing/docs/arkse/metadata.json
index 7c2d24db..57538697 100644
--- a/modules/billing/docs/arkse/metadata.json
+++ b/modules/billing/docs/arkse/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "ARK:SE",
- "description": "Setup and configuration guide for ARK:SE game servers",
- "category": "game",
- "order": 7
-}
\ No newline at end of file
+{
+ "name": "ARK: Survival Evolved",
+ "description": "Comprehensive guide for ARK dedicated servers with ports, maps, mods, taming, and performance optimization",
+ "category": "game",
+ "order": 59,
+ "complete": true
+}
diff --git a/modules/billing/docs/arma-reforger/metadata.json b/modules/billing/docs/arma-reforger/metadata.json
index e7358a78..e8833add 100644
--- a/modules/billing/docs/arma-reforger/metadata.json
+++ b/modules/billing/docs/arma-reforger/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Arma Reforger",
- "description": "Setup and configuration guide for Arma Reforger game servers",
- "category": "game",
- "order": 9
-}
\ No newline at end of file
+{
+ "name": "Arma Reforger",
+ "description": "Setup and configuration guide for Arma Reforger game servers",
+ "category": "game",
+ "order": 9,
+ "complete": false
+}
diff --git a/modules/billing/docs/arma2co/index.php b/modules/billing/docs/arma2co/index.php
index 5b8700c9..ae0a5a77 100644
--- a/modules/billing/docs/arma2co/index.php
+++ b/modules/billing/docs/arma2co/index.php
@@ -1,68 +1,242 @@
-Arma2 CO Server Guide
+
-Overview
-Arma2 CO is available for hosting on our platform. This guide covers the basics of setting up and managing your Arma2 CO server.
-
-
-
Server Information
-
- - Default Port:
2302
- - Protocol: UDP
- - Additional Info: Steam query port is 2303 UDP
-
-
- Note: When running on a VPS or dedicated server, you can use the default port or configure a custom port in your server configuration file.
-
+
-
Getting Started
-
To create a Arma2 CO server:
-
- - Navigate to the Game Servers page
- - Find Arma2 CO in the list
- - Select your preferred configuration (slots, duration, etc.)
- - Add to cart and complete checkout
- - Your server will be automatically provisioned within minutes
-
+
Arma 2: Combined Operations Server Guide
-
Server Configuration
-
After your server is created, you can configure it through the control panel:
+
+
What is Combined Operations?
+
+ - Definition: Arma 2 + Operation Arrowhead combined package
+ - Purpose: Required base for DayZ Mod and related mods
+ - Default Port:
2302 UDP
+ - Release: 2010 (Legacy platform)
+ - Note: For modern DayZ, see DayZ Standalone
+
+
+
+
Arma 2: Combined Operations merges the base Arma 2 game with its Operation Arrowhead expansion. This combination is the foundation for the original DayZ Mod, DayZ Epoch, DayZ Overpoch, and other popular legacy mods.
+
+
+
Important Information
+
+ - Legacy Platform: Arma 2 is a 2010 game with limited modern support
+ - DayZ Standalone Exists: For modern DayZ experience, use DayZ Standalone
+ - Community-Driven: Most support comes from community forums and modders
+ - Both Games Required: Must have Arma 2 AND Operation Arrowhead files
+
+
+
+
🔌 Server Ports
+
+
+
+
+ | Port |
+ Protocol |
+ Purpose |
+ Status |
+
+
+
+
+ 2302 |
+ UDP |
+ Game Port |
+ REQUIRED |
+
+
+ 2303 |
+ UDP |
+ Steam Query Port |
+ REQUIRED |
+
+
+ 2304 |
+ UDP |
+ Steam Port |
+ REQUIRED |
+
+
+ 2305 |
+ UDP |
+ VON (Voice chat) |
+ REQUIRED |
+
+
+ 3306 |
+ TCP |
+ MySQL (for DayZ Epoch/Overpoch) |
+ Required for Epoch |
+
+
+
+
+
Firewall Configuration
+
# UFW (Ubuntu/Debian)
+sudo ufw allow 2302:2305/udp comment 'Arma 2 CO'
+sudo ufw allow 3306/tcp comment 'MySQL for DayZ Epoch'
+
+# FirewallD (CentOS)
+sudo firewall-cmd --permanent --add-port=2302-2305/udp
+sudo firewall-cmd --permanent --add-port=3306/tcp
+sudo firewall-cmd --reload
+
+
DayZ Mod Setup
+
+
The primary use case for Combined Operations servers is hosting DayZ Mod variants.
+
+
DayZ Mod Variants
- - Server settings and parameters
- - Player slots and limits
- - RCON/remote control access
- - FTP file access
+ - DayZ Mod (Vanilla): Original zombie survival mod
+ - DayZ Epoch: Building, crafting, and base construction focus
+ - DayZ Overpoch: Overwatch + Epoch combined (military loot + building)
+ - DayZ Origins: Custom storyline and unique mechanics
-
Common Tasks
+
DayZ Epoch Startup (Most Popular)
+
# Windows
+arma2oaserver.exe -port=2302 -config=instance_11_Chernarus\config.cfg -cfg=instance_11_Chernarus\basic.cfg -profiles=instance_11_Chernarus -name=instance_11_Chernarus "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;"
-Starting Your Server
-Servers are automatically started after creation. You can stop/start your server from the control panel.
+# Linux
+./arma2oaserver -port=2302 -config=instance_11_Chernarus/config.cfg -cfg=instance_11_Chernarus/basic.cfg -profiles=instance_11_Chernarus -name=instance_11_Chernarus -mod=@DayZ_Epoch;@DayZ_Epoch_Server;
-
Connecting to Your Server
-
Use your server's IP address and port to connect from the game client.
-
-
Managing Files
-
Access your server files via FTP using the credentials provided in your control panel.
-
-
Support
-
If you need assistance with your Arma2 CO server:
+
Required Files for DayZ Epoch
- - Check our Common Issues guide
- - Contact support through your account dashboard
- - Visit the official Arma2 CO community for game-specific help
+ @DayZ_Epoch - Main mod folder
+ @DayZ_Epoch_Server - Server-side files
+ HiveExt.dll - Database connector
+ HiveExt.ini - MySQL configuration
+ - MySQL database with Epoch schema
-
+
HiveExt.ini Configuration
+
[Database]
+Type = MySql
+Host = localhost
+Port = 3306
+Database = epoch
+Username = epochuser
+Password = yourpassword
+
+[Objects]
+CleanupPlacedAfterDays = 6
+CleanupUnlockedAfterDays = 6
+
+
⚙️ Startup Parameters
+
+
+
+
+ | Parameter |
+ Description |
+
+
+
+
+ -port=2302 |
+ Game port |
+
+
+ -config= |
+ Path to server config |
+
+
+ -cfg= |
+ Path to basic config |
+
+
+ -profiles= |
+ Profile directory |
+
+
+ -name= |
+ Profile name |
+
+
+ -mod= |
+ Mods to load (semicolon separated) |
+
+
+
+
+
🔧 Troubleshooting
+
+
DayZ Epoch Database Issues
+
+ - Can't connect to MySQL: Verify HiveExt.ini credentials and MySQL is running
+ - Characters not saving: Check MySQL user has proper permissions
+ - Vehicles disappearing: Verify cleanup settings in HiveExt.ini
+
+
+
Server Won't Start
+
+ - Ensure
Expansion\beta folder exists
+ - Verify mod folder names match startup parameters exactly
+ - Check BattlEye is enabled (required for public servers)
+
+
+
Players Can't Join
+
+ - Verify firewall allows UDP 2302-2305
+ - Ensure clients have matching mod versions
+ - Check BattlEye filters aren't too restrictive
+
+
+
📚 Resources
+
+
+
+
Important Notes
- - Always keep your server updated to the latest version
- - Make regular backups of your server configuration
- - Review and follow the game's End User License Agreement (EULA)
+ - Database Required: DayZ Epoch/Overpoch require MySQL database
+ - Regular Backups: Backup database and mission files frequently
+ - Legacy Platform: Limited official support, rely on community
+ - Consider Standalone: DayZ Standalone offers modern experience
+ - BattlEye Filters: Properly configure to allow mod scripts
-
\ No newline at end of file
+
+
+
+
+
+ Documentation Version: 1.0 | Last Updated: November 10, 2025
+ Sources: DayZ Epoch Community, Epoch Forums, Bohemia Wiki
+ For modern DayZ, see DayZ Standalone Guide.
+
diff --git a/modules/billing/docs/arma2co/metadata.json b/modules/billing/docs/arma2co/metadata.json
index 7f95e834..1da84c96 100644
--- a/modules/billing/docs/arma2co/metadata.json
+++ b/modules/billing/docs/arma2co/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Arma2 CO",
- "description": "Setup and configuration guide for Arma2 CO game servers",
- "category": "game",
- "order": 11
-}
\ No newline at end of file
+{
+ "name": "Arma 2: Combined Operations",
+ "description": "Complete guide for Arma 2 CO and DayZ Mod hosting with database setup",
+ "category": "game",
+ "order": 11,
+ "complete": true
+}
diff --git a/modules/billing/docs/arma2oa/index.php b/modules/billing/docs/arma2oa/index.php
index 6bdf3843..305a0756 100644
--- a/modules/billing/docs/arma2oa/index.php
+++ b/modules/billing/docs/arma2oa/index.php
@@ -1,68 +1,256 @@
-
Arma2 Server Guide
+
-
Overview
-
Arma2 is available for hosting on our platform. This guide covers the basics of setting up and managing your Arma2 server.
-
-
-
Server Information
-
- - Default Port:
2302
- - Protocol: UDP
- - Additional Info: Steam query port is 2303 UDP
-
-
- Note: When running on a VPS or dedicated server, you can use the default port or configure a custom port in your server configuration file.
-
+
+
-
Getting Started
-
To create a Arma2 server:
-
- - Navigate to the Game Servers page
- - Find Arma2 in the list
- - Select your preferred configuration (slots, duration, etc.)
- - Add to cart and complete checkout
- - Your server will be automatically provisioned within minutes
-
+
Arma 2: Operation Arrowhead Server Guide
-
Server Configuration
-
After your server is created, you can configure it through the control panel:
+
+
Quick Information
+
+ - Game: Arma 2: Operation Arrowhead (Military Simulation)
+ - Developer: Bohemia Interactive
+ - Release: 2010 (Legacy game)
+ - Server Type: Dedicated Server (Windows/Linux)
+ - Default Port:
2302 UDP
+ - Max Players: 50-100+ configurable
+ - Special Note: Required base for DayZ Mod (with Combined Operations)
+
+
+
+
Arma 2: Operation Arrowhead is the standalone expansion for Arma 2. When combined with Arma 2 (Combined Operations), it serves as the foundation for the popular DayZ Mod. This guide covers dedicated server setup for both standard OA gameplay and DayZ Mod hosting.
+
+
🔌 Server Ports
+
+
+
+
+ | Port |
+ Protocol |
+ Purpose |
+ Status |
+
+
+
+
+ 2302 |
+ UDP |
+ Game Port - Primary connection port |
+ REQUIRED |
+
+
+ 2303 |
+ UDP |
+ Steam Query Port - Server browser |
+ REQUIRED |
+
+
+ 2304 |
+ UDP |
+ Steam Port - Steam connectivity |
+ REQUIRED |
+
+
+ 2305 |
+ UDP |
+ VON (Voice Over Network) |
+ Optional |
+
+
+
+
+
Firewall Configuration
+
+
UFW (Ubuntu/Debian)
+
sudo ufw allow 2302:2305/udp comment 'Arma 2 OA Server'
+
+
FirewallD (CentOS/RHEL)
+
sudo firewall-cmd --permanent --add-port=2302-2305/udp
+sudo firewall-cmd --reload
+
+
Windows Firewall
+
New-NetFirewallRule -DisplayName "Arma 2 OA Server" -Direction Inbound -Protocol UDP -LocalPort 2302-2305 -Action Allow
+
+
⚙️ Startup Parameters
+
+
Windows Startup
+
arma2oaserver.exe -port=2302 -config=server.cfg -cfg=basic.cfg -profiles=SC -mod=@mod1;@mod2
+
+
Linux Startup
+
./arma2oaserver -port=2302 -config=server.cfg -cfg=basic.cfg -profiles=SC -mod=@mod1;@mod2
+
+
Key Parameters
+
+
+
+ | Parameter |
+ Description |
+ Example |
+
+
+
+
+ -port= |
+ Game port |
+ -port=2302 |
+
+
+ -config= |
+ Path to server.cfg |
+ -config=server.cfg |
+
+
+ -cfg= |
+ Path to basic.cfg |
+ -cfg=basic.cfg |
+
+
+ -profiles= |
+ Profile folder |
+ -profiles=SC |
+
+
+ -mod= |
+ Mods to load |
+ -mod=@DayZ;@DayZ_Epoch |
+
+
+ -world= |
+ Default world |
+ -world=Takistan |
+
+
+
+
+
DayZ Mod Setup
+
+
+
DayZ Mod Requirements
+
+ - Requires Arma 2: Combined Operations (Arma 2 + Operation Arrowhead)
+ - DayZ Mod files must be installed in
@DayZ folder
+ - Optional variants: DayZ Epoch, DayZ Overpoch, DayZ Origins
+
+
+
+
DayZ Mod Startup Example
+
# Standard DayZ Mod
+-mod=Expansion\beta;Expansion\beta\Expansion;ca;@DayZ -world=Chernarus
+
+# DayZ Epoch
+-mod=Expansion\beta;Expansion\beta\Expansion;ca;@DayZ_Epoch -world=Chernarus
+
+# DayZ Overpoch (Overwatch + Epoch)
+-mod=Expansion\beta;Expansion\beta\Expansion;ca;@DayZ_Overwatch;@DayZ_Epoch
+
+
Common DayZ Mod Variants
- - Server settings and parameters
- - Player slots and limits
- - RCON/remote control access
- - FTP file access
+ - DayZ Mod: Original zombie survival mod
+ - DayZ Epoch: Building/crafting focus
+ - DayZ Overpoch: Overwatch + Epoch combined
+ - DayZ Origins: Custom lore and mechanics
-
Common Tasks
+
🔧 Troubleshooting
-
Starting Your Server
-
Servers are automatically started after creation. You can stop/start your server from the control panel.
-
-
Connecting to Your Server
-
Use your server's IP address and port to connect from the game client.
-
-
Managing Files
-
Access your server files via FTP using the credentials provided in your control panel.
-
-
Support
-
If you need assistance with your Arma2 server:
+
Server Won't Start
- - Check our Common Issues guide
- - Contact support through your account dashboard
- - Visit the official Arma2 community for game-specific help
+ - Missing Beta Folder: Ensure
Expansion\beta exists for DayZ
+ - Port Conflicts: Check if 2302 is already in use
+ - Config Errors: Validate server.cfg syntax (semicolons required)
-
+
Players Can't Join
+
+ - Verify firewall allows UDP 2302-2305
+ - Check mod versions match between server and clients
+ - Ensure BattlEye is enabled if required
+
+
+
DayZ Mod Issues
+
+ - Database connection: MySQL required for DayZ Epoch/Overpoch
+ - HiveExt errors: Check
@DayZ_Epoch\HiveExt.ini configuration
+ - Loot not spawning: Verify mission file and database tables
+
+
+
+
+
Server.cfg Performance Settings
+
MaxMsgSend = 256;
+MaxSizeGuaranteed = 512;
+MaxSizeNonguaranteed = 256;
+MinBandwidth = 131072;
+MaxBandwidth = 10000000000;
+MinErrorToSend = 0.001;
+MaxCustomFileSize = 160000;
+
+
Hardware Recommendations
+
+ - CPU: 2-4 cores, 3.0+ GHz
+ - RAM: 4-8 GB minimum
+ - Storage: HDD acceptable, SSD preferred
+ - Network: 50+ Mbps
+
+
+
📚 Resources
+
+
+
+
Important Notes
- - Always keep your server updated to the latest version
- - Make regular backups of your server configuration
- - Review and follow the game's End User License Agreement (EULA)
+ - Legacy Game: Arma 2 OA is a 2010 game; community support is limited
+ - DayZ Standalone Exists: Consider DayZ Standalone for modern experience
+ - Combined Operations: Required for DayZ Mod functionality
+ - Database Required: DayZ Epoch/Overpoch need MySQL database
+ - Backup Regularly: Always backup database and mission files
-
\ No newline at end of file
+
+
+
+
+
+ Documentation Version: 1.0 | Last Updated: November 10, 2025
+ Sources: Bohemia Interactive Wiki, LinuxGSM, DayZ Epoch Community
+ For DayZ Standalone, see our DayZ Standalone Guide.
+
diff --git a/modules/billing/docs/arma2oa/metadata.json b/modules/billing/docs/arma2oa/metadata.json
index 3e978c4b..ed4a6cf9 100644
--- a/modules/billing/docs/arma2oa/metadata.json
+++ b/modules/billing/docs/arma2oa/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Arma2",
- "description": "Setup and configuration guide for Arma2 game servers",
- "category": "game",
- "order": 10
-}
\ No newline at end of file
+{
+ "name": "Arma 2: Operation Arrowhead",
+ "description": "Complete guide for Arma 2 OA servers including DayZ Mod setup",
+ "category": "game",
+ "order": 10,
+ "complete": true
+}
diff --git a/modules/billing/docs/arma3/index.php b/modules/billing/docs/arma3/index.php
index 52b0e8e4..1580fea4 100644
--- a/modules/billing/docs/arma3/index.php
+++ b/modules/billing/docs/arma3/index.php
@@ -1,68 +1,641 @@
-
Arma 3 Server Guide
+
-
Overview
-
Arma 3 is available for hosting on our platform. This guide covers the basics of setting up and managing your Arma 3 server.
-
-
-
Server Information
-
- - Default Port:
2302
- - Protocol: UDP
- - Additional Info: Steam query port is 2303 UDP
-
-
- Note: When running on a VPS or dedicated server, you can use the default port or configure a custom port in your server configuration file.
-
+
+
-
Getting Started
-
To create a Arma 3 server:
+
Arma 3 Server Guide
+
+
+
+
Quick Information
+
+ - Game: Arma 3 (Military Simulation)
+ - Developer: Bohemia Interactive
+ - Server Type: Dedicated Server (Windows/Linux)
+ - Default Port:
2302 UDP
+ - Max Players: Configurable (typically 64-100+)
+ - Server Tools: BattlEye, RCON, Steam Workshop
+
+
+
+
Arma 3 is a realistic military tactical shooter and sandbox military simulation game developed by Bohemia Interactive. Running a dedicated server allows you to host custom missions, scenarios, and mods for your community.
+
+
🔌 Server Ports
+
+
Arma 3 servers require multiple ports for different functions. All ports must be forwarded and opened in your firewall for the server to function correctly.
+
+
+
+
+ | Port |
+ Protocol |
+ Purpose |
+ Status |
+
+
+
+
+ 2302 |
+ UDP |
+ Game Port - Primary connection port for players |
+ REQUIRED |
+
+
+ 2303 |
+ UDP |
+ Steam Query Port - Server browser listing |
+ REQUIRED |
+
+
+ 2304 |
+ UDP |
+ Steam Port - Steam connectivity |
+ REQUIRED |
+
+
+ 2305 |
+ UDP |
+ VON (Voice Over Network) - In-game voice chat |
+ Optional |
+
+
+ 2306 |
+ UDP |
+ BattlEye Port - Anti-cheat system |
+ REQUIRED |
+
+
+
+
+
+
Port Configuration Notes
+
+ - The game port (2302) can be customized using the
-port= startup parameter
+ - Steam Query port is automatically
game_port + 1
+ - Steam port is automatically
game_port + 2
+ - VON port is automatically
game_port + 3
+ - BattlEye port is automatically
game_port + 4
+ - If you change the game port, all related ports shift automatically
+
+
+
+
Firewall Configuration
+
+
Configure your firewall to allow Arma 3 server traffic:
+
+
UFW (Ubuntu/Debian)
+
# Allow Arma 3 game port range
+sudo ufw allow 2302:2306/udp comment 'Arma 3 Server'
+
+# Or for custom port (example: 2402)
+sudo ufw allow 2402:2406/udp comment 'Arma 3 Custom Port'
+
+
FirewallD (CentOS/RHEL)
+
# Add Arma 3 port range
+sudo firewall-cmd --permanent --add-port=2302-2306/udp
+sudo firewall-cmd --reload
+
+# Verify rules
+sudo firewall-cmd --list-ports
+
+
Windows Firewall
+
# Open PowerShell as Administrator
+New-NetFirewallRule -DisplayName "Arma 3 Server" -Direction Inbound -Protocol UDP -LocalPort 2302-2306 -Action Allow
+
+
iptables (Generic Linux)
+
# Allow Arma 3 ports
+sudo iptables -A INPUT -p udp -m udp --dport 2302:2306 -j ACCEPT
+sudo iptables-save > /etc/iptables/rules.v4
+
+
Installation
+
+
Getting Your Server
+
To create an Arma 3 server:
- Navigate to the Game Servers page
- - Find Arma 3 in the list
- - Select your preferred configuration (slots, duration, etc.)
+ - Find Arma 3 in the available games list
+ - Select your preferred configuration (players, duration, location)
- Add to cart and complete checkout
- - Your server will be automatically provisioned within minutes
+ - Your server will be automatically provisioned within 5-10 minutes
-
Server Configuration
-
After your server is created, you can configure it through the control panel:
+
Server Files Structure
+
Your Arma 3 server includes these key directories:
- - Server settings and parameters
- - Player slots and limits
- - RCON/remote control access
- - FTP file access
+ arma3server_x64.exe - Server executable (Windows)
+ ./arma3server - Server executable (Linux)
+ server.cfg - Main configuration file
+ basic.cfg - Network and performance settings
+ @mods/ - Mod installation directory
+ mpmissions/ - Mission files folder
+ BattlEye/ - Anti-cheat configuration
-
Common Tasks
+
Configuration Files
-
Starting Your Server
-
Servers are automatically started after creation. You can stop/start your server from the control panel.
+
server.cfg
+
The main server configuration file. Key settings:
+
// Server identity
+hostname = "Your Arma 3 Server";
+password = ""; // Join password (leave empty for public)
+passwordAdmin = "adminpass"; // Admin password
+serverCommandPassword = "rconpass"; // RCON password
-Connecting to Your Server
-Use your server's IP address and port to connect from the game client.
+// Server behavior
+persistent = 1; // Persistent missions
+disableVoN = 0; // Enable voice chat
+vonCodecQuality = 10; // Voice quality (0-30)
+forceRotorLibSimulation = 0; // Advanced flight model
-Managing Files
-Access your server files via FTP using the credentials provided in your control panel.
+// Performance
+maxPlayers = 64;
+kickDuplicate = 1;
+verifySignatures = 2; // Mod signature verification
+equalModRequired = 0;
+allowedFilePatching = 0;
-Support
-If you need assistance with your Arma 3 server:
+// Mission rotation
+class Missions {
+ class Mission1 {
+ template = "yourMission.Altis";
+ difficulty = "regular";
+ };
+};
+
+
basic.cfg
+
Network and bandwidth configuration:
+
// Bandwidth settings
+MaxMsgSend = 256;
+MaxSizeGuaranteed = 512;
+MaxSizeNonguaranteed = 256;
+MinBandwidth = 131072; // 128 Kbps
+MaxBandwidth = 10000000000; // Unlimited
+
+// Client tuning
+MinErrorToSend = 0.001;
+MinErrorToSendNear = 0.01;
+MaxCustomFileSize = 160000;
+
+
⚙️ Startup Parameters
+
+
Arma 3 server supports extensive command-line parameters for customization:
+
+
Windows Startup Command
+
arma3server_x64.exe -port=2302 -config=server.cfg -cfg=basic.cfg -profiles=SC -name=SC -mod=@mod1;@mod2 -serverMod=@serverMod1
+
+
Linux Startup Command
+
./arma3server -port=2302 -config=server.cfg -cfg=basic.cfg -profiles=SC -name=SC -mod=@mod1;@mod2 -serverMod=@serverMod1
+
+
Essential Parameters
+
+
+
+ | Parameter |
+ Description |
+ Example |
+
+
+
+
+ -port= |
+ Game port (default: 2302) |
+ -port=2402 |
+
+
+ -config= |
+ Path to server.cfg |
+ -config=server.cfg |
+
+
+ -cfg= |
+ Path to basic.cfg |
+ -cfg=basic.cfg |
+
+
+ -profiles= |
+ Profile folder path |
+ -profiles=SC |
+
+
+ -name= |
+ Profile name |
+ -name=SC |
+
+
+ -mod= |
+ Client mods (semicolon separated) |
+ -mod=@CBA_A3;@ACE |
+
+
+ -serverMod= |
+ Server-only mods |
+ -serverMod=@AdvRapid |
+
+
+ -world= |
+ Default world/terrain |
+ -world=Altis |
+
+
+ -loadMissionToMemory |
+ Loads mission to RAM |
+ Flag (no value) |
+
+
+ -noSound |
+ Disable sound (Linux) |
+ Flag (no value) |
+
+
+ -limitFPS= |
+ Limit server FPS |
+ -limitFPS=50 |
+
+
+ -autoInit |
+ Auto-start mission |
+ Flag (no value) |
+
+
+
+
+
Performance Parameters
+
// Recommended for performance
+-limitFPS=50 // Limit FPS to reduce CPU usage
+-loadMissionToMemory // Faster mission loading
+-enableHT // Enable Hyper-Threading
+-hugepages // Use huge memory pages (Linux)
+-noSound // Disable sound on Linux
+-world=empty // Start with empty world
+
+
Mods & Workshop Content
+
+
Installing Mods
+
Arma 3 supports Steam Workshop mods:
+
+ - Subscribe to mods on Steam Workshop
+ - Locate mod files in:
+ C:\Program Files (x86)\Steam\steamapps\workshop\content\107410\
+ - Copy mod folders to server
@modname format
+ - Add to startup parameters:
-mod=@CBA_A3;@ACE;@RHSUSAF
+
+
+
Popular Mods
- - Check our Common Issues guide
- - Contact support through your account dashboard
- - Visit the official Arma 3 community for game-specific help
+ - CBA_A3 - Community Base Addons (required for many mods)
+ - ACE3 - Advanced Combat Environment (realism enhancement)
+ - RHS - Red Hammer Studios (weapons/vehicles)
+ - TFAR - Task Force Arrowhead Radio (realistic radio)
+ - CUP - Community Upgrade Project (maps/units)
-
+
+
Mod Loading Order
+
+ - Always load CBA_A3 first if installed
+ - Load framework mods before content mods
+ - Use semicolons (;) to separate mod names, no spaces
+ - Mod names are case-sensitive on Linux
+
+
+
+
🔧 Troubleshooting
+
+
Server Won't Start
+
+
Check Port Conflicts
+
Problem: Port 2302 already in use
+
Solution:
+
# Check if port is in use (Linux)
+netstat -tulpn | grep 2302
+
+# Check if port is in use (Windows PowerShell)
+Get-NetTCPConnection -LocalPort 2302
+
+# Use a different port
+-port=2402
+
+
Missing Dependencies (Linux)
+
Problem: Library errors on Linux server
+
Solution:
+
# Install 32-bit libraries (Debian/Ubuntu)
+sudo dpkg --add-architecture i386
+sudo apt-get update
+sudo apt-get install lib32gcc1 lib32stdc++6
+
+# Install dependencies (CentOS/RHEL)
+sudo yum install glibc.i686 libstdc++.i686
+
+
Configuration File Errors
+
Problem: Server.cfg syntax errors
+
Solution:
+
+ - Check for missing semicolons after each setting
+ - Validate mission class names match files in
mpmissions/
+ - Remove comments with // from inside class definitions
+ - Check server logs in profiles folder for specific errors
+
+
+
Players Can't Connect
+
+
Firewall Blocking Connections
+
Problem: Server not visible in browser or players timeout
+
Solutions:
+
+ - Verify all UDP ports (2302-2306) are open in firewall
+ - Check router port forwarding if hosting at home
+ - Disable any VPN that might interfere with connections
+ - Test with
telnet yourip 2302 (should get garbage response = port open)
+
+
+
Mod Signature Verification Failures
+
Problem: "File is not signed" errors
+
Solutions:
+
// In server.cfg, adjust verification level:
+verifySignatures = 0; // Disable verification (not recommended)
+verifySignatures = 1; // Only v1 signature check
+verifySignatures = 2; // Full signature verification (recommended)
+
+// Or copy .bikey files to /keys/ folder
+// Keys are usually in @modName/keys/*.bikey
+
+
Version Mismatch
+
Problem: "Wrong version" or "Bad version" errors
+
Solution:
+
+ - Update server using SteamCMD:
steamcmd +login anonymous +app_update 233780 validate +quit
+ - Ensure all mods are updated to latest versions
+ - Clients must match server and mod versions exactly
+
+
+
Performance Issues
+
+
Low Server FPS
+
Problem: Server running below 20 FPS causing lag
+
Solutions:
+
+ - Reduce AI count in missions (AI are CPU-intensive)
+ - Use
-limitFPS=50 to cap server FPS
+ - Enable
-enableHT for hyper-threading support
+ - Optimize mission scripts (reduce frequent loops)
+ - Use server-side mods for performance (e.g., Advanced Rappelling)
+
+
+
High Desync
+
Problem: Players experience rubber-banding and desynchronization
+
Solutions:
+
// Adjust basic.cfg bandwidth settings:
+MaxMsgSend = 512; // Increase if high bandwidth
+MaxSizeGuaranteed = 1024;
+MinBandwidth = 262144; // 256 Kbps minimum
+MaxBandwidth = 10000000000; // Remove bandwidth cap
+
+// In server.cfg:
+maxPacketSize = 1400; // Adjust for MTU
+
+
Memory Issues
+
Problem: Server crashes with "Out of memory" errors
+
Solutions:
+
+ - Use 64-bit server executable (
arma3server_x64.exe)
+ - Add
-malloc=system parameter (Windows)
+ - Use
-hugepages on Linux for better memory management
+ - Reduce texture/terrain detail in missions
+ - Limit number of active mods
+
+
+
BattlEye Issues
+
+
BattlEye Kicks Players
+
Problem: Players kicked for script restrictions
+
Solution:
+
+ - Check
BattlEye/scripts.txt for kicked script hash
+ - Add exception lines to appropriate .txt files
+ - Common files to modify:
scripts.txt, publicvariable.txt, setvariable.txt
+ - Many mods come with BattlEye filters in their documentation
+
+
+
BattlEye Fails to Initialize
+
Problem: "BattlEye initialization failed" error
+
Solutions:
+
+ - Verify BattlEye port (2306 UDP) is open
+ - Check BattlEye folder permissions (needs write access)
+ - Temporarily disable antivirus and test
+ - Reinstall BattlEye files from server package
+
+
+
+
+
Server Configuration
+
// Recommended basic.cfg for performance
+MaxMsgSend = 512;
+MaxSizeGuaranteed = 1024;
+MaxSizeNonguaranteed = 400;
+MinBandwidth = 262144;
+MaxBandwidth = 10000000000;
+MinErrorToSend = 0.003;
+MinErrorToSendNear = 0.02;
+
+
Startup Parameters for Performance
+
# Performance-optimized startup
+-limitFPS=50 -enableHT -hugepages -loadMissionToMemory -noSound -world=empty
+
+
Mission Optimization
+
+ - Reduce AI count: Each AI unit consumes significant CPU
+ - Use caching: Cache AI groups when far from players
+ - Optimize scripts: Avoid
while {true} loops, use scheduled scripts
+ - Limit view distance: Set reasonable viewDistance in mission
+ - Clean up objects: Delete dead bodies and destroyed vehicles
+
+
+
Hardware Recommendations
+
+
Recommended Server Specs
+
+ - CPU: 4+ cores, high single-thread performance (3.5 GHz+)
+ - RAM: 8-16 GB minimum, 32 GB for large missions
+ - Storage: SSD recommended for faster loading
+ - Network: 100 Mbps+ with low latency
+ - OS: Windows Server 2019+ or Linux (Ubuntu 20.04+)
+
+
+
+
🔒 Security Best Practices
+
+
Password Protection
+
// In server.cfg
+password = "join_password"; // Server join password
+passwordAdmin = "secure_admin_pw"; // Admin password
+serverCommandPassword = "rcon_pw"; // RCON password
+
+
BattlEye Configuration
+
+ - Always enable BattlEye for public servers
+ - Keep BattlEye files updated
+ - Review and update filter files regularly
+ - Monitor
BattlEye/bans.txt for repeat offenders
+
+
+
Signature Verification
+
// Enforce mod signatures
+verifySignatures = 2; // Full verification
+allowedFilePatching = 0; // Disable file patching
+onUnsignedData = "kick (_this select 0)"; // Kick on unsigned data
+
+
Admin Tools
+
+ - Use whitelist for admin slots in mission files
+ - Restrict RCON access to trusted IPs only
+ - Enable admin logging to track admin actions
+ - Consider server-side admin mods (e.g., InfiSTAR)
+
+
+
Regular Maintenance
+
+ - Review server logs daily for suspicious activity
+ - Keep server and mods updated to latest versions
+ - Backup configuration files and mission files regularly
+ - Monitor server resources (CPU, RAM, bandwidth)
+ - Test server changes in staging environment first
+
+
+
📚 Additional Resources
+
+
Official Documentation
+
+
+
Community Resources
+
+
+
Server Tools & Utilities
+
+
+
Performance Monitoring
+
+ - Server FPS Monitoring: Use
diag_fps command in-game
+ - RPT Logs: Check
profiles/*.rpt files for errors
+ - Network Stats: Use
diag_log for network diagnostics
+
+
+
Important Notes
- - Always keep your server updated to the latest version
- - Make regular backups of your server configuration
- - Review and follow the game's End User License Agreement (EULA)
+ - Backup Regularly: Always backup server.cfg, basic.cfg, and mission files before making changes
+ - Test Mods: Test new mods on a development server before deploying to production
+ - Monitor Performance: Keep server FPS above 20 for acceptable gameplay
+ - Update Carefully: Game updates may break mods - have rollback plan ready
+ - BattlEye Required: Most public servers require BattlEye for anti-cheat protection
+ - Read Logs: Server .rpt files contain valuable troubleshooting information
+ - Community Support: Bohemia forums and Arma Discord are excellent support resources
-
\ No newline at end of file
+
+
+
+
+
+ Documentation Version: 1.0 | Last Updated: November 10, 2025
+ Sources: Bohemia Interactive Wiki, LinuxGSM, Steam Community, r/armadev
+ For additional support, visit our Common Issues guide or contact support.
+
\ No newline at end of file
diff --git a/modules/billing/docs/arma3/metadata.json b/modules/billing/docs/arma3/metadata.json
index f236b834..49f81a1e 100644
--- a/modules/billing/docs/arma3/metadata.json
+++ b/modules/billing/docs/arma3/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Arma 3",
- "description": "Setup and configuration guide for Arma 3 game servers",
- "category": "game",
- "order": 12
-}
\ No newline at end of file
+{
+ "name": "Arma 3",
+ "description": "Comprehensive guide for Arma 3 dedicated servers with ports, mods, troubleshooting",
+ "category": "game",
+ "order": 12,
+ "complete": true
+}
diff --git a/modules/billing/docs/assettocorsa/metadata.json b/modules/billing/docs/assettocorsa/metadata.json
index f6e55359..6352bcf6 100644
--- a/modules/billing/docs/assettocorsa/metadata.json
+++ b/modules/billing/docs/assettocorsa/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Assetto Corsa",
- "description": "Setup and configuration guide for Assetto Corsa game servers",
- "category": "game",
- "order": 15
-}
\ No newline at end of file
+{
+ "name": "Assetto Corsa",
+ "description": "Setup and configuration guide for Assetto Corsa game servers",
+ "category": "game",
+ "order": 15,
+ "complete": false
+}
diff --git a/modules/billing/docs/atlas/metadata.json b/modules/billing/docs/atlas/metadata.json
index 41aa8c33..2269ad06 100644
--- a/modules/billing/docs/atlas/metadata.json
+++ b/modules/billing/docs/atlas/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Atlas",
- "description": "Setup and configuration guide for Atlas game servers",
- "category": "game",
- "order": 17
-}
\ No newline at end of file
+{
+ "name": "Atlas",
+ "description": "Setup and configuration guide for Atlas game servers",
+ "category": "game",
+ "order": 17,
+ "complete": false
+}
diff --git a/modules/billing/docs/avorion/metadata.json b/modules/billing/docs/avorion/metadata.json
index ea337c10..f3fc1ef5 100644
--- a/modules/billing/docs/avorion/metadata.json
+++ b/modules/billing/docs/avorion/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Avorion",
- "description": "Setup and configuration guide for Avorion game servers",
- "category": "game",
- "order": 19
-}
\ No newline at end of file
+{
+ "name": "Avorion",
+ "description": "Setup and configuration guide for Avorion game servers",
+ "category": "game",
+ "order": 19,
+ "complete": false
+}
diff --git a/modules/billing/docs/bec/metadata.json b/modules/billing/docs/bec/metadata.json
index 1292421b..4096cb2f 100644
--- a/modules/billing/docs/bec/metadata.json
+++ b/modules/billing/docs/bec/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "BEC",
- "description": "Setup and configuration guide for BEC game servers",
- "category": "game",
- "order": 20
-}
\ No newline at end of file
+{
+ "name": "BEC",
+ "description": "Setup and configuration guide for BEC game servers",
+ "category": "game",
+ "order": 20,
+ "complete": false
+}
diff --git a/modules/billing/docs/bf2/metadata.json b/modules/billing/docs/bf2/metadata.json
index 1f89529c..e0a448dc 100644
--- a/modules/billing/docs/bf2/metadata.json
+++ b/modules/billing/docs/bf2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Battlefield 2",
- "description": "Setup and configuration guide for Battlefield 2 game servers",
- "category": "game",
- "order": 21
-}
\ No newline at end of file
+{
+ "name": "Battlefield 2",
+ "description": "Setup and configuration guide for Battlefield 2 game servers",
+ "category": "game",
+ "order": 21,
+ "complete": false
+}
diff --git a/modules/billing/docs/bfbc2/metadata.json b/modules/billing/docs/bfbc2/metadata.json
index 1aaafe7c..bbab22ff 100644
--- a/modules/billing/docs/bfbc2/metadata.json
+++ b/modules/billing/docs/bfbc2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Battlefield Bad Company 2",
- "description": "Setup and configuration guide for Battlefield Bad Company 2 game servers",
- "category": "game",
- "order": 23
-}
\ No newline at end of file
+{
+ "name": "Battlefield Bad Company 2",
+ "description": "Setup and configuration guide for Battlefield Bad Company 2 game servers",
+ "category": "game",
+ "order": 23,
+ "complete": false
+}
diff --git a/modules/billing/docs/bigbrotherbot/metadata.json b/modules/billing/docs/bigbrotherbot/metadata.json
index 2169257d..369a67d7 100644
--- a/modules/billing/docs/bigbrotherbot/metadata.json
+++ b/modules/billing/docs/bigbrotherbot/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Big Brother Bot",
- "description": "Setup and configuration guide for Big Brother Bot game servers",
- "category": "game",
- "order": 24
-}
\ No newline at end of file
+{
+ "name": "Big Brother Bot",
+ "description": "Setup and configuration guide for Big Brother Bot game servers",
+ "category": "game",
+ "order": 24,
+ "complete": false
+}
diff --git a/modules/billing/docs/bloodfrontier/metadata.json b/modules/billing/docs/bloodfrontier/metadata.json
index bedef0c8..9ed84363 100644
--- a/modules/billing/docs/bloodfrontier/metadata.json
+++ b/modules/billing/docs/bloodfrontier/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Blood Frontier",
- "description": "Setup and configuration guide for Blood Frontier game servers",
- "category": "game",
- "order": 26
-}
\ No newline at end of file
+{
+ "name": "Blood Frontier",
+ "description": "Setup and configuration guide for Blood Frontier game servers",
+ "category": "game",
+ "order": 26,
+ "complete": false
+}
diff --git a/modules/billing/docs/brainbread2/metadata.json b/modules/billing/docs/brainbread2/metadata.json
index fe892848..32dbbc91 100644
--- a/modules/billing/docs/brainbread2/metadata.json
+++ b/modules/billing/docs/brainbread2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "BrainBread 2",
- "description": "Setup and configuration guide for BrainBread 2 game servers",
- "category": "game",
- "order": 27
-}
\ No newline at end of file
+{
+ "name": "BrainBread 2",
+ "description": "Setup and configuration guide for BrainBread 2 game servers",
+ "category": "game",
+ "order": 27,
+ "complete": false
+}
diff --git a/modules/billing/docs/callofduty/metadata.json b/modules/billing/docs/callofduty/metadata.json
index a893efef..52364958 100644
--- a/modules/billing/docs/callofduty/metadata.json
+++ b/modules/billing/docs/callofduty/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Call of Duty",
- "description": "Setup and configuration guide for Call of Duty game servers",
- "category": "game",
- "order": 33
-}
\ No newline at end of file
+{
+ "name": "Call of Duty",
+ "description": "Setup and configuration guide for Call of Duty game servers",
+ "category": "game",
+ "order": 33,
+ "complete": false
+}
diff --git a/modules/billing/docs/callofduty2/metadata.json b/modules/billing/docs/callofduty2/metadata.json
index eb971211..28792d11 100644
--- a/modules/billing/docs/callofduty2/metadata.json
+++ b/modules/billing/docs/callofduty2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Call of Duty 2",
- "description": "Setup and configuration guide for Call of Duty 2 game servers",
- "category": "game",
- "order": 29
-}
\ No newline at end of file
+{
+ "name": "Call of Duty 2",
+ "description": "Setup and configuration guide for Call of Duty 2 game servers",
+ "category": "game",
+ "order": 29,
+ "complete": false
+}
diff --git a/modules/billing/docs/callofduty4mw/metadata.json b/modules/billing/docs/callofduty4mw/metadata.json
index 9d32b740..dbcd2f3e 100644
--- a/modules/billing/docs/callofduty4mw/metadata.json
+++ b/modules/billing/docs/callofduty4mw/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Call of Duty 4: Modern Warfare",
- "description": "Setup and configuration guide for Call of Duty 4: Modern Warfare game servers",
- "category": "game",
- "order": 31
-}
\ No newline at end of file
+{
+ "name": "Call of Duty 4: Modern Warfare",
+ "description": "Setup and configuration guide for Call of Duty 4: Modern Warfare game servers",
+ "category": "game",
+ "order": 31,
+ "complete": false
+}
diff --git a/modules/billing/docs/callofdutymw2/metadata.json b/modules/billing/docs/callofdutymw2/metadata.json
index af6b9e78..71f7907c 100644
--- a/modules/billing/docs/callofdutymw2/metadata.json
+++ b/modules/billing/docs/callofdutymw2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Call of Duty: Modern Warfare 2 (IW4x)",
- "description": "Setup and configuration guide for Call of Duty: Modern Warfare 2 (IW4x) game servers",
- "category": "game",
- "order": 35
-}
\ No newline at end of file
+{
+ "name": "Call of Duty: Modern Warfare 2 (IW4x)",
+ "description": "Setup and configuration guide for Call of Duty: Modern Warfare 2 (IW4x) game servers",
+ "category": "game",
+ "order": 35,
+ "complete": false
+}
diff --git a/modules/billing/docs/callofdutymw3/metadata.json b/modules/billing/docs/callofdutymw3/metadata.json
index a17affcd..f1b39dae 100644
--- a/modules/billing/docs/callofdutymw3/metadata.json
+++ b/modules/billing/docs/callofdutymw3/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Call of Duty: Modern Warfare 3",
- "description": "Setup and configuration guide for Call of Duty: Modern Warfare 3 game servers",
- "category": "game",
- "order": 36
-}
\ No newline at end of file
+{
+ "name": "Call of Duty: Modern Warfare 3",
+ "description": "Setup and configuration guide for Call of Duty: Modern Warfare 3 game servers",
+ "category": "game",
+ "order": 36,
+ "complete": false
+}
diff --git a/modules/billing/docs/callofdutyuo/metadata.json b/modules/billing/docs/callofdutyuo/metadata.json
index 0e79ce40..fcf7821f 100644
--- a/modules/billing/docs/callofdutyuo/metadata.json
+++ b/modules/billing/docs/callofdutyuo/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Call of Duty: United Offensive",
- "description": "Setup and configuration guide for Call of Duty: United Offensive game servers",
- "category": "game",
- "order": 37
-}
\ No newline at end of file
+{
+ "name": "Call of Duty: United Offensive",
+ "description": "Setup and configuration guide for Call of Duty: United Offensive game servers",
+ "category": "game",
+ "order": 37,
+ "complete": false
+}
diff --git a/modules/billing/docs/callofdutywaw/metadata.json b/modules/billing/docs/callofdutywaw/metadata.json
index c607635d..5bbfc74e 100644
--- a/modules/billing/docs/callofdutywaw/metadata.json
+++ b/modules/billing/docs/callofdutywaw/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Call of Duty: World at War",
- "description": "Setup and configuration guide for Call of Duty: World at War game servers",
- "category": "game",
- "order": 39
-}
\ No newline at end of file
+{
+ "name": "Call of Duty: World at War",
+ "description": "Setup and configuration guide for Call of Duty: World at War game servers",
+ "category": "game",
+ "order": 39,
+ "complete": false
+}
diff --git a/modules/billing/docs/citadelfwf/metadata.json b/modules/billing/docs/citadelfwf/metadata.json
index 29e02edb..14cef41f 100644
--- a/modules/billing/docs/citadelfwf/metadata.json
+++ b/modules/billing/docs/citadelfwf/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Citadel: Forged with Fire",
- "description": "Setup and configuration guide for Citadel: Forged with Fire game servers",
- "category": "game",
- "order": 41
-}
\ No newline at end of file
+{
+ "name": "Citadel: Forged with Fire",
+ "description": "Setup and configuration guide for Citadel: Forged with Fire game servers",
+ "category": "game",
+ "order": 41,
+ "complete": false
+}
diff --git a/modules/billing/docs/cod_blackops/metadata.json b/modules/billing/docs/cod_blackops/metadata.json
index d4902fa5..648111e8 100644
--- a/modules/billing/docs/cod_blackops/metadata.json
+++ b/modules/billing/docs/cod_blackops/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "CoD: Black Ops",
- "description": "Setup and configuration guide for CoD: Black Ops game servers",
- "category": "game",
- "order": 43
-}
\ No newline at end of file
+{
+ "name": "CoD: Black Ops",
+ "description": "Setup and configuration guide for CoD: Black Ops game servers",
+ "category": "game",
+ "order": 43,
+ "complete": false
+}
diff --git a/modules/billing/docs/colonysurvival/metadata.json b/modules/billing/docs/colonysurvival/metadata.json
index 80031f67..195fb11f 100644
--- a/modules/billing/docs/colonysurvival/metadata.json
+++ b/modules/billing/docs/colonysurvival/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Colony Survival",
- "description": "Setup and configuration guide for Colony Survival game servers",
- "category": "game",
- "order": 44
-}
\ No newline at end of file
+{
+ "name": "Colony Survival",
+ "description": "Setup and configuration guide for Colony Survival game servers",
+ "category": "game",
+ "order": 44,
+ "complete": false
+}
diff --git a/modules/billing/docs/common-issues/metadata.json b/modules/billing/docs/common-issues/metadata.json
index 2022030f..0d49e52c 100644
--- a/modules/billing/docs/common-issues/metadata.json
+++ b/modules/billing/docs/common-issues/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Common Issues & Solutions",
- "description": "Troubleshooting guide for common server problems",
- "category": "troubleshooting",
- "order": 1
+{
+ "name": "Common Issues \u0026 Solutions",
+ "description": "Troubleshooting guide for common server problems",
+ "category": "troubleshooting",
+ "order": 1,
+ "complete": false
}
diff --git a/modules/billing/docs/conanexiles/index.php b/modules/billing/docs/conanexiles/index.php
index 364b0343..ef02e45c 100644
--- a/modules/billing/docs/conanexiles/index.php
+++ b/modules/billing/docs/conanexiles/index.php
@@ -1,68 +1,490 @@
-
Conan Exiles Server Guide
-
-
Overview
-
Conan Exiles is available for hosting on our platform. This guide covers the basics of setting up and managing your Conan Exiles server.
-
-
Server Information
-
- - Default Port:
7777
- - Protocol: UDP
- - Additional Info: Query port is 27015 UDP
-
-
- Note: When running on a VPS or dedicated server, you can use the default port or configure a custom port in your server configuration file.
-
+
📚 Navigation
+
-
Getting Started
-
To create a Conan Exiles server:
+
Conan Exiles Dedicated Server Hosting Guide
+
+
Overview
+
Conan Exiles is an open-world survival game set in the brutal lands of Conan the Barbarian. Players must survive in a vast sandbox world, build massive structures, tame thralls, and battle gods and other players in this savage civilization-building game.
+
+
Quick Info
+
+
+ - Default Port:
7777 (UDP)
+ - Query Port:
27015 (UDP)
+ - RCON Port:
25575 (TCP, optional)
+ - Minimum RAM: 6GB (Recommended: 16-32GB)
+ - Recommended CPU: 4+ cores @ 3.5GHz+
+ - Storage: 30GB+ (SSD strongly recommended)
+ - Max Players: 40-70 typical (configurable)
+ - SteamCMD App ID: 443030
+ - Config Files: ServerSettings.ini, Engine.ini, Game.ini
+
+
+
+
+
+
+
🔌 Ports Required
+
+
+
+ | Port |
+ Protocol |
+ Purpose |
+ Required |
+
+
+
+
+ 7777 |
+ UDP |
+ Primary game port (player connections) |
+ ✓ Yes |
+
+
+ 7778 |
+ UDP |
+ Raw UDP socket (automatic +1) |
+ ✓ Yes |
+
+
+ 27015 |
+ UDP |
+ Query port (server browser, Steam) |
+ ✓ Yes |
+
+
+ 25575 |
+ TCP |
+ RCON port (remote admin console) |
+ Optional |
+
+
+
+
+
+
Note: Like ARK: Survival Evolved, Conan Exiles automatically uses port+1 for raw UDP socket connections. Always open both the main port and the port immediately after it (e.g., 7777 and 7778).
+
+
+
Firewall Configuration Examples
+
+
UFW (Ubuntu/Debian)
+
sudo ufw allow 7777:7778/udp comment 'Conan Exiles game ports'
+sudo ufw allow 27015/udp comment 'Conan Exiles query'
+sudo ufw allow 25575/tcp comment 'Conan Exiles RCON'
+sudo ufw reload
+
+
+
FirewallD (CentOS/RHEL/Fedora)
+
sudo firewall-cmd --permanent --add-port=7777-7778/udp
+sudo firewall-cmd --permanent --add-port=27015/udp
+sudo firewall-cmd --permanent --add-port=25575/tcp
+sudo firewall-cmd --reload
+
+
+
Windows Firewall
+
# Run in PowerShell as Administrator
+New-NetFirewallRule -DisplayName "Conan Exiles Game" -Direction Inbound -Protocol UDP -LocalPort 7777,7778,27015 -Action Allow
+New-NetFirewallRule -DisplayName "Conan Exiles RCON" -Direction Inbound -Protocol TCP -LocalPort 25575 -Action Allow
+
+
+
iptables (Legacy Linux)
+
sudo iptables -A INPUT -p udp --dport 7777:7778 -j ACCEPT
+sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
+sudo iptables -A INPUT -p tcp --dport 25575 -j ACCEPT
+sudo service iptables save
+
+
+
Installation & Setup
+
+
System Requirements
+
+ - OS: Windows Server 2016+ or Linux 64-bit (Ubuntu/Debian recommended)
+ - CPU: Minimum 4 cores @ 3.0GHz; Recommended 6-8 cores @ 3.5GHz+
+ - RAM: 6GB minimum, 16-32GB recommended for 40+ players
+ - Storage: 30GB+ for game files; SSD strongly recommended (world size grows)
+ - Network: 5Mbps minimum upload; 20-50Mbps for larger servers
+
+
+
Installing via SteamCMD (Linux)
+
# Install SteamCMD
+sudo add-apt-repository multiverse
+sudo dpkg --add-architecture i386
+sudo apt update
+sudo apt install steamcmd
+
+# Create server directory
+mkdir -p ~/conan-server
+cd ~/conan-server
+
+# Download server files
+steamcmd +login anonymous +force_install_dir ~/conan-server +app_update 443030 validate +exit
+
+
+
Installing via SteamCMD (Windows)
+
# Download SteamCMD from https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
+# Extract to C:\steamcmd\
+
+# Run CMD as Administrator
+cd C:\steamcmd
+steamcmd.exe +login anonymous +force_install_dir "C:\ConanServer" +app_update 443030 validate +exit
+
+
+
Server Configuration
+
+
Key Configuration Files
+
Conan Exiles uses three main INI files located in ConanSandbox/Saved/Config/WindowsServer/ (or LinuxServer/):
+
+
1. ServerSettings.ini
+
Primary server configuration file for gameplay settings:
+
[ServerSettings]
+; Server Identity
+ServerName=My Conan Server
+ServerPassword=
+AdminPassword=YourSecureAdminPassword
+ServerRegion=0
+
+; Network
+Port=7777
+QueryPort=27015
+MaxPlayers=40
+
+; PvP Settings
+PVPEnabled=True
+RestrictPVPBuilding=True
+RestrictPVPBuildingDamageTime=True
+PVPBlitzServer=False
+
+; Server Type (affects XP/harvesting rates)
+; 0=No Selection, 1=Conflict, 2=PvE-Conflict, 3=PvE, 4=PvP
+ServerType=4
+
+; Progression
+PlayerXPRateMultiplier=1.0
+PlayerXPKillMultiplier=1.0
+PlayerXPHarvestMultiplier=1.0
+PlayerXPCraftMultiplier=1.0
+PlayerXPTimeMultiplier=1.0
+
+; Harvesting
+HarvestAmountMultiplier=1.0
+ItemConvertionMultiplier=1.0
+ResourceRespawnSpeedMultiplier=1.0
+
+; Thralls & NPCs
+ThrallConversionMultiplier=1.0
+ThrallCraftingTimeMultiplier=1.0
+ThrallDecayTime=604800
+
+; Building & Decay
+BuildingDecayTime=604800
+BuildingDecayTimeMultiplier=1.0
+
+; Combat
+PlayerDamageMultiplier=1.0
+NPCDamageMultiplier=1.0
+PlayerDamageTakenMultiplier=1.0
+MinionDamageMultiplier=1.0
+
+; Containers
+ContainerIgnoreOwnership=False
+
+; Purge Settings
+EnablePurge=True
+PurgeLevel=5
+PurgeFrequency=14400
+
+; Stamina & Resources
+PlayerStaminaCostMultiplier=1.0
+PlayerActiveThirstMultiplier=1.0
+PlayerActiveHungerMultiplier=1.0
+
+; Community
+ClanMaxSize=10
+ServerCommunity=0
+
+
+
2. Engine.ini
+
Performance and network optimization:
+
[OnlineSubsystemSteam]
+ServerName=My Conan Server
+ServerPassword=
+bEnabled=true
+
+[/Script/Engine.GameSession]
+MaxPlayers=40
+
+[Core.System]
+Paths=../../../Engine/Content
+Paths=%GAMEDIR%Content
+Paths=../../../Engine/Plugins/Runtime/Firebase/FirebaseGoodies/Content
+Paths=../../../ConanSandbox/Plugins/ControlIconsToolkit/Content
+
+
+
3. Game.ini
+
Advanced gameplay customization:
+
[/Script/ConanSandbox.ConanGameMode]
+; Tweak specific game mechanics
+NPCRespawnMultiplier=1.0
+
+
+
Starting the Server
+
+
Windows
+
# Navigate to ConanSandbox\Binaries\Win64\
+cd C:\ConanServer\ConanSandbox\Binaries\Win64\
+
+# Basic startup
+ConanSandboxServer.exe -log
+
+# With custom config and multihome
+ConanSandboxServer.exe -log -Port=7777 -QueryPort=27015 -MaxPlayers=40 MULTIHOME=YOUR_SERVER_IP
+
+
+
Linux
+
# Make executable
+chmod +x ConanSandboxServer.sh
+
+# Run in screen session
+screen -S conan ./ConanSandboxServer.sh -log
+
+# With custom parameters
+./ConanSandboxServer.sh -log -Port=7777 -QueryPort=27015 -MaxPlayers=40
+
+# Detach: Ctrl+A, D
+# Reattach: screen -r conan
+
+
+
Mods & Admin Tools
+
+
Installing Mods
- - Navigate to the Game Servers page
- - Find Conan Exiles in the list
- - Select your preferred configuration (slots, duration, etc.)
- - Add to cart and complete checkout
- - Your server will be automatically provisioned within minutes
+ - Subscribe to mods on Steam Workshop
+ - Note the Mod IDs from Workshop URLs (e.g., 1234567890)
+ - Edit modlist.txt in server root directory:
-
Server Configuration
-
After your server is created, you can configure it through the control panel:
+
# modlist.txt format (one mod ID per line)
+*1234567890
+*9876543210
+*5555555555
+
+
+
+ - Restart server - mods download automatically on startup
+ - Check logs for mod loading confirmation
+
+
+
Popular Mods
- - Server settings and parameters
- - Player slots and limits
- - RCON/remote control access
- - FTP file access
+ - Pippi - User & Server Management: Essential admin tools, teleportation, spawning
+ - Age of Calamitous: Massive content expansion with new armor, weapons, dungeons
+ - LBPR - Less Building Placement Restrictions: More flexible building
+ - Emberlight: Immersive crafting and character development overhaul
+ - Fashionist: Appearance customization and transmogrification
-
Common Tasks
+
Admin Commands
+
Press Insert (or configured key) to open admin panel after authenticating with admin password.
-
Starting Your Server
-
Servers are automatically started after creation. You can stop/start your server from the control panel.
+
Common Admin Console Commands
+
# Make yourself admin (in-game)
+MakeMeAdmin YourAdminPassword
-Connecting to Your Server
-Use your server's IP address and port to connect from the game client.
+# Teleport
+TeleportPlayer X Y Z
+TeleportToPlayer PlayerName
-Managing Files
-Access your server files via FTP using the credentials provided in your control panel.
+# Spawning
+Summon ItemName
+SpawnItem ItemID Quantity
-Support
-If you need assistance with your Conan Exiles server:
+# God mode
+God
+
+# Fly mode
+Fly / Walk
+
+# Invisibility
+Invisibility
+
+# Give all recipes
+LearnEmote *
+
+# Server control
+SaveGame
+RestartServer
+
+# Clan management
+SetClanOwner ClanID PlayerID
+
+
+
🔧 Troubleshooting
+
+
Server Not Appearing in Browser
+
# 1. Check ports are open
+netstat -an | grep 7777
+netstat -an | grep 27015
+
+# 2. Verify ServerSettings.ini
+ServerRegion=0 # Should be set
+MaxPlayers=40 # Must be configured
+
+# 3. Check firewall rules
+sudo ufw status verbose
+
+# 4. Try direct connect instead of browser
+# In game: Open server list → Direct Connect → IP:Port
+
+
+
High Memory Usage / Crashes
+
# Reduce max players
+MaxPlayers=20 # Instead of 40+
+
+# Increase server RAM allocation (Linux)
+# Edit startup script to use ulimit
+ulimit -v 33554432 # 32GB limit
+
+# Disable building decay temporarily for testing
+BuildingDecayTime=0
+
+# Regular restarts recommended
+# Schedule automatic restart every 24-48 hours
+
+
+
Mods Not Loading
- - Check our Common Issues guide
- - Contact support through your account dashboard
- - Visit the official Conan Exiles community for game-specific help
+ - Verify
modlist.txt exists in server root
+ - Ensure each line starts with asterisk (*)
+ - Check mod IDs are correct (from Steam Workshop URL)
+ - Look for
*_ModControlPanel.txt file generation
+ - Review server logs for mod loading errors
+ - Some mods require client-side installation too
+
Performance Issues / Lag
+
# Reduce tick rate (ServerSettings.ini)
+ServerTickRate=30 # Default is higher
+
+# Lower view distance
+ViewDistance=0.5
+
+# Reduce NPC density
+NPCRespawnMultiplier=0.5
+
+# Clean up abandoned buildings
+BuildingDecayTime=86400 # 1 day instead of 7
+
+
+
+
+
Hardware Recommendations by Player Count
+
+
+
+ | Players |
+ RAM |
+ CPU Cores |
+ Storage |
+
+
+
+
+ | 1-10 |
+ 6-8GB |
+ 4 |
+ SSD 30GB+ |
+
+
+ | 11-20 |
+ 12-16GB |
+ 6 |
+ SSD 40GB+ |
+
+
+ | 21-40 |
+ 16-24GB |
+ 8 |
+ SSD 50GB+ |
+
+
+ | 41-70 |
+ 32GB+ |
+ 12+ |
+ NVMe 60GB+ |
+
+
+
+
+
Optimization Settings
+
# ServerSettings.ini performance tweaks
+
+; Reduce resource intensity
+HarvestAmountMultiplier=2.0 # Faster gathering = less time farming
+ThrallConversionMultiplier=0.5 # Faster thrall conversion
+
+; Faster decay for abandoned structures
+BuildingDecayTime=259200 # 3 days instead of 7
+
+; Purge optimization
+EnablePurge=False # Disable if causing performance issues
+PurgeFrequency=21600 # Less frequent if enabled
+
+; NPC spawn rates
+NPCRespawnMultiplier=0.75 # Reduce if too many NPCs
+
+; Stamina (reduces combat calculations)
+PlayerStaminaCostMultiplier=0.75 # Less stamina drain
+
+; Clan sizes (affects database queries)
+ClanMaxSize=5 # Smaller = better performance
+
+
+
Database Maintenance
+
Conan Exiles uses SQLite database for world persistence. Regular maintenance improves performance:
+
+
# Backup database regularly
+cp game.db game.db.backup
+
+# The server automatically maintains the database
+# But you can manually optimize offline:
+sqlite3 game.db "VACUUM;"
+
+
-
Important Notes
+
Pro Tips
- - Always keep your server updated to the latest version
- - Make regular backups of your server configuration
- - Review and follow the game's End User License Agreement (EULA)
+ - SSD is mandatory: World database writes constantly - HDD will cause severe lag
+ - Restart schedule: Auto-restart every 24-48 hours prevents memory leaks
+ - Purge carefully: The Purge system is resource-intensive; test on low player count first
+ - Thrall limits: Too many thralls cause lag - set reasonable limits or use decay
+ - Building limits: Large bases impact performance - enforce reasonable building policies
+ - Backup everything: Database corruption can occur - automated hourly backups recommended
+ - Admin tools: Pippi mod is essential for server management and admin tasks
-
\ No newline at end of file
+
+
+
Resources
+
\ No newline at end of file
diff --git a/modules/billing/docs/conanexiles/metadata.json b/modules/billing/docs/conanexiles/metadata.json
index b9c2e413..145ba92f 100644
--- a/modules/billing/docs/conanexiles/metadata.json
+++ b/modules/billing/docs/conanexiles/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Conan Exiles",
- "description": "Setup and configuration guide for Conan Exiles game servers",
- "category": "game",
- "order": 45
-}
\ No newline at end of file
+{
+ "name": "Conan Exiles",
+ "description": "Comprehensive guide for Conan Exiles dedicated servers with Pippi admin tools, thralls, building mechanics, mods, and barbaric survival hosting",
+ "category": "game",
+ "order": 47,
+ "complete": true
+}
diff --git a/modules/billing/docs/cs2d/metadata.json b/modules/billing/docs/cs2d/metadata.json
index 7d939c1f..ca58bb7a 100644
--- a/modules/billing/docs/cs2d/metadata.json
+++ b/modules/billing/docs/cs2d/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "CS2D",
- "description": "Setup and configuration guide for CS2D game servers",
- "category": "game",
- "order": 48
-}
\ No newline at end of file
+{
+ "name": "CS2D",
+ "description": "Setup and configuration guide for CS2D game servers",
+ "category": "game",
+ "order": 48,
+ "complete": false
+}
diff --git a/modules/billing/docs/csgo/index.php b/modules/billing/docs/csgo/index.php
index 5ed2fa09..e35dcbf6 100644
--- a/modules/billing/docs/csgo/index.php
+++ b/modules/billing/docs/csgo/index.php
@@ -2,86 +2,164 @@
/**
* Counter-Strike: Global Offensive / CS2 Server Documentation
* Comprehensive game server hosting guide
+ * Enhanced with ports table and complete troubleshooting
*/
?>
-
Navigation
+
📚 Navigation
Counter-Strike: Global Offensive & CS2 Server Hosting Guide
-
Overview
-
Counter-Strike: Global Offensive (CS:GO) and Counter-Strike 2 (CS2) are competitive tactical first-person shooters. This guide covers everything needed to host a dedicated CS:GO or CS2 server on Linux or Windows.
+
Overview
+
Counter-Strike: Global Offensive (CS:GO) and Counter-Strike 2 (CS2) are competitive tactical first-person shooters developed by Valve. CS2 replaced CS:GO in September 2023, transitioning from Source 1 to Source 2 engine.
-
Note: CS2 replaced CS:GO in September 2023. Most concepts apply to both, but CS2 uses Source 2 engine with some differences. This guide covers both versions.
-
-
Quick Info
+
Quick Reference
+ - Engine: Source 2 (CS2) / Source (CS:GO)
- Default Port:
27015 (UDP)
- - Additional Ports: 27015 (TCP), 27020 (UDP), 27005 (UDP) for SourceTV
- - Protocol: UDP (primary), TCP (RCON)
- Minimum RAM: 2GB (CS:GO), 4GB (CS2)
- Recommended RAM: 4GB+ (CS:GO), 8GB+ (CS2)
- CPU: High single-thread performance critical
- - App ID: 740 (CS:GO), 730 (CS2)
- - SteamCMD App: 740 (dedicated server)
- - Log Files:
csgo/logs/ or cs2/logs/
+ - SteamCMD App ID: 740 (CS:GO), 730 (CS2)
+ - GSLT Required: Yes (Get Token)
+ - Log Files:
csgo/logs/ or game/csgo/logs/
- Main Config:
server.cfg
- - Server Launcher:
srcds_run (Linux) or srcds.exe (Windows)
+
🔌 Ports Required
+
+
+
+ | Port |
+ Protocol |
+ Purpose |
+ Required |
+
+
+
+
+ 27015 |
+ UDP |
+ Main game server port (client connections) |
+ ✓ Yes |
+
+
+ 27015 |
+ TCP |
+ RCON (Remote Console) access |
+ Optional |
+
+
+ 27020 |
+ UDP |
+ SourceTV (GOTV) spectator port |
+ Optional |
+
+
+ 27005 |
+ UDP |
+ Client port (Steam connection) |
+ Optional |
+
+
+ 27035-27036 |
+ TCP |
+ Steam P2P communication (outbound) |
+ Optional |
+
+
+
+
+
Firewall Configuration Examples
+
+
UFW (Ubuntu/Debian)
+
sudo ufw allow 27015/udp comment 'CS:GO/CS2 game port'
+sudo ufw allow 27015/tcp comment 'CS:GO/CS2 RCON'
+sudo ufw allow 27020/udp comment 'CS:GO/CS2 SourceTV'
+sudo ufw allow 27005/udp comment 'CS:GO/CS2 client port'
+sudo ufw reload
+
+
+
FirewallD (CentOS/RHEL/Fedora)
+
sudo firewall-cmd --permanent --add-port=27015/udp --add-port=27015/tcp
+sudo firewall-cmd --permanent --add-port=27020/udp --add-port=27005/udp
+sudo firewall-cmd --reload
+
+
+
Windows Firewall
+
# Run in PowerShell as Administrator
+New-NetFirewallRule -DisplayName "CS:GO/CS2 UDP" -Direction Inbound -Protocol UDP -LocalPort 27015,27020,27005 -Action Allow
+New-NetFirewallRule -DisplayName "CS:GO/CS2 TCP" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
+
+
+
iptables (Legacy Linux)
+
sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
+sudo iptables -A INPUT -p tcp --dport 27015 -j ACCEPT
+sudo iptables -A INPUT -p udp --dport 27020 -j ACCEPT
+sudo iptables -A INPUT -p udp --dport 27005 -j ACCEPT
+sudo service iptables save
+
+
Installation & Setup
System Requirements
-
CS:GO
-
- - OS: Linux (Ubuntu 18.04+, Debian 9+) or Windows Server 2012+
- - CPU: Dual-core 3GHz+ (quad-core recommended)
- - RAM: 2GB minimum, 4GB+ recommended
- - Storage: 30GB+
- - Bandwidth: 100Mbps+ for competitive play
-
+
+
+
CS:GO Server
+
+ - OS: Linux (Ubuntu 18.04+) / Windows Server 2012+
+ - CPU: Dual-core 3GHz+ (quad-core recommended)
+ - RAM: 2GB minimum, 4GB+ recommended
+ - Disk: 30GB SSD recommended
+ - Network: 10Mbps+ (1Mbps per player)
+
+
+
+
CS2 Server
+
+ - OS: Linux (Ubuntu 20.04+) / Windows Server 2016+
+ - CPU: Quad-core 3.5GHz+ (6-core recommended)
+ - RAM: 4GB minimum, 8GB+ recommended
+ - Disk: 50GB SSD (Source 2 engine larger)
+ - Network: 15Mbps+ (1.5Mbps per player)
+
+
+
-
CS2
-
- - OS: Linux (Ubuntu 20.04+) or Windows Server 2019+
- - CPU: Quad-core 3.5GHz+ recommended
- - RAM: 4GB minimum, 8GB+ recommended
- - Storage: 40GB+
- - Network: 1Gbps connection recommended
-
+
Installation via SteamCMD (Linux)
-
Installing SteamCMD
-
-
Linux Installation
-
# Install dependencies (Ubuntu/Debian)
+Install SteamCMD
+# Ubuntu/Debian
+sudo add-apt-repository multiverse
+sudo dpkg --add-architecture i386
sudo apt update
-sudo apt install lib32gcc-s1 lib32stdc++6 steamcmd
+sudo apt install lib32gcc-s1 steamcmd
-# Or manual install
-mkdir ~/steamcmd
-cd ~/steamcmd
+# Create steam user
+sudo useradd -m -s /bin/bash steam
+sudo su - steam
+
+# CentOS/RHEL
+sudo yum install glibc.i686 libstdc++.i686
+mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
-Windows Installation
-Download SteamCMD from: SteamCMD for Windows
-
-Installing CS:GO/CS2 Server
-
-CS:GO Server
+CS:GO Server Installation
# Run SteamCMD
./steamcmd.sh
@@ -91,55 +169,79 @@ login anonymous
# Set install directory
force_install_dir ./csgo-server
-# Install CS:GO dedicated server
+# Install CS:GO dedicated server (App ID 740)
app_update 740 validate
# Exit
quit
-CS2 Server
+CS2 Server Installation
# Run SteamCMD
./steamcmd.sh
-# Login (may require Steam account with CS2)
+# Login (CS2 may require Steam account with CS2)
login anonymous
+# Or: login
# Set install directory
force_install_dir ./cs2-server
-# Install CS2 dedicated server
+# Install CS2 dedicated server (App ID 730)
app_update 730 validate
# Exit
quit
-Server Configuration
+Windows Installation
+
+ - Download SteamCMD for Windows
+ - Extract to
C:\steamcmd\
+ - Run
steamcmd.exe
+ - Execute same commands as Linux (use Windows paths)
+
+
+⚙️ Server Configuration
server.cfg - Essential Settings
-Create csgo/cfg/server.cfg or cs2/cfg/server.cfg:
-// Server Information
-hostname "My CS:GO/CS2 Server"
-sv_password "" // Server password (leave blank for public)
-sv_region "1" // 0=US East, 1=US West, 2=South America, 3=Europe, etc.
+Create csgo/cfg/server.cfg (CS:GO) or game/csgo/cfg/server.cfg (CS2):
+// ========================================
+// Server Information
+// ========================================
+hostname "My CS:GO/CS2 Server [128 Tick]"
+sv_password "" // Server password (blank = public)
+sv_region "1" // 0=US East, 1=US West, 2=SA, 3=EU, 4=Asia, etc.
+sv_tags "128tick,competitive" // Server browser tags
+// ========================================
// RCON Configuration
-rcon_password "YourSecurePassword"
+// ========================================
+rcon_password "YourSecurePasswordHere" // CHANGE THIS!
sv_rcon_banpenalty 0
sv_rcon_maxfailures 5
+sv_rcon_minfailures 3
+sv_rcon_minfailuretime 30
-// Server Settings
+// ========================================
+// Server Core Settings
+// ========================================
sv_cheats 0
sv_lan 0
-sv_pure 1 // File consistency checking (0=off, 1=on, 2=strict)
+sv_pure 1 // 0=off, 1=on, 2=strict file consistency
sv_pure_kick_clients 1
-sv_minrate 128000
-sv_maxrate 0 // 0=unlimited
+sv_minrate 128000 // Min bandwidth rate (128 tick)
+sv_maxrate 0 // Max bandwidth (0=unlimited)
+sv_mincmdrate 128 // Min client update rate
+sv_maxcmdrate 128 // Max client update rate
+sv_minupdaterate 128 // Min server update rate
+sv_maxupdaterate 128 // Max server update rate
-// Game Settings
-mp_autoteambalance 1
-mp_limitteams 1
+// ========================================
+// Game Settings - Competitive 5v5
+// ========================================
+game_type 0 // 0=Classic, 1=Arms Race, etc.
+game_mode 1 // 0=Casual, 1=Competitive, 2=Wingman
mp_teamcashawards 1
mp_playercashawards 1
mp_maxmoney 16000
@@ -148,411 +250,499 @@ mp_buytime 90
mp_buy_anywhere 0
mp_freezetime 15
mp_friendlyfire 0
-mp_c4timer 40
-mp_roundtime 5
-mp_roundtime_defuse 1.92
+mp_autoteambalance 1
+mp_limitteams 1
mp_maxrounds 30
+mp_roundtime 1.92 // Round time (minutes)
+mp_roundtime_defuse 1.92
+mp_roundtime_hostage 1.92
+mp_c4timer 40 // C4 bomb timer (seconds)
+
+// ========================================
+// Overtime Settings
+// ========================================
mp_overtime_enable 1
mp_overtime_maxrounds 6
mp_overtime_startmoney 10000
+mp_overtime_halftime_pausetimer 1
-// Competitive Settings (5v5)
-mp_match_end_restart 1
-mp_halftime 1
-mp_warmuptime 30
+// ========================================
+// Warmup & Match Settings
+// ========================================
mp_do_warmup_period 1
+mp_warmuptime 30
mp_warmup_pausetimer 1
+mp_halftime 1
+mp_halftime_duration 15
+mp_match_end_restart 1
+mp_match_restart_delay 15
+// ========================================
// Communication
-sv_alltalk 0
-sv_deadtalk 0
+// ========================================
+sv_alltalk 0 // Dead players can't talk to alive
+sv_deadtalk 0 // Dead players can't be heard
sv_full_alltalk 0
-sv_talk_enemy_dead 1
-sv_talk_enemy_living 0
+sv_talk_enemy_dead 1 // Dead can hear enemy team
+sv_talk_enemy_living 0 // Living can't hear enemy team
+// ========================================
// Voting
-sv_vote_issue_kick_allowed 0
+// ========================================
+sv_vote_issue_kick_allowed 0 // Disable kick votes
sv_vote_issue_changelevel_allowed 0
sv_vote_issue_nextlevel_allowed 0
+sv_vote_allow_spectators 0
-// SourceTV (GOTV)
+// ========================================
+// SourceTV (GOTV) Configuration
+// ========================================
tv_enable 1
-tv_delay 90
-tv_advertise_watchable 1
+tv_delay 90 // 90 second delay (anti-cheat)
+tv_advertise_watchable 1 // List in server browser
tv_name "GOTV"
tv_title "Source TV"
-tv_autorecord 1
+tv_autorecord 1 // Auto-record matches
tv_allow_camera_man 1
+tv_maxclients 10 // Max GOTV spectators
+// ========================================
// Logging
+// ========================================
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1
-sv_log_onefile 0
+sv_log_onefile 0 // New log file each map
-// Execute additional configs
+// ========================================
+// Security & Protection
+// ========================================
+sv_steamauth_enforce 2 // Strict Steam authentication
+sv_allow_wait_command 0 // Disable wait command (anti-exploit)
+sv_maxconsecutive losses_max 2 // Disconnect laggy players
+
+// ========================================
+// Execute Additional Configs
+// ========================================
exec banned_user.cfg
exec banned_ip.cfg
-Game Mode Configuration Files
+Game Mode Configuration
-gamemode_competitive.cfg (5v5 Competitive)
-mp_maxrounds 30
+Competitive 5v5 (server.cfg above already configured)
+game_type 0
+game_mode 1
+mp_maxrounds 30
mp_roundtime 1.92
-mp_roundtime_defuse 1.92
-mp_freezetime 15
-mp_buytime 90
-mp_startmoney 800
-mp_maxmoney 16000
-mp_timelimit 0
-sv_alltalk 0
-sv_talk_enemy_dead 1
-sv_deadtalk 0
-gamemode_casual.cfg (10v10 Casual)
-mp_maxrounds 15
+Casual 10v10
+game_type 0
+game_mode 0
+mp_maxrounds 10
mp_roundtime 3
-mp_roundtime_defuse 3
-mp_freezetime 15
-mp_buytime 90
-mp_startmoney 1000
-mp_maxmoney 16000
-sv_alltalk 0
-mp_autoteambalance 1
-mp_limitteams 2
+mp_friendlyfire 0
-mapcycle.txt
-List maps to rotate through:
-de_dust2
-de_mirage
-de_inferno
-de_nuke
-de_overpass
-de_vertigo
-de_ancient
-de_anubis
+Wingman 2v2
+game_type 0
+game_mode 2
+mp_maxrounds 16
+mp_roundtime 1.92
+
+
+Deathmatch
+game_type 1
+game_mode 2
+mp_respawn_on_death_ct 1
+mp_respawn_on_death_t 1
Startup Parameters
-Basic Linux Startup (CS:GO)
+Linux Start Script (srcds_run)
#!/bin/bash
-cd /path/to/csgo-server
-./srcds_run -game csgo \
+# CS:GO/CS2 Server Startup Script
+
+cd /home/steam/csgo-server # or cs2-server
+
+./srcds_run \
+ -game csgo \
-console \
-usercon \
+ip 0.0.0.0 \
+ -port 27015 \
+game_type 0 \
+game_mode 1 \
+mapgroup mg_active \
+map de_dust2 \
- -port 27015 \
- +tv_port 27020 \
-tickrate 128 \
+maxplayers 10 \
- +sv_setsteamaccount YOUR_GSLT_TOKEN
+ +sv_setsteamaccount "YOUR_GSLT_TOKEN_HERE" \
+ +sv_lan 0 \
+ +exec server.cfg \
+ +tv_port 27020 \
+ +tv_enable 1
-Basic Linux Startup (CS2)
-#!/bin/bash
-cd /path/to/cs2-server
-./game/bin/linuxsteamrt64/cs2 \
- -dedicated \
- -console \
- +ip 0.0.0.0 \
- +map de_dust2 \
- -port 27015 \
- +maxplayers 10 \
- +sv_setsteamaccount YOUR_GSLT_TOKEN \
- +game_type 0 \
- +game_mode 1
+Windows Startup (srcds.exe)
+srcds.exe ^
+ -game csgo ^
+ -console ^
+ -usercon ^
+ +ip 0.0.0.0 ^
+ -port 27015 ^
+ +game_type 0 ^
+ +game_mode 1 ^
+ +mapgroup mg_active ^
+ +map de_dust2 ^
+ -tickrate 128 ^
+ +maxplayers 10 ^
+ +sv_setsteamaccount "YOUR_GSLT_TOKEN_HERE" ^
+ +exec server.cfg
-Windows Startup (CS:GO)
-@echo off
-cd C:\csgo-server
-srcds.exe -game csgo -console -usercon +ip 0.0.0.0 +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -port 27015 -tickrate 128 +maxplayers 10 +sv_setsteamaccount YOUR_GSLT_TOKEN
-pause
-
+Parameter Reference
+
+
+
+ | Parameter |
+ Description |
+
+
+
+
+ -game csgo |
+ Specify game directory (csgo for both CS:GO and CS2) |
+
+
+ -console |
+ Enable console output |
+
+
+ -usercon |
+ Enable RCON (remote console) |
+
+
+ +ip 0.0.0.0 |
+ Bind to all network interfaces |
+
+
+ -port 27015 |
+ Server port (default 27015) |
+
+
+ +map de_dust2 |
+ Starting map |
+
+
+ -tickrate 128 |
+ Server tick rate (64 default, 128 competitive) |
+
+
+ +maxplayers 10 |
+ Maximum player slots |
+
+
+ +sv_setsteamaccount |
+ Game Server Login Token (REQUIRED for public servers) |
+
+
+ +game_type |
+ 0=Classic, 1=Arms Race, 2=Demolition, 3=Deathmatch |
+
+
+ +game_mode |
+ 0=Casual, 1=Competitive, 2=Wingman/Skirmish |
+
+
+ +mapgroup |
+ Map rotation group (mg_active, mg_reserves, etc.) |
+
+
+ +tv_port 27020 |
+ SourceTV (GOTV) port |
+
+
+ +exec server.cfg |
+ Execute server configuration file |
+
+
+
-Parameter Breakdown
-
- -game csgo - Specify game (CS:GO only, not needed for CS2)
- -console - Enable server console
- -usercon - Enable user console input
- +ip 0.0.0.0 - Bind to all network interfaces
- +game_type 0 - Classic game type
- +game_mode 1 - Competitive mode (0=casual, 1=competitive, 2=wingman)
- +mapgroup mg_active - Map group (active duty maps)
- +map de_dust2 - Starting map
- -port 27015 - Server port
- -tickrate 128 - Server tickrate (64 or 128, CS:GO only)
- +maxplayers 10 - Maximum players
- +sv_setsteamaccount TOKEN - Game Server Login Token (GSLT)
-
-
-Game Server Login Token (GSLT)
-Required for public servers to appear in server browser!
-
- - Go to Steam Game Server Account Management
- - Login with your Steam account
- - Click "Create New Game Server Account"
- - App ID: 730 (CS:GO) or 730 (CS2)
- - Memo: Your server name/description
- - Copy the generated token
- - Use in +sv_setsteamaccount parameter
-
-
-Plugins & Mods
+Plugins & Mods
SourceMod & MetaMod:Source
-The standard plugin framework for Source engine servers.
+Most popular server modification framework for Source engine games.
Installation
- - Download MetaMod:Source: SourceMM.net
- - Download SourceMod: SourceMod.net
- - Extract to server directory:
-
# Both extract to csgo/ or cs2/ folder
-cd /path/to/csgo-server/csgo
-wget https://mms.alliedmods.net/mmsdrop/...
-tar -xzf mmsource-...tar.gz
-
-wget https://sm.alliedmods.net/smdrop/...
-tar -xzf sourcemod-...tar.gz
-
-
- - Restart server
- - Add yourself as admin:
-
# Edit addons/sourcemod/configs/admins_simple.ini
-"STEAM_0:1:12345678" "99:z" // Your Steam ID
-
-
+ - Download MetaMod:Source (get latest stable build)
+ - Download SourceMod (get latest stable build)
+ - Extract both to
csgo/ directory (they merge with existing folders)
+ - Restart server
+ - Type
sm version in console to verify
-Essential Plugins
-
-Practice Mode
-For practicing smokes, flashes, and aim.
+Popular SourceMod Plugins
- - Download: CS:GO Practice Mode
- - Features: Noclip, infinite ammo, grenade trajectory, bot spawning
+ - Admin System: Built-in admin management (edit
configs/admins_simple.ini)
+ - PugSetup: 10-man competitive match setup (ReadyUp, map voting, team selection)
+ - Get5: Match management and configuration system
+ - Retakes: Automated retake scenarios (B site, A site practice)
+ - Deathmatch: Respawn, weapon menus, spawn protection
+ - Advertisements: Server advertisements in chat
+ - MapChooser Extended: Advanced map voting system
+ - RankMe: Player statistics and ranking
-Get5
-Competitive match plugin with knife rounds, veto, and more.
-
- - Download: Get5 on GitHub
- - Features: Automated match setup, team management, stats
-
+Installing Plugins
+# Download .smx file (compiled plugin)
+# Place in: csgo/addons/sourcemod/plugins/
-RetakesPlugin
-Retake game mode - defenders defend bombsite, attackers retake.
-
+# If .sp file (source):
+cd csgo/addons/sourcemod/scripting
+./compile.sh pluginname.sp
+# Compiled .smx appears in compiled/ directory
+mv compiled/pluginname.smx ../plugins/
-RankMe
-Player ranking and statistics system.
-
-
-In-Game Admin Menu
-Built into SourceMod. Access with !admin or sm_admin in chat.
-
-Workshop Maps & Collections
-# In server.cfg or startup parameters
-host_workshop_collection 123456789 // Workshop collection ID
-workshop_start_map 123456789 // Workshop map ID
+# Reload plugins without restart
+sm plugins reload pluginname
-Troubleshooting
+Workshop Maps (CS:GO/CS2)
+# Add to server.cfg or startup params
+host_workshop_collection "COLLECTION_ID"
+workshop_start_map "MAP_ID"
+
+# Or in startup command
++host_workshop_collection 125499818 +workshop_start_map 125488374
+
+
+🔧 Troubleshooting
Server Won't Start
-Missing Libraries (Linux)
-# Install 32-bit libraries
-sudo dpkg --add-architecture i386
-sudo apt update
-sudo apt install lib32gcc-s1 lib32stdc++6
+Missing GSLT Token
+[ERROR] Failed to contact master server
-# CS:GO specific
-sudo apt install libsdl2-2.0-0:i386
-
-# CS2 specific
-sudo apt install libtinfo5:i386
+# Fix: Get GSLT token from Steam
+# https://steamcommunity.com/dev/managegameservers
+# Add to startup: +sv_setsteamaccount "YOUR_TOKEN"
Port Already in Use
# Check what's using port 27015
-sudo netstat -tulpn | grep 27015
sudo lsof -i :27015
+# Or on Windows:
+netstat -ano | findstr :27015
# Kill existing process or change port
./srcds_run -game csgo -port 27016 ...
-Server Not in Browser
-
- - Check GSLT is set:
+sv_setsteamaccount YOUR_TOKEN
- - Verify sv_lan is 0:
sv_lan 0 in server.cfg
- - Check firewall allows UDP 27015:
-
sudo ufw allow 27015/udp
-sudo ufw allow 27015/tcp
-sudo ufw allow 27020/udp # SourceTV
-
-
- - Wait 5-10 minutes: Can take time to appear in browser
- - Direct connect test: In CS:GO/CS2 console:
connect your.server.ip:27015
-
+Missing Libraries (Linux)
+# Ubuntu/Debian
+sudo dpkg --add-architecture i386
+sudo apt update
+sudo apt install lib32gcc-s1 lib32stdc++6
-High Ping / Lag
-
-Server-Side
-
- - Check server load:
top or htop
- - Increase rates:
-
sv_minrate 128000
-sv_maxrate 0 // unlimited
-
-
- - Enable multi-core (CS:GO):
-
host_thread_mode 2
-
-
- - Reduce bots if present
- - Check network saturation
-
-
-Client-Side
-// Player client commands
-rate 786432
-cl_interp 0
-cl_interp_ratio 1
-cl_updaterate 128
-cl_cmdrate 128
+# CentOS/RHEL
+sudo yum install glibc.i686 libstdc++.i686
-VAC Authentication Error
-
- - Ensure sv_lan 0
- - Verify GSLT is valid and not banned
- - Check server files integrity:
-
./steamcmd.sh
-login anonymous
-force_install_dir /path/to/csgo-server
-app_update 740 validate
-quit
-
-
- - Restart server after updates
-
+Connection Issues
-Can't Hear Voice Chat
-
- - Check voice settings in server.cfg:
-
sv_use_steam_voice 1
-sv_voiceenable 1
-
-
- - Verify UDP ports open: 27015, 27020
- - Test with different voice_loopback values:
-
voice_loopback 1 // Hear yourself (testing)
-
-
-
+Server Not Listed in Browser
+
+ - Check GSLT token: Must be valid and not VAC banned
+ - Verify sv_lan: Must be
sv_lan 0 (not LAN mode)
+ - Check firewall: UDP 27015 must be open
+ - Wait 5-10 minutes: Steam master server updates are slow
+ - Use direct IP:
connect IP:27015 in console
+
-Game Modes Configuration
+Players Can't Connect
+# Test from external location
+nc -u -v YOUR_SERVER_IP 27015
-Competitive 5v5 (128 tick)
-+game_type 0 +game_mode 1 -tickrate 128 +maxplayers 10
-exec gamemode_competitive.cfg
+# Check server status
+status
+sv_lan
+
+
+High Ping / Lag
+
+ - Enable sv_pure:
sv_pure 1 (file consistency checking)
+ - Check rates: Ensure
sv_minrate 128000 for 128 tick
+ - Monitor resources:
top or htop - CPU at 100%?
+ - Network bandwidth: 1Mbps per player minimum
+ - Geographic location: Host server near player base
+
+
+Performance Issues
+
+Low FPS / Stuttering
+
+ - CPU bottleneck: CS requires high single-thread performance
+ - Reduce tick rate: Try
-tickrate 64 instead of 128
+ - Lower player count: Reduce
maxplayers
+ - Disable SourceTV:
tv_enable 0 saves resources
+ - Check plugins: Disable SourceMod plugins one-by-one to identify issues
+
+
+Memory Usage High
+# Monitor memory
+free -h
+htop
+
+# CS2 uses more RAM than CS:GO (Source 2 engine)
+# Ensure 8GB+ available for CS2, 4GB+ for CS:GO
+
+
+Plugin/Mod Issues
+
+SourceMod Not Loading
+# Check MetaMod loaded first
+meta list
+
+# Check SourceMod
+sm version
+
+# Enable developer mode
+developer 1
+
+# Check logs
+tail -f csgo/logs/latest.log
+tail -f csgo/addons/sourcemod/logs/errors_*.txt
+
+
+Plugin Crashes Server
+
+ - Remove plugin: Move .smx file out of
plugins/ folder
+ - Check compatibility: Ensure plugin supports your game version
+ - Update SourceMod: Get latest stable build
+ - Check logs:
addons/sourcemod/logs/errors_*.txt
+
+
+Map Issues
+
+Workshop Map Won't Download
+# Verify server can access Steam Workshop
+# Check firewall allows outbound HTTPS (443)
+
+# Manual workshop download
+# Use tool like DepotDownloader or CSGO Server Launcher
+# Place .bsp in csgo/maps/
+# Place .nav in csgo/maps/
+# Place other files in csgo/maps/workshop/
+
+
+Custom Map Missing Resources
+
+ - FastDL: Set up fast download server for custom content
+ - sv_downloadurl:
sv_downloadurl "http://yoursite.com/csgo/"
+ - Use Workshop: Upload custom maps to Steam Workshop
+
+
+Security Issues
+
+Server Hacked / Unauthorized Access
+
+ - Change RCON password immediately: Strong password (20+ chars)
+ - Check admins: Review
configs/admins_simple.ini
+ - Update server:
app_update 740 validate
+ - Firewall RCON: Block TCP 27015 or whitelist IPs only
+ - Monitor logs: Check for suspicious RCON commands
+
+
+Game Modes
+
+Competitive 5v5
+game_type 0
+game_mode 1
+mp_maxrounds 30
+mp_roundtime 1.92
+mp_c4timer 40
+mp_startmoney 800
+mp_maxmoney 16000
+-tickrate 128
Casual 10v10
-+game_type 0 +game_mode 0 +maxplayers 20
-exec gamemode_casual.cfg
-
-
-Deathmatch
-+game_type 1 +game_mode 2 +maxplayers 20
-mp_respawn_on_death_t 1
-mp_respawn_on_death_ct 1
-mp_respawnwavetime 3
-mp_timelimit 10
-mp_dm_bonus_length_max 30
-
-
-Arms Race
-+game_type 1 +game_mode 0 +maxplayers 12
-mp_ggprogressive_round_restart_delay 3
-mp_timelimit 20
-mp_maxrounds 3
+game_type 0
+game_mode 0
+mp_maxrounds 10
+mp_roundtime 3
+mp_friendlyfire 0
+mp_autokick 0
+-tickrate 64
Wingman 2v2
-+game_type 0 +game_mode 2 +maxplayers 4
-exec gamemode_competitive.cfg
+game_type 0
+game_mode 2
mp_maxrounds 16
-mp_overtime_maxrounds 4
+mp_roundtime 1.92
+mp_maxplayers 4
+-tickrate 128
-Custom Modes
-
-Surf
-Download surf maps and configure:
-sv_airaccelerate 150
-sv_staminajumpcost 0
-sv_staminalandcost 0
-sv_accelerate 10
-sv_friction 4
+Deathmatch
+game_type 1
+game_mode 2
+mp_respawn_on_death_ct 1
+mp_respawn_on_death_t 1
+mp_respawnwavetime_ct 0
+mp_respawnwavetime_t 0
+mp_timelimit 10
+-tickrate 64
-Bunny Hop
-sv_enablebunnyhopping 1
-sv_autobunnyhopping 1
-sv_airaccelerate 1000
-sv_staminajumpcost 0
-sv_staminalandcost 0
+Retakes (Requires Plugin)
+Install Retakes plugin via SourceMod.
+sm_retakes_enabled 1
+sm_retakes_scramble_teams 1
+sm_retakes_max_players 10
-1v1 Arena
-Use arena plugin and configure multiple arenas on one map.
+1v1 Arena (Requires Plugin)
+Install Multi-1v1 plugin via SourceMod.
Performance Optimization
+
+ - Use SSD storage: Faster map loads and asset streaming
+ - 128 tick requires good CPU: 3.5GHz+ single-thread performance
+ - Limit SourceTV spectators:
tv_maxclients 5
+ - Disable unnecessary logs: Reduce I/O overhead
+ - Monitor resources:
htop, iotop, nethogs
+ - Geographic proximity: Host near player base for low ping
+ - Dedicated server: Don't run on shared hosting
+
-CPU Affinity (Linux)
-# Bind server to specific CPU cores
-taskset -c 0,1,2,3 ./srcds_run -game csgo ...
-
+Security Best Practices
+
+ - Strong RCON password: 20+ characters, random
+ - Firewall RCON port: Whitelist admin IPs only (TCP 27015)
+ - Keep server updated: Weekly
app_update via SteamCMD
+ - Use sv_pure:
sv_pure 1 or 2 for competitive integrity
+ - Monitor logs: Watch for exploit attempts
+ - Secure SourceMod admins: Use Steam ID authentication, not passwords
+ - Disable unnecessary services: Unused ports, SSH password auth, etc.
+
-Process Priority
-# Run with higher priority
-nice -n -10 ./srcds_run -game csgo ...
-
+Updating Server
+# Stop server gracefully
+rcon quit
+# Or: killall srcds_linux (Linux) / taskkill /IM srcds.exe (Windows)
-Network Optimization
-# Increase network buffers (Linux)
-sudo sysctl -w net.core.rmem_max=16777216
-sudo sysctl -w net.core.wmem_max=16777216
-sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
-sudo sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"
-
-
-Automate Updates
-#!/bin/bash
-# update_csgo.sh
+# Run SteamCMD update
cd /home/steam/steamcmd
./steamcmd.sh +login anonymous +force_install_dir /path/to/csgo-server +app_update 740 validate +quit
-# Kill and restart server
-killall -9 srcds_linux
-sleep 5
+# Restart server
cd /path/to/csgo-server
./srcds_run -game csgo +map de_dust2 ...
@@ -562,23 +752,27 @@ cd /path/to/csgo-server
Valve Developer Wiki - CS:GO Dedicated Servers
Valve Developer Wiki - CS2 Dedicated Servers
SourceMod Official Site
+ MetaMod:Source Official Site
AlliedModders Forums
- Steam GSLT Management
- LinuxGSM - Game Server Management
+ Steam Game Server Login Tokens (GSLT)
+ LinuxGSM - Server Management Scripts
+ r/GlobalOffensive Reddit Community
Important Notes
- - Always obtain and use a valid Game Server Login Token (GSLT)
- - Keep server files updated via SteamCMD
- - Monitor server resources (CPU, RAM, network)
- - Use strong RCON password
- - Configure firewall properly for security
- - Join CS:GO/CS2 server admin communities for support
+ - Always obtain and use a valid Game Server Login Token (GSLT) for public servers
+ - Keep server files updated via SteamCMD (
app_update 740 validate)
+ - Monitor server resources (CPU, RAM, network bandwidth)
+ - Use strong RCON password and secure firewall rules
+ - Configure firewall properly - UDP 27015 must be accessible
+ - 128 tick requires good CPU (3.5GHz+ single-thread) and bandwidth (1Mbps per player)
+ - CS2 requires more resources than CS:GO (Source 2 engine)
+ - Join CS:GO/CS2 server admin communities for support and updates
- Last updated: November 2024 | Covers CS:GO & CS2
+ Last updated: January 2025 | Covers CS:GO & CS2 | Complete guide with ports, configs, troubleshooting
diff --git a/modules/billing/docs/csgo/metadata.json b/modules/billing/docs/csgo/metadata.json
index 143a12d6..fd77e792 100644
--- a/modules/billing/docs/csgo/metadata.json
+++ b/modules/billing/docs/csgo/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Counter Strike Global Offensive 128tick",
- "description": "Setup and configuration guide for Counter Strike Global Offensive 128tick game servers",
- "category": "game",
- "order": 50
-}
\ No newline at end of file
+{
+ "name": "Counter-Strike: Global Offensive & CS2",
+ "description": "Comprehensive guide for CS:GO and CS2 dedicated servers with ports, 128-tick setup, SourceMod plugins, and troubleshooting",
+ "category": "game",
+ "order": 50,
+ "complete": true
+}
diff --git a/modules/billing/docs/cspromod/metadata.json b/modules/billing/docs/cspromod/metadata.json
index 7852f9c1..86723317 100644
--- a/modules/billing/docs/cspromod/metadata.json
+++ b/modules/billing/docs/cspromod/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "CSPromod",
- "description": "Setup and configuration guide for CSPromod game servers",
- "category": "game",
- "order": 52
-}
\ No newline at end of file
+{
+ "name": "CSPromod",
+ "description": "Setup and configuration guide for CSPromod game servers",
+ "category": "game",
+ "order": 52,
+ "complete": false
+}
diff --git a/modules/billing/docs/css/index.php b/modules/billing/docs/css/index.php
index 359615f4..55adee27 100644
--- a/modules/billing/docs/css/index.php
+++ b/modules/billing/docs/css/index.php
@@ -1,68 +1,568 @@
-Counter Strike Source Server Guide
-
-Overview
-Counter Strike Source is available for hosting on our platform. This guide covers the basics of setting up and managing your Counter Strike Source server.
-
-
Server Information
-
- - Default Port:
27015
- - Protocol: UDP
- - Additional Info: Query port also uses 27015 UDP
-
-
- Note: When running on a VPS or dedicated server, you can use the default port or configure a custom port in your server configuration file.
-
+
📚 Navigation
+
-Getting Started
-To create a Counter Strike Source server:
-
- - Navigate to the Game Servers page
- - Find Counter Strike Source in the list
- - Select your preferred configuration (slots, duration, etc.)
- - Add to cart and complete checkout
- - Your server will be automatically provisioned within minutes
-
+Counter-Strike: Source Server Hosting Guide
-Server Configuration
-After your server is created, you can configure it through the control panel:
+Overview
+Counter-Strike: Source (CSS) is the 2004 Source engine remake of the original Counter-Strike 1.6. It remains popular with a dedicated community and is known for its smooth gameplay, extensive mod support through SourceMod/MetaMod, and active competitive scene.
+
+
+
Quick Reference
+
+ - Engine: Source Engine (v1)
+ - Default Port:
27015 (UDP)
+ - Minimum RAM: 1GB
+ - Recommended RAM: 2GB+
+ - CPU: Dual-core 2GHz+ (Source engine legacy, less demanding than CS:GO/CS2)
+ - SteamCMD App ID: 232330
+ - GSLT Required: No (legacy game, optional)
+ - Log Files:
cstrike/logs/
+ - Main Config:
server.cfg
+
+
+
+🔌 Ports Required
+
+
+
+ | Port |
+ Protocol |
+ Purpose |
+ Required |
+
+
+
+
+ 27015 |
+ UDP |
+ Main game server port (client connections) |
+ ✓ Yes |
+
+
+ 27015 |
+ TCP |
+ RCON (Remote Console) access |
+ Optional |
+
+
+ 27020 |
+ UDP |
+ SourceTV spectator port |
+ Optional |
+
+
+ 27005 |
+ UDP |
+ Client port (Steam connection) |
+ Optional |
+
+
+
+
+Firewall Configuration Examples
+
+UFW (Ubuntu/Debian)
+sudo ufw allow 27015/udp comment 'CSS game port'
+sudo ufw allow 27015/tcp comment 'CSS RCON'
+sudo ufw allow 27020/udp comment 'CSS SourceTV'
+sudo ufw allow 27005/udp comment 'CSS client port'
+sudo ufw reload
+
+
+FirewallD (CentOS/RHEL/Fedora)
+sudo firewall-cmd --permanent --add-port=27015/udp --add-port=27015/tcp
+sudo firewall-cmd --permanent --add-port=27020/udp --add-port=27005/udp
+sudo firewall-cmd --reload
+
+
+Windows Firewall
+# Run in PowerShell as Administrator
+New-NetFirewallRule -DisplayName "CS:Source UDP" -Direction Inbound -Protocol UDP -LocalPort 27015,27020,27005 -Action Allow
+New-NetFirewallRule -DisplayName "CS:Source TCP" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
+
+
+iptables (Legacy Linux)
+sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
+sudo iptables -A INPUT -p tcp --dport 27015 -j ACCEPT
+sudo iptables -A INPUT -p udp --dport 27020 -j ACCEPT
+sudo iptables -A INPUT -p udp --dport 27005 -j ACCEPT
+sudo service iptables save
+
+
+Installation & Setup
+
+System Requirements
- - Server settings and parameters
- - Player slots and limits
- - RCON/remote control access
- - FTP file access
+ - OS: Linux (Ubuntu 16.04+, Debian 8+) or Windows Server 2008+
+ - CPU: Dual-core 2GHz+ (CSS is less demanding than modern CS:GO/CS2)
+ - RAM: 1GB minimum, 2GB+ recommended
+ - Disk: 15GB for server files
+ - Network: 5Mbps+ (0.5Mbps per player)
-Common Tasks
+Installation via SteamCMD (Linux)
-Starting Your Server
-Servers are automatically started after creation. You can stop/start your server from the control panel.
+Install SteamCMD
+# Ubuntu/Debian
+sudo add-apt-repository multiverse
+sudo dpkg --add-architecture i386
+sudo apt update
+sudo apt install lib32gcc-s1 steamcmd
-Connecting to Your Server
-Use your server's IP address and port to connect from the game client.
+# Create steam user
+sudo useradd -m -s /bin/bash steam
+sudo su - steam
-Managing Files
-Access your server files via FTP using the credentials provided in your control panel.
+# CentOS/RHEL
+sudo yum install glibc.i686 libstdc++.i686
+mkdir ~/steamcmd && cd ~/steamcmd
+wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
+tar -xvzf steamcmd_linux.tar.gz
+
-Support
-If you need assistance with your Counter Strike Source server:
+CS:Source Server Installation
+# Run SteamCMD
+./steamcmd.sh
+
+# Login anonymously
+login anonymous
+
+# Set install directory
+force_install_dir ./css-server
+
+# Install CS:Source dedicated server (App ID 232330)
+app_update 232330 validate
+
+# Exit
+quit
+
+
+Windows Installation
+
+ - Download SteamCMD for Windows
+ - Extract to
C:\steamcmd\
+ - Run
steamcmd.exe
+ - Execute:
login anonymous
+ - Execute:
force_install_dir C:\css-server
+ - Execute:
app_update 232330 validate
+
+
+⚙️ Server Configuration
+
+server.cfg - Essential Settings
+Create cstrike/cfg/server.cfg:
+// ========================================
+// Server Information
+// ========================================
+hostname "My CS:Source Server"
+sv_password "" // Server password (blank = public)
+sv_region "1" // 0=US East, 1=US West, 2=SA, 3=EU, 4=Asia
+sv_tags "classic,source" // Server browser tags
+
+// ========================================
+// RCON Configuration
+// ========================================
+rcon_password "YourSecurePasswordHere" // CHANGE THIS!
+sv_rcon_banpenalty 0
+sv_rcon_maxfailures 5
+
+// ========================================
+// Server Core Settings
+// ========================================
+sv_cheats 0
+sv_lan 0
+sv_pure 1 // File consistency (0=off, 1=on, 2=strict)
+sv_pure_kick_clients 1
+sv_minrate 10000 // Minimum bandwidth rate
+sv_maxrate 0 // Maximum bandwidth (0=unlimited)
+sv_mincmdrate 66 // Min client update rate
+sv_maxcmdrate 100 // Max client update rate
+sv_minupdaterate 66 // Min server update rate
+sv_maxupdaterate 100 // Max server update rate
+
+// ========================================
+// Game Settings
+// ========================================
+mp_friendlyfire 0 // 0=off, 1=on
+mp_autoteambalance 1
+mp_limitteams 1
+mp_buytime 0.25 // Buy time (minutes)
+mp_freezetime 6 // Freeze time (seconds)
+mp_c4timer 45 // C4 bomb timer
+mp_startmoney 800
+mp_maxmoney 16000
+mp_roundtime 5 // Round time (minutes)
+mp_timelimit 30 // Map time limit (minutes)
+mp_maxrounds 0 // 0=unlimited
+
+// ========================================
+// Team Settings
+// ========================================
+mp_autokick 1 // Autokick idle/teamkillers
+mp_tkpunish 1 // Punish teamkillers
+mp_flashlight 1 // Allow flashlight
+mp_footsteps 1 // Enable footsteps
+mp_forcecamera 1 // 0=free, 1=team only, 2=fixed
+mp_fadetoblack 0 // Screen fades to black on death
+
+// ========================================
+// Communication
+// ========================================
+sv_alltalk 0 // Dead can't talk to alive
+sv_deadtalk 0 // Dead can't be heard
+sv_voiceenable 1 // Enable voice chat
+
+// ========================================
+// SourceTV Configuration
+// ========================================
+tv_enable 1
+tv_delay 30 // 30 second delay
+tv_advertise_watchable 1
+tv_name "SourceTV"
+tv_title "Source TV"
+tv_autorecord 0 // Auto-record demos
+tv_maxclients 5 // Max SourceTV spectators
+
+// ========================================
+// Logging
+// ========================================
+log on
+sv_logbans 1
+sv_logecho 1
+sv_logfile 1
+sv_log_onefile 0 // New log file each map
+
+// ========================================
+// Download & FastDL
+// ========================================
+sv_allowdownload 1 // Allow clients to download files
+sv_allowupload 1
+sv_downloadurl "" // FastDL URL (e.g., http://yoursite.com/css/)
+
+// ========================================
+// Execute Additional Configs
+// ========================================
+exec banned_user.cfg
+exec banned_ip.cfg
+
+
+Startup Parameters
+
+Linux Start Script (srcds_run)
+#!/bin/bash
+# CS:Source Server Startup Script
+
+cd /home/steam/css-server
+
+./srcds_run \
+ -game cstrike \
+ -console \
+ -usercon \
+ +ip 0.0.0.0 \
+ -port 27015 \
+ +map de_dust2 \
+ -maxplayers 16 \
+ -autoupdate \
+ -steam_dir /home/steam/steamcmd \
+ -steamcmd_script /home/steam/steamcmd/steamcmd.sh \
+ +exec server.cfg \
+ +tv_port 27020
+
+
+Windows Startup (srcds.exe)
+srcds.exe ^
+ -game cstrike ^
+ -console ^
+ -usercon ^
+ +ip 0.0.0.0 ^
+ -port 27015 ^
+ +map de_dust2 ^
+ -maxplayers 16 ^
+ +exec server.cfg
+
+
+Parameter Reference
+
+
+
+ | Parameter |
+ Description |
+
+
+
+
+ -game cstrike |
+ Specify game directory (cstrike for CS:Source) |
+
+
+ -console |
+ Enable console output |
+
+
+ -usercon |
+ Enable RCON (remote console) |
+
+
+ +ip 0.0.0.0 |
+ Bind to all network interfaces |
+
+
+ -port 27015 |
+ Server port (default 27015) |
+
+
+ +map de_dust2 |
+ Starting map |
+
+
+ -maxplayers 16 |
+ Maximum player slots |
+
+
+ -autoupdate |
+ Automatically update server on restart |
+
+
+ +exec server.cfg |
+ Execute server configuration file |
+
+
+ +tv_port 27020 |
+ SourceTV port |
+
+
+
+
+Plugins & Mods
+
+SourceMod & MetaMod:Source
+CS:Source has the most mature SourceMod plugin ecosystem. Thousands of plugins available.
+
+Installation
+
+ - Download MetaMod:Source (latest stable)
+ - Download SourceMod (latest stable)
+ - Extract both to
cstrike/ directory
+ - Restart server
+ - Type
sm version in console to verify
+
+
+Popular Plugins for CS:Source
- - Check our Common Issues guide
- - Contact support through your account dashboard
- - Visit the official Counter Strike Source community for game-specific help
+ - Admin System: Built-in admin management
+ - GunGame: Progressive weapon mode
+ - Zombie Mod: Zombies vs humans gameplay
+ - Deathmatch: Respawn, weapon menus, spawn protection
+ - Surf Timer: Surfing map timers and rankings
+ - Jail Break: Prison-themed gamemode
+ - Hide and Seek: Props vs seekers
+ - MapChooser Extended: Advanced map voting
+ - RankMe: Player statistics and ranking
+ - Chat Processor: Custom chat colors and tags
+
+
+Popular Game Modes
+
+Classic Competitive
+Standard 5v5 bomb defusal mode (already configured in server.cfg above)
+
+GunGame (SourceMod Plugin)
+# Install GunGame plugin from AlliedModders
+# Players progress through weapons by getting kills
+sm_gg_enabled 1
+sm_gg_turbo 0 // Turbo mode (instant respawn)
+sm_gg_knife_elite 1 // Knife fight at final level
+
+
+Zombie Mod (SourceMod Plugin)
+# Zombies vs humans survival gameplay
+# Mother zombie infects others
+zr_enabled 1
+zr_classes_menu_spawn 1
+zr_respawn 1
+
+
+Surf Maps
+# Popular surf maps
++map surf_ski_2
++map surf_mesa
++map surf_greatriver
+
+# Install Surf Timer plugin for rankings
+
+
+🔧 Troubleshooting
+
+Server Won't Start
+
+Port Already in Use
+# Check what's using port 27015
+sudo lsof -i :27015
+# Or Windows:
+netstat -ano | findstr :27015
+
+# Kill process or change port
+./srcds_run -game cstrike -port 27016 ...
+
+
+Missing Libraries (Linux)
+# Ubuntu/Debian
+sudo dpkg --add-architecture i386
+sudo apt update
+sudo apt install lib32gcc-s1 lib32stdc++6
+
+# CentOS/RHEL
+sudo yum install glibc.i686 libstdc++.i686
+
+
+Connection Issues
+
+Server Not Listed in Browser
+
+ - Check sv_lan: Must be
sv_lan 0
+ - Verify firewall: UDP 27015 must be open
+ - Wait 5-10 minutes: Steam master server updates are slow
+ - Use direct connect: In game console:
connect IP:27015
+
+
+Players Can't Connect
+# Test from external location
+nc -u -v YOUR_SERVER_IP 27015
+
+# Check server console
+status
+sv_lan
+
+
+Performance Issues
+
+Low FPS / Stuttering
+
+ - Check CPU usage:
top or htop
+ - Reduce player count: Lower
-maxplayers
+ - Disable SourceTV:
tv_enable 0
+ - Check plugins: Disable plugins to identify performance issues
+
+
+High Ping
+
+ - Check rates:
sv_minrate 10000, sv_maxrate 0
+ - Network bandwidth: 0.5Mbps per player minimum
+ - Geographic location: Host near player base
+
+
+Plugin Issues
+
+SourceMod Not Loading
+# Check MetaMod loaded
+meta list
+
+# Check SourceMod
+sm version
+
+# Check logs
+tail -f cstrike/logs/latest.log
+tail -f cstrike/addons/sourcemod/logs/errors_*.txt
+
+
+Plugin Crashes Server
+
+ - Remove plugin: Move .smx file out of
plugins/
+ - Check compatibility: Ensure plugin supports CS:Source
+ - Update SourceMod: Get latest stable
+ - Check error logs:
addons/sourcemod/logs/
+
+
+Custom Map Issues
+
+Map Won't Download
+
+ - Set up FastDL:
sv_downloadurl "http://yoursite.com/css/"
+ - Compress files: Use bzip2 (.bsp.bz2)
+ - Organize files: Mirror server structure (maps/, materials/, models/, sound/)
+
+
+Missing Textures
+# Ensure all custom content is on FastDL server:
+# maps/ - .bsp files
+# materials/ - textures
+# models/ - models
+# sound/ - sounds
+# Compress all with bzip2
+
+
+Performance Optimization
+
+ - Use SSD storage: Faster map loads
+ - Source engine is single-threaded: High clock speed CPU important
+ - Limit SourceTV spectators:
tv_maxclients 5
+ - Monitor resources:
htop, iotop
+ - FastDL for custom content: Offload downloads to web server
+ - Geographic proximity: Low ping for players
+
+
+Security Best Practices
+
+ - Strong RCON password: 20+ characters
+ - Firewall RCON: Whitelist admin IPs (TCP 27015)
+ - Keep server updated: Weekly
app_update 232330 validate
+ - Use sv_pure:
sv_pure 1 for competitive integrity
+ - Monitor logs: Watch for exploits
+ - Secure SourceMod admins: Use Steam ID authentication
+
+
+Updating Server
+# Stop server
+rcon quit
+# Or: killall srcds_linux (Linux) / taskkill /IM srcds.exe (Windows)
+
+# Run SteamCMD update
+cd /home/steam/steamcmd
+./steamcmd.sh +login anonymous +force_install_dir /path/to/css-server +app_update 232330 validate +quit
+
+# Restart server
+cd /path/to/css-server
+./srcds_run -game cstrike +map de_dust2 ...
+
+
+Additional Resources
+
Important Notes
-
- - Always keep your server updated to the latest version
- - Make regular backups of your server configuration
- - Review and follow the game's End User License Agreement (EULA)
+
+ - CS:Source is a legacy game with established community and mods
+ - Keep server updated via SteamCMD for security patches
+ - Strong RCON password essential - many bots scan for weak passwords
+ - SourceMod plugin ecosystem is very mature for CS:Source
+ - FastDL recommended for custom maps/mods to reduce load times
+ - sv_pure 1 or 2 for competitive integrity (prevents client-side exploits)
-
\ No newline at end of file
+
+
+
+ Last updated: January 2025 | CS:Source dedicated server complete guide
+
diff --git a/modules/billing/docs/css/metadata.json b/modules/billing/docs/css/metadata.json
index 1eb328f5..0b7a22a5 100644
--- a/modules/billing/docs/css/metadata.json
+++ b/modules/billing/docs/css/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Counter Strike Source",
- "description": "Setup and configuration guide for Counter Strike Source game servers",
- "category": "game",
- "order": 46
-}
\ No newline at end of file
+{
+ "name": "Counter-Strike: Source",
+ "description": "Comprehensive guide for CS:Source dedicated servers with ports, SourceMod plugins, game modes, and troubleshooting",
+ "category": "game",
+ "order": 46,
+ "complete": true
+}
diff --git a/modules/billing/docs/cstrike/index.php b/modules/billing/docs/cstrike/index.php
index 9029e760..5056d843 100644
--- a/modules/billing/docs/cstrike/index.php
+++ b/modules/billing/docs/cstrike/index.php
@@ -1,68 +1,538 @@
-Counter-Strike Server Guide
-
-Overview
-Counter-Strike is available for hosting on our platform. This guide covers the basics of setting up and managing your Counter-Strike server.
-
-
Server Information
-
- - Default Port:
27015
- - Protocol: UDP
- - Additional Info: Query port also uses 27015 UDP
-
-
- Note: When running on a VPS or dedicated server, you can use the default port or configure a custom port in your server configuration file.
-
+
📚 Navigation
+
-Getting Started
-To create a Counter-Strike server:
-
- - Navigate to the Game Servers page
- - Find Counter-Strike in the list
- - Select your preferred configuration (slots, duration, etc.)
- - Add to cart and complete checkout
- - Your server will be automatically provisioned within minutes
-
+Counter-Strike 1.6 Server Hosting Guide
-Server Configuration
-After your server is created, you can configure it through the control panel:
+Overview
+Counter-Strike 1.6 is the classic original Counter-Strike game released in 2000. Built on the GoldSrc engine (Half-Life 1 engine), it remains extremely popular with a dedicated competitive community, especially in regions like Eastern Europe, South America, and Asia.
+
+
+
Quick Reference
+
+ - Engine: GoldSrc (Half-Life 1 engine)
+ - Default Port:
27015 (UDP)
+ - Minimum RAM: 256MB (very lightweight)
+ - Recommended RAM: 512MB+
+ - CPU: Single-core 1GHz+ (extremely low requirements)
+ - SteamCMD App ID: 90 (hlds - Half-Life Dedicated Server)
+ - GSLT Required: No (legacy game)
+ - Log Files:
cstrike/logs/
+ - Main Config:
server.cfg
+
+
+
+🔌 Ports Required
+
+
+
+ | Port |
+ Protocol |
+ Purpose |
+ Required |
+
+
+
+
+ 27015 |
+ UDP |
+ Main game server port (client connections + query) |
+ ✓ Yes |
+
+
+ 27015 |
+ TCP |
+ RCON (Remote Console) access |
+ Optional |
+
+
+ 27020 |
+ UDP |
+ HLTV (spectator) port |
+ Optional |
+
+
+
+
+Firewall Configuration Examples
+
+UFW (Ubuntu/Debian)
+sudo ufw allow 27015/udp comment 'CS 1.6 game port'
+sudo ufw allow 27015/tcp comment 'CS 1.6 RCON'
+sudo ufw allow 27020/udp comment 'CS 1.6 HLTV'
+sudo ufw reload
+
+
+FirewallD (CentOS/RHEL/Fedora)
+sudo firewall-cmd --permanent --add-port=27015/udp --add-port=27015/tcp
+sudo firewall-cmd --permanent --add-port=27020/udp
+sudo firewall-cmd --reload
+
+
+Windows Firewall
+# Run in PowerShell as Administrator
+New-NetFirewallRule -DisplayName "CS 1.6 UDP" -Direction Inbound -Protocol UDP -LocalPort 27015,27020 -Action Allow
+New-NetFirewallRule -DisplayName "CS 1.6 TCP" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
+
+
+iptables (Legacy Linux)
+sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
+sudo iptables -A INPUT -p tcp --dport 27015 -j ACCEPT
+sudo iptables -A INPUT -p udp --dport 27020 -j ACCEPT
+sudo service iptables save
+
+
+Installation & Setup
+
+System Requirements
- - Server settings and parameters
- - Player slots and limits
- - RCON/remote control access
- - FTP file access
+ - OS: Linux (any modern distro) or Windows 2000+
+ - CPU: Single-core 1GHz+ (GoldSrc engine is extremely lightweight)
+ - RAM: 256MB minimum, 512MB recommended
+ - Disk: 1GB for server files
+ - Network: 1Mbps+ (very low bandwidth)
-Common Tasks
+Installation via SteamCMD (Linux)
-Starting Your Server
-Servers are automatically started after creation. You can stop/start your server from the control panel.
+Install SteamCMD
+# Ubuntu/Debian
+sudo add-apt-repository multiverse
+sudo dpkg --add-architecture i386
+sudo apt update
+sudo apt install lib32gcc-s1 steamcmd
-Connecting to Your Server
-Use your server's IP address and port to connect from the game client.
+# Create steam user
+sudo useradd -m -s /bin/bash steam
+sudo su - steam
-Managing Files
-Access your server files via FTP using the credentials provided in your control panel.
+# CentOS/RHEL
+sudo yum install glibc.i686 libstdc++.i686
+mkdir ~/steamcmd && cd ~/steamcmd
+wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
+tar -xvzf steamcmd_linux.tar.gz
+
-Support
-If you need assistance with your Counter-Strike server:
+CS 1.6 Server Installation
+# Run SteamCMD
+./steamcmd.sh
+
+# Login anonymously
+login anonymous
+
+# Set install directory
+force_install_dir ./cs16-server
+
+# Install CS 1.6 dedicated server (App ID 90 - HLDS)
+app_update 90 validate
+
+# Exit
+quit
+
+
+Windows Installation
+
+ - Download SteamCMD for Windows
+ - Extract to
C:\steamcmd\
+ - Run
steamcmd.exe
+ - Execute:
login anonymous
+ - Execute:
force_install_dir C:\cs16-server
+ - Execute:
app_update 90 validate
+
+
+⚙️ Server Configuration
+
+server.cfg - Essential Settings
+Create cstrike/server.cfg:
+// ========================================
+// Server Information
+// ========================================
+hostname "My CS 1.6 Server"
+sv_password "" // Server password (blank = public)
+sv_region "1" // Server region
+
+// ========================================
+// RCON Configuration
+// ========================================
+rcon_password "YourSecurePasswordHere" // CHANGE THIS!
+sv_rcon_maxfailures 5
+
+// ========================================
+// Server Core Settings
+// ========================================
+sv_lan 0 // 0=internet server, 1=LAN only
+sv_cheats 0
+sv_contact "admin@yoursite.com" // Admin contact email
+
+// ========================================
+// Player Settings
+// ========================================
+mp_autokick 1 // Autokick idle/teamkillers
+mp_tkpunish 1 // Punish teamkillers
+mp_flashlight 1
+mp_footsteps 1
+mp_forcecamera 0 // 0=free cam, 1=team only, 2=fixed
+mp_fadetoblack 0
+
+// ========================================
+// Game Settings
+// ========================================
+mp_friendlyfire 1 // 1=on for competitive
+mp_autoteambalance 1
+mp_limitteams 2
+mp_buytime 0.25 // Buy time (minutes)
+mp_freezetime 6 // Freeze time start of round
+mp_c4timer 45 // C4 bomb timer
+mp_startmoney 800
+mp_maxmoney 16000
+mp_roundtime 5 // Round time (minutes)
+mp_timelimit 30 // Map time limit (minutes)
+mp_maxrounds 0 // 0=unlimited
+
+// ========================================
+// Communication
+// ========================================
+sv_alltalk 0 // Dead can't talk to alive
+sv_voiceenable 1
+
+// ========================================
+// Logging
+// ========================================
+log on
+sv_logbans 1
+sv_logecho 1
+sv_logfile 1
+
+// ========================================
+// Download Settings
+// ========================================
+sv_allowdownload 1
+sv_allowupload 1
+sv_downloadurl "" // FastDL URL
+
+// ========================================
+// Rates & Performance
+// ========================================
+sv_maxrate 20000 // Max bandwidth per player
+sv_minrate 5000 // Min bandwidth
+sv_maxupdaterate 101 // Max update rate
+sv_minupdaterate 10 // Min update rate
+
+// ========================================
+// Execute Additional Configs
+// ========================================
+exec banned_user.cfg
+exec banned_ip.cfg
+
+
+mapcycle.txt
+Create cstrike/mapcycle.txt for map rotation:
+de_dust2
+de_dust
+de_inferno
+de_nuke
+de_train
+de_aztec
+de_cbble
+cs_italy
+cs_office
+cs_assault
+
+
+Startup Parameters
+
+Linux Start Script (hlds_run)
+#!/bin/bash
+# CS 1.6 Server Startup Script
+
+cd /home/steam/cs16-server
+
+./hlds_run \
+ -game cstrike \
+ -console \
+ +ip 0.0.0.0 \
+ +port 27015 \
+ +map de_dust2 \
+ -maxplayers 16 \
+ +exec server.cfg \
+ +rcon_password "YourPassword"
+
+
+Windows Startup (hlds.exe)
+hlds.exe ^
+ -game cstrike ^
+ -console ^
+ +ip 0.0.0.0 ^
+ +port 27015 ^
+ +map de_dust2 ^
+ -maxplayers 16 ^
+ +exec server.cfg
+
+
+Parameter Reference
+
+
+
+ | Parameter |
+ Description |
+
+
+
+
+ -game cstrike |
+ Specify game directory (cstrike for CS 1.6) |
+
+
+ -console |
+ Enable console output |
+
+
+ +ip 0.0.0.0 |
+ Bind to all network interfaces |
+
+
+ +port 27015 |
+ Server port (default 27015) |
+
+
+ +map de_dust2 |
+ Starting map |
+
+
+ -maxplayers 16 |
+ Maximum player slots |
+
+
+ +exec server.cfg |
+ Execute server configuration file |
+
+
+
+
+Plugins & Mods
+
+AMX Mod X
+AMX Mod X is the most popular plugin framework for CS 1.6 (successor to AMX Mod).
+
+Installation
+
+ - Download AMX Mod X (latest stable)
+ - Extract to
cstrike/ directory
+ - Edit
addons/amxmodx/configs/plugins.ini to enable/disable plugins
+ - Edit
addons/amxmodx/configs/admins.ini to add admins
+ - Restart server
+ - Type
amxx version in console to verify
+
+
+Popular AMX Mod X Plugins
- - Check our Common Issues guide
- - Contact support through your account dashboard
- - Visit the official Counter-Strike community for game-specific help
+ - Admin System: Built-in admin commands and management
+ - StatsX: Player statistics and rankings
+ - Fun Module: Fun commands (slap, slay, noclip, etc.)
+ - NextMap Chooser: Map voting system
+ - Admin Votes: Voting for map/kick/ban
+ - AdminChat: Admin-only chat
+ - AdminCMD: Comprehensive admin commands
+ - DeathMatch: Respawn mode
+ - GunGame: Progressive weapon mode
+ - Zombie Mod: Zombie plague gameplay
+
+
+Adding Custom Plugins
+# Download .amxx file (compiled plugin)
+# Place in: cstrike/addons/amxmodx/plugins/
+
+# Add to plugins.ini:
+echo "pluginname.amxx" >> cstrike/addons/amxmodx/configs/plugins.ini
+
+# Restart server or reload plugins:
+amxx plugins reload
+
+
+Popular Game Modes
+
+Classic Competitive
+Standard 5v5 bomb defusal (already configured in server.cfg)
+
+Public Server (16+ players)
+mp_friendlyfire 0
+mp_autoteambalance 1
+mp_limitteams 2
+mp_roundtime 3
+mp_timelimit 0
+
+
+GunGame (AMX Mod X Plugin)
+# Players progress through weapons
+gg_enabled 1
+gg_turbo 0 // Instant respawn
+gg_knife_pro 1 // Final knife kill
+
+
+Zombie Mod (AMX Mod X Plugin)
+# Zombies vs humans
+zp_enabled 1
+zp_respawn_zombies 1
+zp_infection_limit 0 // Max zombies to release
+
+
+🔧 Troubleshooting
+
+Server Won't Start
+
+Port Already in Use
+# Check what's using port 27015
+sudo lsof -i :27015
+# Windows:
+netstat -ano | findstr :27015
+
+# Change port
+./hlds_run -game cstrike +port 27016 ...
+
+
+Missing Libraries (Linux)
+# Ubuntu/Debian
+sudo dpkg --add-architecture i386
+sudo apt update
+sudo apt install lib32gcc-s1 lib32stdc++6
+
+# CentOS/RHEL
+sudo yum install glibc.i686 libstdc++.i686
+
+
+Connection Issues
+
+Server Not Listed
+
+ - Check sv_lan: Must be 0 (internet mode)
+ - Firewall: UDP 27015 must be open
+ - Direct connect: In game console:
connect IP:27015
+
+
+Players Can't Connect
+# Test connectivity
+nc -u -v YOUR_SERVER_IP 27015
+
+# Check server console
+status
+
+
+Performance Issues
+
+High Ping
+
+ - Check rates:
sv_maxrate 20000
+ - Bandwidth: Ensure adequate network
+ - Location: Host near players
+
+
+Server Lag
+
+ - Check CPU: GoldSrc is single-threaded
+ - Reduce players: Lower maxplayers if needed
+ - Disable plugins: Test without AMX Mod X
+
+
+Plugin Issues
+
+AMX Mod X Not Loading
+# Check installation
+ls -la cstrike/addons/amxmodx/
+
+# Check metamod
+meta list
+
+# Check logs
+tail -f cstrike/addons/amxmodx/logs/error_*.log
+
+
+Plugin Crashes Server
+
+ - Remove plugin: Comment out in
plugins.ini
+ - Check compatibility: Ensure plugin supports CS 1.6
+ - Update AMX Mod X: Get latest version
+
+
+Custom Content Issues
+
+Custom Maps Won't Download
+# Set up FastDL
+sv_downloadurl "http://yoursite.com/cs16/"
+
+# Organize files:
+# maps/ - .bsp files
+# maps/graphs/ - .txt navigation files
+# Compress with bzip2 (.bsp.bz2)
+
+
+Performance Optimization
+
+ - Lightweight engine: CS 1.6 runs well on low-end hardware
+ - High clock speed CPU: GoldSrc is single-threaded
+ - FastDL for maps: Offload downloads to web server
+ - Limit player count: 16-32 players optimal
+ - Monitor resources:
htop on Linux
+
+
+Security Best Practices
+
+ - Strong RCON password: 20+ random characters
+ - Firewall RCON: Whitelist admin IPs only
+ - Keep updated: Run
app_update 90 validate periodically
+ - Monitor logs: Check for exploit attempts
+ - AMX Mod X admins: Use Steam ID authentication
+
+
+Updating Server
+# Stop server
+# Linux: killall hlds_linux
+# Windows: taskkill /IM hlds.exe
+
+# Update via SteamCMD
+cd /home/steam/steamcmd
+./steamcmd.sh +login anonymous +force_install_dir /path/to/cs16-server +app_update 90 validate +quit
+
+# Restart server
+cd /path/to/cs16-server
+./hlds_run -game cstrike +map de_dust2 ...
+
+
+Additional Resources
+
Important Notes
-
- - Always keep your server updated to the latest version
- - Make regular backups of your server configuration
- - Review and follow the game's End User License Agreement (EULA)
+
+ - CS 1.6 is a classic legacy game with active competitive scene
+ - Extremely low system requirements - runs on minimal hardware
+ - AMX Mod X is the standard plugin framework (not SourceMod)
+ - Strong RCON password essential - many scanners target CS 1.6 servers
+ - FastDL recommended for custom maps to reduce bandwidth
+ - Popular in Eastern Europe, South America, and Asia regions
-
\ No newline at end of file
+
+
+
+ Last updated: January 2025 | Counter-Strike 1.6 complete hosting guide
+
diff --git a/modules/billing/docs/cstrike/metadata.json b/modules/billing/docs/cstrike/metadata.json
index 20839607..224844ef 100644
--- a/modules/billing/docs/cstrike/metadata.json
+++ b/modules/billing/docs/cstrike/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Counter-Strike",
- "description": "Setup and configuration guide for Counter-Strike game servers",
- "category": "game",
- "order": 54
-}
\ No newline at end of file
+{
+ "name": "Counter-Strike 1.6",
+ "description": "Comprehensive guide for CS 1.6 dedicated servers with AMX Mod X plugins, game modes, and troubleshooting",
+ "category": "game",
+ "order": 54,
+ "complete": true
+}
diff --git a/modules/billing/docs/czero/metadata.json b/modules/billing/docs/czero/metadata.json
index 05ca3a94..8d0b3743 100644
--- a/modules/billing/docs/czero/metadata.json
+++ b/modules/billing/docs/czero/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Counter-Strike Condition Zero",
- "description": "Setup and configuration guide for Counter-Strike Condition Zero game servers",
- "category": "game",
- "order": 56
-}
\ No newline at end of file
+{
+ "name": "Counter-Strike Condition Zero",
+ "description": "Setup and configuration guide for Counter-Strike Condition Zero game servers",
+ "category": "game",
+ "order": 56,
+ "complete": false
+}
diff --git a/modules/billing/docs/dayz/index.php b/modules/billing/docs/dayz/index.php
index cb2da9e3..d532daa9 100644
--- a/modules/billing/docs/dayz/index.php
+++ b/modules/billing/docs/dayz/index.php
@@ -1,68 +1,342 @@
-DayZ Server Guide
+
-Overview
-DayZ is available for hosting on our platform. This guide covers the basics of setting up and managing your DayZ server.
-
-
-
Server Information
-
- - Default Port:
2302
- - Protocol: UDP
- - Additional Info: Query port is 2303 UDP
-
-
- Note: When running on a VPS or dedicated server, you can use the default port or configure a custom port in your server configuration file.
-
+
+
-
Getting Started
-
To create a DayZ server:
+
DayZ Standalone Server Guide
+
+
+
Quick Information
+
+ - Game: DayZ Standalone (Survival Horror)
+ - Developer: Bohemia Interactive
+ - Server Type: Dedicated Server (Windows/Linux)
+ - Default Port:
2302 UDP
+ - Max Players: 60-100+ configurable
+ - Workshop: Steam Workshop mod support
+
+
+
+
DayZ is an unforgiving open-world zombie survival game where players must scavenge for supplies, build bases, and survive against infected and other players. This standalone version is completely separate from the original DayZ Mod.
+
+
🔌 Server Ports
+
+
+
+
+ | Port |
+ Protocol |
+ Purpose |
+ Status |
+
+
+
+
+ 2302 |
+ UDP |
+ Game Port - Primary connection |
+ REQUIRED |
+
+
+ 2303 |
+ UDP |
+ Steam Query Port - Server browser |
+ REQUIRED |
+
+
+ 2304 |
+ UDP |
+ Steam Port - Steam connectivity |
+ REQUIRED |
+
+
+ 2305 |
+ UDP |
+ VON (Voice Over Network) |
+ Optional |
+
+
+ 27016 |
+ TCP |
+ RCON - Remote administration |
+ Optional |
+
+
+
+
+
Firewall Configuration
+
+
UFW (Ubuntu/Debian)
+
# DayZ game ports
+sudo ufw allow 2302:2305/udp comment 'DayZ Server'
+# RCON port (if using)
+sudo ufw allow 27016/tcp comment 'DayZ RCON'
+
+
FirewallD (CentOS/RHEL)
+
sudo firewall-cmd --permanent --add-port=2302-2305/udp
+sudo firewall-cmd --permanent --add-port=27016/tcp
+sudo firewall-cmd --reload
+
+
Windows Firewall
+
New-NetFirewallRule -DisplayName "DayZ Server UDP" -Direction Inbound -Protocol UDP -LocalPort 2302-2305 -Action Allow
+New-NetFirewallRule -DisplayName "DayZ RCON TCP" -Direction Inbound -Protocol TCP -LocalPort 27016 -Action Allow
+
+
⚙️ Startup Parameters
+
+
Windows Startup
+
DayZServer_x64.exe -config=serverDZ.cfg -port=2302 -profiles=SC -dologs -adminlog -netlog -freezecheck -mod=@CF;@VPPAdminTools
+
+
Linux Startup
+
./DayZServer -config=serverDZ.cfg -port=2302 -profiles=SC -dologs -adminlog -netlog -freezecheck -mod=@CF;@VPPAdminTools
+
+
Key Parameters
+
+
+
+ | Parameter |
+ Description |
+ Example |
+
+
+
+
+ -config= |
+ Path to serverDZ.cfg |
+ -config=serverDZ.cfg |
+
+
+ -port= |
+ Game port |
+ -port=2302 |
+
+
+ -profiles= |
+ Profile folder path |
+ -profiles=SC |
+
+
+ -dologs |
+ Enable logging |
+ Flag (no value) |
+
+
+ -adminlog |
+ Enable admin logging |
+ Flag (no value) |
+
+
+ -netlog |
+ Enable network logging |
+ Flag (no value) |
+
+
+ -freezecheck |
+ Enable freeze detection |
+ Flag (no value) |
+
+
+ -mod= |
+ Mods to load (semicolon separated) |
+ -mod=@CF;@VPP |
+
+
+ -cpuCount= |
+ CPU cores to use |
+ -cpuCount=4 |
+
+
+ -limitFPS= |
+ Limit server FPS |
+ -limitFPS=60 |
+
+
+
+
+
Configuration Files
+
+
serverDZ.cfg
+
hostname = "Your DayZ Server";
+password = ""; // Join password
+passwordAdmin = "adminpass"; // Admin password
+maxPlayers = 60;
+
+// Missions
+Missions = {
+ DayZ = {
+ template = "dayzOffline.chernarusplus"; // or enoch, livonia, takistanplus, namalsk
+ };
+};
+
+// Performance
+disableVoN = 0; // Voice chat enabled
+vonCodecQuality = 20; // Voice quality
+disable3rdPerson = 0; // 0=allow 3rd person
+disableCrosshair = 0;
+
+// Persistence
+storeHouseStateDisabled = false; // Save building states
+storageAutoFix = 1; // Auto-fix corrupted storage
+
+// Time acceleration
+serverTime = "SystemTime"; // Or specific time
+serverTimeAcceleration = 2; // 2x time speed
+serverNightTimeAcceleration = 4; // 4x night speed
+
+// Weather
+serverTimePersistent = 1; // Persistent time
+guaranteedUpdates = 1;
+loginQueueConcurrentPlayers = 5;
+loginQueueMaxPlayers = 500;
+instanceId = 1; // Server instance ID
+
+// Logging
+lightingConfig = 0;
+respawnTime = 5;
+
+
Mods & Workshop
+
+
Popular DayZ Mods
+
+ - Community Framework (CF) - Required for many mods
+ - VPPAdminTools - Server administration
+ - Expansion - Vehicles, helicopters, missions
+ - BuilderItems - Enhanced building
+ - Trader - NPC trading systems
+ - BreachingCharge - Raid mechanics
+ - Dabs Framework - Modding framework
+
+
+
Installing Mods from Workshop
- - Navigate to the Game Servers page
- - Find DayZ in the list
- - Select your preferred configuration (slots, duration, etc.)
- - Add to cart and complete checkout
- - Your server will be automatically provisioned within minutes
+ - Subscribe to mod on Steam Workshop
+ - Copy from workshop folder to server:
+ steamapps\workshop\content\221100\{modid}
+ - Rename folder to
@ModName
+ - Add to startup:
-mod=@CF;@VPPAdminTools
+ - Copy required .bikey files to
keys/ folder
-
Server Configuration
-
After your server is created, you can configure it through the control panel:
+
+
Mod Load Order
+
+ - Always load Community Framework first
+ - Load dependency mods before mods that require them
+ - Use semicolons (;) to separate mods, no spaces
+ - Mod folder names are case-sensitive on Linux
+
+
+
+
🔧 Troubleshooting
+
+
Server Won't Start
- - Server settings and parameters
- - Player slots and limits
- - RCON/remote control access
- - FTP file access
+ - Port in use: Check if 2302 is available with
netstat
+ - Missing dependencies: Install Visual C++ Redistributable (Windows) or lib32gcc1 (Linux)
+ - Config errors: Validate serverDZ.cfg syntax
+ - Mission not found: Verify mission name in serverDZ.cfg matches workshop files
-
Common Tasks
-
-
Starting Your Server
-
Servers are automatically started after creation. You can stop/start your server from the control panel.
-
-
Connecting to Your Server
-
Use your server's IP address and port to connect from the game client.
-
-
Managing Files
-
Access your server files via FTP using the credentials provided in your control panel.
-
-
Support
-
If you need assistance with your DayZ server:
+
Players Can't Connect
- - Check our Common Issues guide
- - Contact support through your account dashboard
- - Visit the official DayZ community for game-specific help
+ - Verify firewall allows UDP 2302-2305
+ - Check BattlEye is running (required for official servers)
+ - Ensure server and client versions match
+ - Verify all mods are properly loaded and have valid .bikey files
-
+
Persistence Issues
+
+ - Tents/stashes disappearing: Check
storeHouseStateDisabled = false
+ - Storage corruption: Enable
storageAutoFix = 1
+ - Loot not spawning: Delete
storage_X/data/*.bin files to reset economy
+
+
+
Mod Conflicts
+
+ - Check server logs in
profiles/ folder
+ - Verify .bikey files are in
keys/ folder
+ - Test mods individually to isolate conflicts
+ - Ensure mod versions match between server and clients
+
+
+
+
+
Server Configuration
+
# Startup parameters for performance
+-cpuCount=4 -limitFPS=60 -dologs -freezecheck
+
+# In serverDZ.cfg
+serverTimeAcceleration = 1; // Reduce if performance issues
+guaranteedUpdates = 1;
+loginQueueConcurrentPlayers = 3;
+
+
Hardware Recommendations
+
+ - CPU: 4+ cores, 3.5+ GHz single-thread
+ - RAM: 8-16 GB (16+ for heavy mods)
+ - Storage: SSD highly recommended
+ - Network: 100+ Mbps, low latency
+
+
+
📚 Resources
+
+
+
+
Important Notes
- - Always keep your server updated to the latest version
- - Make regular backups of your server configuration
- - Review and follow the game's End User License Agreement (EULA)
+ - BattlEye Required: Official/public servers must run BattlEye anti-cheat
+ - Regular Backups: Backup persistence files and configs regularly
+ - Mod Updates: Keep mods updated to prevent conflicts
+ - Economy System: DayZ uses dynamic loot spawning system
+ - 64-bit Only: Use DayZServer_x64.exe on Windows
+ - Wipe Cycles: Consider periodic wipes for fresh gameplay
-
\ No newline at end of file
+
+
+
+
+
+ Documentation Version: 1.0 | Last Updated: November 10, 2025
+ Sources: Bohemia Interactive Wiki, DayZ Forums, LinuxGSM, r/dayzservers
+ For the original DayZ Mod, see Arma 2: OA + DayZ Mod Guide.
+
diff --git a/modules/billing/docs/dayz/metadata.json b/modules/billing/docs/dayz/metadata.json
index 01802937..02f71253 100644
--- a/modules/billing/docs/dayz/metadata.json
+++ b/modules/billing/docs/dayz/metadata.json
@@ -1,6 +1,7 @@
{
- "name": "DayZ",
- "description": "Setup and configuration guide for DayZ game servers",
+ "name": "DayZ Standalone",
+ "description": "Complete guide for DayZ servers with mods, persistence, and troubleshooting",
"category": "game",
- "order": 62
+ "order": 62,
+ "complete": true
}
\ No newline at end of file
diff --git a/modules/billing/docs/dayzmod/metadata.json b/modules/billing/docs/dayzmod/metadata.json
index 9167618c..a702832e 100644
--- a/modules/billing/docs/dayzmod/metadata.json
+++ b/modules/billing/docs/dayzmod/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "DayZ Mod",
- "description": "Setup and configuration guide for DayZ Mod game servers",
- "category": "game",
- "order": 59
-}
\ No newline at end of file
+{
+ "name": "DayZ Mod",
+ "description": "Setup and configuration guide for DayZ Mod game servers",
+ "category": "game",
+ "order": 59,
+ "complete": false
+}
diff --git a/modules/billing/docs/dmc/metadata.json b/modules/billing/docs/dmc/metadata.json
index 09f270ef..f8071efb 100644
--- a/modules/billing/docs/dmc/metadata.json
+++ b/modules/billing/docs/dmc/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Death Match Classic",
- "description": "Setup and configuration guide for Death Match Classic game servers",
- "category": "game",
- "order": 64
-}
\ No newline at end of file
+{
+ "name": "Death Match Classic",
+ "description": "Setup and configuration guide for Death Match Classic game servers",
+ "category": "game",
+ "order": 64,
+ "complete": false
+}
diff --git a/modules/billing/docs/dod/metadata.json b/modules/billing/docs/dod/metadata.json
index 5e6921e6..50290650 100644
--- a/modules/billing/docs/dod/metadata.json
+++ b/modules/billing/docs/dod/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Day of Defeat",
- "description": "Setup and configuration guide for Day of Defeat game servers",
- "category": "game",
- "order": 66
-}
\ No newline at end of file
+{
+ "name": "Day of Defeat",
+ "description": "Setup and configuration guide for Day of Defeat game servers",
+ "category": "game",
+ "order": 66,
+ "complete": false
+}
diff --git a/modules/billing/docs/dods/metadata.json b/modules/billing/docs/dods/metadata.json
index 750e4c6a..34576e53 100644
--- a/modules/billing/docs/dods/metadata.json
+++ b/modules/billing/docs/dods/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Day of Defeat Source",
- "description": "Setup and configuration guide for Day of Defeat Source game servers",
- "category": "game",
- "order": 68
-}
\ No newline at end of file
+{
+ "name": "Day of Defeat Source",
+ "description": "Setup and configuration guide for Day of Defeat Source game servers",
+ "category": "game",
+ "order": 68,
+ "complete": false
+}
diff --git a/modules/billing/docs/doi/metadata.json b/modules/billing/docs/doi/metadata.json
index 0a95a28b..a953021f 100644
--- a/modules/billing/docs/doi/metadata.json
+++ b/modules/billing/docs/doi/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Day of Infamy",
- "description": "Setup and configuration guide for Day of Infamy game servers",
- "category": "game",
- "order": 70
-}
\ No newline at end of file
+{
+ "name": "Day of Infamy",
+ "description": "Setup and configuration guide for Day of Infamy game servers",
+ "category": "game",
+ "order": 70,
+ "complete": false
+}
diff --git a/modules/billing/docs/dontstarvetogether/metadata.json b/modules/billing/docs/dontstarvetogether/metadata.json
index deb1a57b..e38ad09e 100644
--- a/modules/billing/docs/dontstarvetogether/metadata.json
+++ b/modules/billing/docs/dontstarvetogether/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Dont Starve Together",
- "description": "Setup and configuration guide for Dont Starve Together game servers",
- "category": "game",
- "order": 72
-}
\ No newline at end of file
+{
+ "name": "Dont Starve Together",
+ "description": "Setup and configuration guide for Dont Starve Together game servers",
+ "category": "game",
+ "order": 72,
+ "complete": false
+}
diff --git a/modules/billing/docs/dystopia/metadata.json b/modules/billing/docs/dystopia/metadata.json
index bcad8813..cfd69b0d 100644
--- a/modules/billing/docs/dystopia/metadata.json
+++ b/modules/billing/docs/dystopia/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Dystopia",
- "description": "Setup and configuration guide for Dystopia game servers",
- "category": "game",
- "order": 73
-}
\ No newline at end of file
+{
+ "name": "Dystopia",
+ "description": "Setup and configuration guide for Dystopia game servers",
+ "category": "game",
+ "order": 73,
+ "complete": false
+}
diff --git a/modules/billing/docs/eco/metadata.json b/modules/billing/docs/eco/metadata.json
index aca0e257..740d02fb 100644
--- a/modules/billing/docs/eco/metadata.json
+++ b/modules/billing/docs/eco/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Eco",
- "description": "Setup and configuration guide for Eco game servers",
- "category": "game",
- "order": 74
-}
\ No newline at end of file
+{
+ "name": "Eco",
+ "description": "Setup and configuration guide for Eco game servers",
+ "category": "game",
+ "order": 74,
+ "complete": false
+}
diff --git a/modules/billing/docs/empyriongs/metadata.json b/modules/billing/docs/empyriongs/metadata.json
index e3da48fd..cea199a5 100644
--- a/modules/billing/docs/empyriongs/metadata.json
+++ b/modules/billing/docs/empyriongs/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Empyrion",
- "description": "Setup and configuration guide for Empyrion game servers",
- "category": "game",
- "order": 75
-}
\ No newline at end of file
+{
+ "name": "Empyrion",
+ "description": "Setup and configuration guide for Empyrion game servers",
+ "category": "game",
+ "order": 75,
+ "complete": false
+}
diff --git a/modules/billing/docs/enemyterritory/metadata.json b/modules/billing/docs/enemyterritory/metadata.json
index 3bb17e37..889fb07f 100644
--- a/modules/billing/docs/enemyterritory/metadata.json
+++ b/modules/billing/docs/enemyterritory/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Wolfenstein: Enemy Territory",
- "description": "Setup and configuration guide for Wolfenstein: Enemy Territory game servers",
- "category": "game",
- "order": 142
-}
\ No newline at end of file
+{
+ "name": "Wolfenstein: Enemy Territory",
+ "description": "Setup and configuration guide for Wolfenstein: Enemy Territory game servers",
+ "category": "game",
+ "order": 142,
+ "complete": false
+}
diff --git a/modules/billing/docs/epochmod/metadata.json b/modules/billing/docs/epochmod/metadata.json
index 14d344de..6bb2dbaf 100644
--- a/modules/billing/docs/epochmod/metadata.json
+++ b/modules/billing/docs/epochmod/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "DayZ Epoch Mod",
- "description": "Setup and configuration guide for DayZ Epoch Mod game servers",
- "category": "game",
- "order": 61
-}
\ No newline at end of file
+{
+ "name": "DayZ Epoch Mod",
+ "description": "Setup and configuration guide for DayZ Epoch Mod game servers",
+ "category": "game",
+ "order": 61,
+ "complete": false
+}
diff --git a/modules/billing/docs/esmod/metadata.json b/modules/billing/docs/esmod/metadata.json
index 8ae9cfdd..d9e83adf 100644
--- a/modules/billing/docs/esmod/metadata.json
+++ b/modules/billing/docs/esmod/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Eternal-Silence",
- "description": "Setup and configuration guide for Eternal-Silence game servers",
- "category": "game",
- "order": 76
-}
\ No newline at end of file
+{
+ "name": "Eternal-Silence",
+ "description": "Setup and configuration guide for Eternal-Silence game servers",
+ "category": "game",
+ "order": 76,
+ "complete": false
+}
diff --git a/modules/billing/docs/ets2/metadata.json b/modules/billing/docs/ets2/metadata.json
index 54bcb1b6..7dab6e7b 100644
--- a/modules/billing/docs/ets2/metadata.json
+++ b/modules/billing/docs/ets2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Euro Truck Simulator 2",
- "description": "Setup and configuration guide for Euro Truck Simulator 2 game servers",
- "category": "game",
- "order": 77
-}
\ No newline at end of file
+{
+ "name": "Euro Truck Simulator 2",
+ "description": "Setup and configuration guide for Euro Truck Simulator 2 game servers",
+ "category": "game",
+ "order": 77,
+ "complete": false
+}
diff --git a/modules/billing/docs/factorio/metadata.json b/modules/billing/docs/factorio/metadata.json
index 35aeb36d..a5a7854b 100644
--- a/modules/billing/docs/factorio/metadata.json
+++ b/modules/billing/docs/factorio/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "factorio",
- "description": "Setup and configuration guide for factorio game servers",
- "category": "game",
- "order": 78
-}
\ No newline at end of file
+{
+ "name": "factorio",
+ "description": "Setup and configuration guide for factorio game servers",
+ "category": "game",
+ "order": 78,
+ "complete": false
+}
diff --git a/modules/billing/docs/feedthebeast/metadata.json b/modules/billing/docs/feedthebeast/metadata.json
index 2c762069..e5fe9a8e 100644
--- a/modules/billing/docs/feedthebeast/metadata.json
+++ b/modules/billing/docs/feedthebeast/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Feed The Beast Server",
- "description": "Setup and configuration guide for Feed The Beast Server game servers",
- "category": "game",
- "order": 79
-}
\ No newline at end of file
+{
+ "name": "Feed The Beast Server",
+ "description": "Setup and configuration guide for Feed The Beast Server game servers",
+ "category": "game",
+ "order": 79,
+ "complete": false
+}
diff --git a/modules/billing/docs/fgms/metadata.json b/modules/billing/docs/fgms/metadata.json
index b78577b3..642ae386 100644
--- a/modules/billing/docs/fgms/metadata.json
+++ b/modules/billing/docs/fgms/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "FlightGear Multiplayer Server",
- "description": "Setup and configuration guide for FlightGear Multiplayer Server game servers",
- "category": "game",
- "order": 81
-}
\ No newline at end of file
+{
+ "name": "FlightGear Multiplayer Server",
+ "description": "Setup and configuration guide for FlightGear Multiplayer Server game servers",
+ "category": "game",
+ "order": 81,
+ "complete": false
+}
diff --git a/modules/billing/docs/fivem/metadata.json b/modules/billing/docs/fivem/metadata.json
index 18a17b20..c29f7204 100644
--- a/modules/billing/docs/fivem/metadata.json
+++ b/modules/billing/docs/fivem/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "FiveM",
- "description": "Setup and configuration guide for FiveM game servers",
- "category": "game",
- "order": 84
-}
\ No newline at end of file
+{
+ "name": "FiveM",
+ "description": "Setup and configuration guide for FiveM game servers",
+ "category": "game",
+ "order": 84,
+ "complete": false
+}
diff --git a/modules/billing/docs/fof/metadata.json b/modules/billing/docs/fof/metadata.json
index 44b159ff..e657cb15 100644
--- a/modules/billing/docs/fof/metadata.json
+++ b/modules/billing/docs/fof/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Fistful of Frags",
- "description": "Setup and configuration guide for Fistful of Frags game servers",
- "category": "game",
- "order": 82
-}
\ No newline at end of file
+{
+ "name": "Fistful of Frags",
+ "description": "Setup and configuration guide for Fistful of Frags game servers",
+ "category": "game",
+ "order": 82,
+ "complete": false
+}
diff --git a/modules/billing/docs/freecol/metadata.json b/modules/billing/docs/freecol/metadata.json
index 18b70f74..9c57a5b6 100644
--- a/modules/billing/docs/freecol/metadata.json
+++ b/modules/billing/docs/freecol/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "FreeCol",
- "description": "Setup and configuration guide for FreeCol game servers",
- "category": "game",
- "order": 86
-}
\ No newline at end of file
+{
+ "name": "FreeCol",
+ "description": "Setup and configuration guide for FreeCol game servers",
+ "category": "game",
+ "order": 86,
+ "complete": false
+}
diff --git a/modules/billing/docs/garrysmod/metadata.json b/modules/billing/docs/garrysmod/metadata.json
index 15cca5b9..2d262353 100644
--- a/modules/billing/docs/garrysmod/metadata.json
+++ b/modules/billing/docs/garrysmod/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Garrys Mod",
- "description": "Setup and configuration guide for Garrys Mod game servers",
- "category": "game",
- "order": 91
-}
\ No newline at end of file
+{
+ "name": "Garrys Mod",
+ "description": "Setup and configuration guide for Garrys Mod game servers",
+ "category": "game",
+ "order": 91,
+ "complete": false
+}
diff --git a/modules/billing/docs/gearbox/metadata.json b/modules/billing/docs/gearbox/metadata.json
index 9432edd0..b99d157b 100644
--- a/modules/billing/docs/gearbox/metadata.json
+++ b/modules/billing/docs/gearbox/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Gearbox",
- "description": "Setup and configuration guide for Gearbox game servers",
- "category": "game",
- "order": 0
-}
\ No newline at end of file
+{
+ "name": "Gearbox",
+ "description": "Setup and configuration guide for Gearbox game servers",
+ "category": "game",
+ "order": 0,
+ "complete": false
+}
diff --git a/modules/billing/docs/getting-started/metadata.json b/modules/billing/docs/getting-started/metadata.json
index 8c7a629c..c7a4c752 100644
--- a/modules/billing/docs/getting-started/metadata.json
+++ b/modules/billing/docs/getting-started/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Getting Started",
- "description": "Learn how to use the game server panel and manage your servers",
- "category": "panel",
- "order": 1
+{
+ "name": "Getting Started",
+ "description": "Learn how to use the game server panel and manage your servers",
+ "category": "panel",
+ "order": 1,
+ "complete": false
}
diff --git a/modules/billing/docs/halo_ce/metadata.json b/modules/billing/docs/halo_ce/metadata.json
index 62a70dfe..c2f1c4f1 100644
--- a/modules/billing/docs/halo_ce/metadata.json
+++ b/modules/billing/docs/halo_ce/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Halo CE",
- "description": "Setup and configuration guide for Halo CE game servers",
- "category": "game",
- "order": 1
-}
\ No newline at end of file
+{
+ "name": "Halo CE",
+ "description": "Setup and configuration guide for Halo CE game servers",
+ "category": "game",
+ "order": 1,
+ "complete": false
+}
diff --git a/modules/billing/docs/harsh/metadata.json b/modules/billing/docs/harsh/metadata.json
index 50b80caf..c00e116a 100644
--- a/modules/billing/docs/harsh/metadata.json
+++ b/modules/billing/docs/harsh/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Operation Harsh Doorstop",
- "description": "Setup and configuration guide for Operation Harsh Doorstop game servers",
- "category": "game",
- "order": 2
-}
\ No newline at end of file
+{
+ "name": "Operation Harsh Doorstop",
+ "description": "Setup and configuration guide for Operation Harsh Doorstop game servers",
+ "category": "game",
+ "order": 2,
+ "complete": false
+}
diff --git a/modules/billing/docs/hidden_source/metadata.json b/modules/billing/docs/hidden_source/metadata.json
index 29024dec..393bcc2c 100644
--- a/modules/billing/docs/hidden_source/metadata.json
+++ b/modules/billing/docs/hidden_source/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Hidden: Source",
- "description": "Setup and configuration guide for Hidden: Source game servers",
- "category": "game",
- "order": 4
-}
\ No newline at end of file
+{
+ "name": "Hidden: Source",
+ "description": "Setup and configuration guide for Hidden: Source game servers",
+ "category": "game",
+ "order": 4,
+ "complete": false
+}
diff --git a/modules/billing/docs/hl2d/metadata.json b/modules/billing/docs/hl2d/metadata.json
index 11d760c9..b666facd 100644
--- a/modules/billing/docs/hl2d/metadata.json
+++ b/modules/billing/docs/hl2d/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Half-Life 2: Deathmatch",
- "description": "Setup and configuration guide for Half-Life 2: Deathmatch game servers",
- "category": "game",
- "order": 5
-}
\ No newline at end of file
+{
+ "name": "Half-Life 2: Deathmatch",
+ "description": "Setup and configuration guide for Half-Life 2: Deathmatch game servers",
+ "category": "game",
+ "order": 5,
+ "complete": false
+}
diff --git a/modules/billing/docs/hldm/metadata.json b/modules/billing/docs/hldm/metadata.json
index cbe20369..59618337 100644
--- a/modules/billing/docs/hldm/metadata.json
+++ b/modules/billing/docs/hldm/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Half Life: Death Match",
- "description": "Setup and configuration guide for Half Life: Death Match game servers",
- "category": "game",
- "order": 7
-}
\ No newline at end of file
+{
+ "name": "Half Life: Death Match",
+ "description": "Setup and configuration guide for Half Life: Death Match game servers",
+ "category": "game",
+ "order": 7,
+ "complete": false
+}
diff --git a/modules/billing/docs/hltv/metadata.json b/modules/billing/docs/hltv/metadata.json
index aa3ac75b..1fd3aeac 100644
--- a/modules/billing/docs/hltv/metadata.json
+++ b/modules/billing/docs/hltv/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "HLTV",
- "description": "Setup and configuration guide for HLTV game servers",
- "category": "game",
- "order": 9
-}
\ No newline at end of file
+{
+ "name": "HLTV",
+ "description": "Setup and configuration guide for HLTV game servers",
+ "category": "game",
+ "order": 9,
+ "complete": false
+}
diff --git a/modules/billing/docs/homefront/metadata.json b/modules/billing/docs/homefront/metadata.json
index 829a1cf1..6c9bc46b 100644
--- a/modules/billing/docs/homefront/metadata.json
+++ b/modules/billing/docs/homefront/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Homefront",
- "description": "Setup and configuration guide for Homefront game servers",
- "category": "game",
- "order": 10
-}
\ No newline at end of file
+{
+ "name": "Homefront",
+ "description": "Setup and configuration guide for Homefront game servers",
+ "category": "game",
+ "order": 10,
+ "complete": false
+}
diff --git a/modules/billing/docs/hurtworld/metadata.json b/modules/billing/docs/hurtworld/metadata.json
index 79e08438..3eaa1d67 100644
--- a/modules/billing/docs/hurtworld/metadata.json
+++ b/modules/billing/docs/hurtworld/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Hurtworld",
- "description": "Setup and configuration guide for Hurtworld game servers",
- "category": "game",
- "order": 11
-}
\ No newline at end of file
+{
+ "name": "Hurtworld",
+ "description": "Setup and configuration guide for Hurtworld game servers",
+ "category": "game",
+ "order": 11,
+ "complete": false
+}
diff --git a/modules/billing/docs/il2/metadata.json b/modules/billing/docs/il2/metadata.json
index df15d36d..915765ce 100644
--- a/modules/billing/docs/il2/metadata.json
+++ b/modules/billing/docs/il2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "IL-2 Sturmovik",
- "description": "Setup and configuration guide for IL-2 Sturmovik game servers",
- "category": "game",
- "order": 14
-}
\ No newline at end of file
+{
+ "name": "IL-2 Sturmovik",
+ "description": "Setup and configuration guide for IL-2 Sturmovik game servers",
+ "category": "game",
+ "order": 14,
+ "complete": false
+}
diff --git a/modules/billing/docs/ins/metadata.json b/modules/billing/docs/ins/metadata.json
index f63fc96a..bda64d9b 100644
--- a/modules/billing/docs/ins/metadata.json
+++ b/modules/billing/docs/ins/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Insurgency",
- "description": "Setup and configuration guide for Insurgency game servers",
- "category": "game",
- "order": 15
-}
\ No newline at end of file
+{
+ "name": "Insurgency",
+ "description": "Setup and configuration guide for Insurgency game servers",
+ "category": "game",
+ "order": 15,
+ "complete": false
+}
diff --git a/modules/billing/docs/insurgencymic/metadata.json b/modules/billing/docs/insurgencymic/metadata.json
index beb71502..8970c314 100644
--- a/modules/billing/docs/insurgencymic/metadata.json
+++ b/modules/billing/docs/insurgencymic/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Insurgency: Modern Infantry Combat",
- "description": "Setup and configuration guide for Insurgency: Modern Infantry Combat game servers",
- "category": "game",
- "order": 17
-}
\ No newline at end of file
+{
+ "name": "Insurgency: Modern Infantry Combat",
+ "description": "Setup and configuration guide for Insurgency: Modern Infantry Combat game servers",
+ "category": "game",
+ "order": 17,
+ "complete": false
+}
diff --git a/modules/billing/docs/insurgencysandstorm/metadata.json b/modules/billing/docs/insurgencysandstorm/metadata.json
index 18dec7c8..ea4bd425 100644
--- a/modules/billing/docs/insurgencysandstorm/metadata.json
+++ b/modules/billing/docs/insurgencysandstorm/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Insurgency: Sandstorm",
- "description": "Setup and configuration guide for Insurgency: Sandstorm game servers",
- "category": "game",
- "order": 18
-}
\ No newline at end of file
+{
+ "name": "Insurgency: Sandstorm",
+ "description": "Setup and configuration guide for Insurgency: Sandstorm game servers",
+ "category": "game",
+ "order": 18,
+ "complete": false
+}
diff --git a/modules/billing/docs/ivmp/metadata.json b/modules/billing/docs/ivmp/metadata.json
index c254c0ef..05e14e1b 100644
--- a/modules/billing/docs/ivmp/metadata.json
+++ b/modules/billing/docs/ivmp/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "IV Multiplayer",
- "description": "Setup and configuration guide for IV Multiplayer game servers",
- "category": "game",
- "order": 19
-}
\ No newline at end of file
+{
+ "name": "IV Multiplayer",
+ "description": "Setup and configuration guide for IV Multiplayer game servers",
+ "category": "game",
+ "order": 19,
+ "complete": false
+}
diff --git a/modules/billing/docs/jcmp/metadata.json b/modules/billing/docs/jcmp/metadata.json
index dcc3d13b..1a31be97 100644
--- a/modules/billing/docs/jcmp/metadata.json
+++ b/modules/billing/docs/jcmp/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Just Cause 2 Multiplayer",
- "description": "Setup and configuration guide for Just Cause 2 Multiplayer game servers",
- "category": "game",
- "order": 21
-}
\ No newline at end of file
+{
+ "name": "Just Cause 2 Multiplayer",
+ "description": "Setup and configuration guide for Just Cause 2 Multiplayer game servers",
+ "category": "game",
+ "order": 21,
+ "complete": false
+}
diff --git a/modules/billing/docs/jediknight2/metadata.json b/modules/billing/docs/jediknight2/metadata.json
index 61731b9d..48a6aae1 100644
--- a/modules/billing/docs/jediknight2/metadata.json
+++ b/modules/billing/docs/jediknight2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Jedi Knight 2",
- "description": "Setup and configuration guide for Jedi Knight 2 game servers",
- "category": "game",
- "order": 23
-}
\ No newline at end of file
+{
+ "name": "Jedi Knight 2",
+ "description": "Setup and configuration guide for Jedi Knight 2 game servers",
+ "category": "game",
+ "order": 23,
+ "complete": false
+}
diff --git a/modules/billing/docs/jediknightja/metadata.json b/modules/billing/docs/jediknightja/metadata.json
index 4e1887a5..711a383f 100644
--- a/modules/billing/docs/jediknightja/metadata.json
+++ b/modules/billing/docs/jediknightja/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Jedi Knight: Jedi Academy",
- "description": "Setup and configuration guide for Jedi Knight: Jedi Academy game servers",
- "category": "game",
- "order": 24
-}
\ No newline at end of file
+{
+ "name": "Jedi Knight: Jedi Academy",
+ "description": "Setup and configuration guide for Jedi Knight: Jedi Academy game servers",
+ "category": "game",
+ "order": 24,
+ "complete": false
+}
diff --git a/modules/billing/docs/killingfloor/metadata.json b/modules/billing/docs/killingfloor/metadata.json
index 71c69222..b0469d2a 100644
--- a/modules/billing/docs/killingfloor/metadata.json
+++ b/modules/billing/docs/killingfloor/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Killing Floor",
- "description": "Setup and configuration guide for Killing Floor game servers",
- "category": "game",
- "order": 25
-}
\ No newline at end of file
+{
+ "name": "Killing Floor",
+ "description": "Setup and configuration guide for Killing Floor game servers",
+ "category": "game",
+ "order": 25,
+ "complete": false
+}
diff --git a/modules/billing/docs/killingfloor2/metadata.json b/modules/billing/docs/killingfloor2/metadata.json
index fdfcd690..e9e2d562 100644
--- a/modules/billing/docs/killingfloor2/metadata.json
+++ b/modules/billing/docs/killingfloor2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Killing Floor 2",
- "description": "Setup and configuration guide for Killing Floor 2 game servers",
- "category": "game",
- "order": 26
-}
\ No newline at end of file
+{
+ "name": "Killing Floor 2",
+ "description": "Setup and configuration guide for Killing Floor 2 game servers",
+ "category": "game",
+ "order": 26,
+ "complete": false
+}
diff --git a/modules/billing/docs/left4dead/metadata.json b/modules/billing/docs/left4dead/metadata.json
index 80c15270..fdbcf1bd 100644
--- a/modules/billing/docs/left4dead/metadata.json
+++ b/modules/billing/docs/left4dead/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Left 4 Dead",
- "description": "Setup and configuration guide for Left 4 Dead game servers",
- "category": "game",
- "order": 31
-}
\ No newline at end of file
+{
+ "name": "Left 4 Dead",
+ "description": "Setup and configuration guide for Left 4 Dead game servers",
+ "category": "game",
+ "order": 31,
+ "complete": false
+}
diff --git a/modules/billing/docs/left4dead2/metadata.json b/modules/billing/docs/left4dead2/metadata.json
index e3a94ae2..5094f85c 100644
--- a/modules/billing/docs/left4dead2/metadata.json
+++ b/modules/billing/docs/left4dead2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Left 4 Dead 2",
- "description": "Setup and configuration guide for Left 4 Dead 2 game servers",
- "category": "game",
- "order": 29
-}
\ No newline at end of file
+{
+ "name": "Left 4 Dead 2",
+ "description": "Setup and configuration guide for Left 4 Dead 2 game servers",
+ "category": "game",
+ "order": 29,
+ "complete": false
+}
diff --git a/modules/billing/docs/lifeisfeudal/metadata.json b/modules/billing/docs/lifeisfeudal/metadata.json
index b3b7f3a4..1db51c13 100644
--- a/modules/billing/docs/lifeisfeudal/metadata.json
+++ b/modules/billing/docs/lifeisfeudal/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Life is Feudal",
- "description": "Setup and configuration guide for Life is Feudal game servers",
- "category": "game",
- "order": 32
-}
\ No newline at end of file
+{
+ "name": "Life is Feudal",
+ "description": "Setup and configuration guide for Life is Feudal game servers",
+ "category": "game",
+ "order": 32,
+ "complete": false
+}
diff --git a/modules/billing/docs/mab_warband/metadata.json b/modules/billing/docs/mab_warband/metadata.json
index 85b3fe4a..88a0e835 100644
--- a/modules/billing/docs/mab_warband/metadata.json
+++ b/modules/billing/docs/mab_warband/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Mount and Blade Warband",
- "description": "Setup and configuration guide for Mount and Blade Warband game servers",
- "category": "game",
- "order": 47
-}
\ No newline at end of file
+{
+ "name": "Mount and Blade Warband",
+ "description": "Setup and configuration guide for Mount and Blade Warband game servers",
+ "category": "game",
+ "order": 47,
+ "complete": false
+}
diff --git a/modules/billing/docs/mafia2online/metadata.json b/modules/billing/docs/mafia2online/metadata.json
index d9bc70fd..13e7f95b 100644
--- a/modules/billing/docs/mafia2online/metadata.json
+++ b/modules/billing/docs/mafia2online/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Mafia 2 Online",
- "description": "Setup and configuration guide for Mafia 2 Online game servers",
- "category": "game",
- "order": 33
-}
\ No newline at end of file
+{
+ "name": "Mafia 2 Online",
+ "description": "Setup and configuration guide for Mafia 2 Online game servers",
+ "category": "game",
+ "order": 33,
+ "complete": false
+}
diff --git a/modules/billing/docs/minecraft/metadata.json b/modules/billing/docs/minecraft/metadata.json
index ea3efd5b..d51ea803 100644
--- a/modules/billing/docs/minecraft/metadata.json
+++ b/modules/billing/docs/minecraft/metadata.json
@@ -2,5 +2,6 @@
"name": "Minecraft Server",
"description": "Complete guide for hosting and managing Minecraft Java Edition servers",
"category": "game",
- "order": 1
+ "order": 1,
+ "complete": true
}
diff --git a/modules/billing/docs/miscreated/metadata.json b/modules/billing/docs/miscreated/metadata.json
index 3f11d7d9..36781b1e 100644
--- a/modules/billing/docs/miscreated/metadata.json
+++ b/modules/billing/docs/miscreated/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Miscreated",
- "description": "Setup and configuration guide for Miscreated game servers",
- "category": "game",
- "order": 39
-}
\ No newline at end of file
+{
+ "name": "Miscreated",
+ "description": "Setup and configuration guide for Miscreated game servers",
+ "category": "game",
+ "order": 39,
+ "complete": false
+}
diff --git a/modules/billing/docs/mohaa/metadata.json b/modules/billing/docs/mohaa/metadata.json
index 158e5713..24f40c64 100644
--- a/modules/billing/docs/mohaa/metadata.json
+++ b/modules/billing/docs/mohaa/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Medal Of Honor: Allied Assault",
- "description": "Setup and configuration guide for Medal Of Honor: Allied Assault game servers",
- "category": "game",
- "order": 40
-}
\ No newline at end of file
+{
+ "name": "Medal Of Honor: Allied Assault",
+ "description": "Setup and configuration guide for Medal Of Honor: Allied Assault game servers",
+ "category": "game",
+ "order": 40,
+ "complete": false
+}
diff --git a/modules/billing/docs/mohbr/metadata.json b/modules/billing/docs/mohbr/metadata.json
index 38c1cf67..a881fd72 100644
--- a/modules/billing/docs/mohbr/metadata.json
+++ b/modules/billing/docs/mohbr/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Medal Of Honor: Breakthrough (Windows)",
- "description": "Setup and configuration guide for Medal Of Honor: Breakthrough (Windows) game servers",
- "category": "game",
- "order": 42
-}
\ No newline at end of file
+{
+ "name": "Medal Of Honor: Breakthrough (Windows)",
+ "description": "Setup and configuration guide for Medal Of Honor: Breakthrough (Windows) game servers",
+ "category": "game",
+ "order": 42,
+ "complete": false
+}
diff --git a/modules/billing/docs/mohsp/metadata.json b/modules/billing/docs/mohsp/metadata.json
index 70921d5e..a752968e 100644
--- a/modules/billing/docs/mohsp/metadata.json
+++ b/modules/billing/docs/mohsp/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Medal Of Honor: Spearhead",
- "description": "Setup and configuration guide for Medal Of Honor: Spearhead game servers",
- "category": "game",
- "order": 43
-}
\ No newline at end of file
+{
+ "name": "Medal Of Honor: Spearhead",
+ "description": "Setup and configuration guide for Medal Of Honor: Spearhead game servers",
+ "category": "game",
+ "order": 43,
+ "complete": false
+}
diff --git a/modules/billing/docs/mohspdemo/metadata.json b/modules/billing/docs/mohspdemo/metadata.json
index 515028fd..bedc3dab 100644
--- a/modules/billing/docs/mohspdemo/metadata.json
+++ b/modules/billing/docs/mohspdemo/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Medal Of Honor: Spearhead Demo Server (Windows)",
- "description": "Setup and configuration guide for Medal Of Honor: Spearhead Demo Server (Windows) game servers",
- "category": "game",
- "order": 45
-}
\ No newline at end of file
+{
+ "name": "Medal Of Honor: Spearhead Demo Server (Windows)",
+ "description": "Setup and configuration guide for Medal Of Honor: Spearhead Demo Server (Windows) game servers",
+ "category": "game",
+ "order": 45,
+ "complete": false
+}
diff --git a/modules/billing/docs/mordhau/metadata.json b/modules/billing/docs/mordhau/metadata.json
index f959deef..8246c18d 100644
--- a/modules/billing/docs/mordhau/metadata.json
+++ b/modules/billing/docs/mordhau/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Mordhau",
- "description": "Setup and configuration guide for Mordhau game servers",
- "category": "game",
- "order": 46
-}
\ No newline at end of file
+{
+ "name": "Mordhau",
+ "description": "Setup and configuration guide for Mordhau game servers",
+ "category": "game",
+ "order": 46,
+ "complete": false
+}
diff --git a/modules/billing/docs/multitheftauto/metadata.json b/modules/billing/docs/multitheftauto/metadata.json
index 5d448608..2a983397 100644
--- a/modules/billing/docs/multitheftauto/metadata.json
+++ b/modules/billing/docs/multitheftauto/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Multi Theft Auto",
- "description": "Setup and configuration guide for Multi Theft Auto game servers",
- "category": "game",
- "order": 48
-}
\ No newline at end of file
+{
+ "name": "Multi Theft Auto",
+ "description": "Setup and configuration guide for Multi Theft Auto game servers",
+ "category": "game",
+ "order": 48,
+ "complete": false
+}
diff --git a/modules/billing/docs/mumble/metadata.json b/modules/billing/docs/mumble/metadata.json
index 7583c503..09278eee 100644
--- a/modules/billing/docs/mumble/metadata.json
+++ b/modules/billing/docs/mumble/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Murmur [Mumble server]",
- "description": "Setup and configuration guide for Murmur [Mumble server] game servers",
- "category": "game",
- "order": 52
-}
\ No newline at end of file
+{
+ "name": "Murmur [Mumble server]",
+ "description": "Setup and configuration guide for Murmur [Mumble server] game servers",
+ "category": "game",
+ "order": 52,
+ "complete": false
+}
diff --git a/modules/billing/docs/nexuiz/metadata.json b/modules/billing/docs/nexuiz/metadata.json
index ab648ddb..34a1fa1e 100644
--- a/modules/billing/docs/nexuiz/metadata.json
+++ b/modules/billing/docs/nexuiz/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Nexuiz",
- "description": "Setup and configuration guide for Nexuiz game servers",
- "category": "game",
- "order": 55
-}
\ No newline at end of file
+{
+ "name": "Nexuiz",
+ "description": "Setup and configuration guide for Nexuiz game servers",
+ "category": "game",
+ "order": 55,
+ "complete": false
+}
diff --git a/modules/billing/docs/nmrih_steam/metadata.json b/modules/billing/docs/nmrih_steam/metadata.json
index d65a0dd7..61cbe851 100644
--- a/modules/billing/docs/nmrih_steam/metadata.json
+++ b/modules/billing/docs/nmrih_steam/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "No More Room In Hell",
- "description": "Setup and configuration guide for No More Room In Hell game servers",
- "category": "game",
- "order": 58
-}
\ No newline at end of file
+{
+ "name": "No More Room In Hell",
+ "description": "Setup and configuration guide for No More Room In Hell game servers",
+ "category": "game",
+ "order": 58,
+ "complete": false
+}
diff --git a/modules/billing/docs/ns2/metadata.json b/modules/billing/docs/ns2/metadata.json
index 285c54c2..6cdf6034 100644
--- a/modules/billing/docs/ns2/metadata.json
+++ b/modules/billing/docs/ns2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Natural Selection 2",
- "description": "Setup and configuration guide for Natural Selection 2 game servers",
- "category": "game",
- "order": 54
-}
\ No newline at end of file
+{
+ "name": "Natural Selection 2",
+ "description": "Setup and configuration guide for Natural Selection 2 game servers",
+ "category": "game",
+ "order": 54,
+ "complete": false
+}
diff --git a/modules/billing/docs/nucleardawn/metadata.json b/modules/billing/docs/nucleardawn/metadata.json
index 13bd9940..949cfbd0 100644
--- a/modules/billing/docs/nucleardawn/metadata.json
+++ b/modules/billing/docs/nucleardawn/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Nuclear Dawn (Linux)",
- "description": "Setup and configuration guide for Nuclear Dawn (Linux) game servers",
- "category": "game",
- "order": 60
-}
\ No newline at end of file
+{
+ "name": "Nuclear Dawn (Linux)",
+ "description": "Setup and configuration guide for Nuclear Dawn (Linux) game servers",
+ "category": "game",
+ "order": 60,
+ "complete": false
+}
diff --git a/modules/billing/docs/ootow/metadata.json b/modules/billing/docs/ootow/metadata.json
index 30941aee..a8ecb03e 100644
--- a/modules/billing/docs/ootow/metadata.json
+++ b/modules/billing/docs/ootow/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Outlaws of the Old West",
- "description": "Setup and configuration guide for Outlaws of the Old West game servers",
- "category": "game",
- "order": 62
-}
\ No newline at end of file
+{
+ "name": "Outlaws of the Old West",
+ "description": "Setup and configuration guide for Outlaws of the Old West game servers",
+ "category": "game",
+ "order": 62,
+ "complete": false
+}
diff --git a/modules/billing/docs/openttd/metadata.json b/modules/billing/docs/openttd/metadata.json
index 0bcc6071..ac64d61b 100644
--- a/modules/billing/docs/openttd/metadata.json
+++ b/modules/billing/docs/openttd/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "OpenTTD",
- "description": "Setup and configuration guide for OpenTTD game servers",
- "category": "game",
- "order": 63
-}
\ No newline at end of file
+{
+ "name": "OpenTTD",
+ "description": "Setup and configuration guide for OpenTTD game servers",
+ "category": "game",
+ "order": 63,
+ "complete": false
+}
diff --git a/modules/billing/docs/pixark/metadata.json b/modules/billing/docs/pixark/metadata.json
index 6e860d72..1d897da1 100644
--- a/modules/billing/docs/pixark/metadata.json
+++ b/modules/billing/docs/pixark/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "PixARK",
- "description": "Setup and configuration guide for PixARK game servers",
- "category": "game",
- "order": 67
-}
\ No newline at end of file
+{
+ "name": "PixARK",
+ "description": "Setup and configuration guide for PixARK game servers",
+ "category": "game",
+ "order": 67,
+ "complete": false
+}
diff --git a/modules/billing/docs/pvkii/metadata.json b/modules/billing/docs/pvkii/metadata.json
index 23769d65..08ee2f14 100644
--- a/modules/billing/docs/pvkii/metadata.json
+++ b/modules/billing/docs/pvkii/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Pirates, Vikings and Knights II",
- "description": "Setup and configuration guide for Pirates, Vikings and Knights II game servers",
- "category": "game",
- "order": 68
-}
\ No newline at end of file
+{
+ "name": "Pirates, Vikings and Knights II",
+ "description": "Setup and configuration guide for Pirates, Vikings and Knights II game servers",
+ "category": "game",
+ "order": 68,
+ "complete": false
+}
diff --git a/modules/billing/docs/quake3/metadata.json b/modules/billing/docs/quake3/metadata.json
index 76300653..817ea420 100644
--- a/modules/billing/docs/quake3/metadata.json
+++ b/modules/billing/docs/quake3/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Quake 3",
- "description": "Setup and configuration guide for Quake 3 game servers",
- "category": "game",
- "order": 69
-}
\ No newline at end of file
+{
+ "name": "Quake 3",
+ "description": "Setup and configuration guide for Quake 3 game servers",
+ "category": "game",
+ "order": 69,
+ "complete": false
+}
diff --git a/modules/billing/docs/quake4/metadata.json b/modules/billing/docs/quake4/metadata.json
index 45634cb6..73846a49 100644
--- a/modules/billing/docs/quake4/metadata.json
+++ b/modules/billing/docs/quake4/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Quake 4",
- "description": "Setup and configuration guide for Quake 4 game servers",
- "category": "game",
- "order": 70
-}
\ No newline at end of file
+{
+ "name": "Quake 4",
+ "description": "Setup and configuration guide for Quake 4 game servers",
+ "category": "game",
+ "order": 70,
+ "complete": false
+}
diff --git a/modules/billing/docs/redorchestra2/metadata.json b/modules/billing/docs/redorchestra2/metadata.json
index 90d179d9..d6f48d26 100644
--- a/modules/billing/docs/redorchestra2/metadata.json
+++ b/modules/billing/docs/redorchestra2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Red Orchestra 2",
- "description": "Setup and configuration guide for Red Orchestra 2 game servers",
- "category": "game",
- "order": 71
-}
\ No newline at end of file
+{
+ "name": "Red Orchestra 2",
+ "description": "Setup and configuration guide for Red Orchestra 2 game servers",
+ "category": "game",
+ "order": 71,
+ "complete": false
+}
diff --git a/modules/billing/docs/reignofkings/metadata.json b/modules/billing/docs/reignofkings/metadata.json
index 2c0501dd..ff4ff058 100644
--- a/modules/billing/docs/reignofkings/metadata.json
+++ b/modules/billing/docs/reignofkings/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Reign of Kings",
- "description": "Setup and configuration guide for Reign of Kings game servers",
- "category": "game",
- "order": 72
-}
\ No newline at end of file
+{
+ "name": "Reign of Kings",
+ "description": "Setup and configuration guide for Reign of Kings game servers",
+ "category": "game",
+ "order": 72,
+ "complete": false
+}
diff --git a/modules/billing/docs/ricochet/metadata.json b/modules/billing/docs/ricochet/metadata.json
index e55d85e6..56b3fb50 100644
--- a/modules/billing/docs/ricochet/metadata.json
+++ b/modules/billing/docs/ricochet/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Ricochet",
- "description": "Setup and configuration guide for Ricochet game servers",
- "category": "game",
- "order": 73
-}
\ No newline at end of file
+{
+ "name": "Ricochet",
+ "description": "Setup and configuration guide for Ricochet game servers",
+ "category": "game",
+ "order": 73,
+ "complete": false
+}
diff --git a/modules/billing/docs/risingstorm2/metadata.json b/modules/billing/docs/risingstorm2/metadata.json
index e9165058..fb872d26 100644
--- a/modules/billing/docs/risingstorm2/metadata.json
+++ b/modules/billing/docs/risingstorm2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Rising Storm 2: Vietnam",
- "description": "Setup and configuration guide for Rising Storm 2: Vietnam game servers",
- "category": "game",
- "order": 74
-}
\ No newline at end of file
+{
+ "name": "Rising Storm 2: Vietnam",
+ "description": "Setup and configuration guide for Rising Storm 2: Vietnam game servers",
+ "category": "game",
+ "order": 74,
+ "complete": false
+}
diff --git a/modules/billing/docs/roadkill/metadata.json b/modules/billing/docs/roadkill/metadata.json
index f8b23fa8..aa14ec8e 100644
--- a/modules/billing/docs/roadkill/metadata.json
+++ b/modules/billing/docs/roadkill/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Roadkill",
- "description": "Setup and configuration guide for Roadkill game servers",
- "category": "game",
- "order": 75
-}
\ No newline at end of file
+{
+ "name": "Roadkill",
+ "description": "Setup and configuration guide for Roadkill game servers",
+ "category": "game",
+ "order": 75,
+ "complete": false
+}
diff --git a/modules/billing/docs/rorserver/metadata.json b/modules/billing/docs/rorserver/metadata.json
index dfc96be8..ec3c52bd 100644
--- a/modules/billing/docs/rorserver/metadata.json
+++ b/modules/billing/docs/rorserver/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Rigs of Rods",
- "description": "Setup and configuration guide for Rigs of Rods game servers",
- "category": "game",
- "order": 76
-}
\ No newline at end of file
+{
+ "name": "Rigs of Rods",
+ "description": "Setup and configuration guide for Rigs of Rods game servers",
+ "category": "game",
+ "order": 76,
+ "complete": false
+}
diff --git a/modules/billing/docs/rust/index.php b/modules/billing/docs/rust/index.php
index 6243ce13..a762a66a 100644
--- a/modules/billing/docs/rust/index.php
+++ b/modules/billing/docs/rust/index.php
@@ -4,14 +4,15 @@
*/
?>
-
Navigation
+
📚 Navigation
@@ -37,6 +38,71 @@
+🔌 Ports Required
+
+
+
+ | Port |
+ Protocol |
+ Purpose |
+ Required |
+
+
+
+
+ 28015 |
+ UDP |
+ Main game server port (client connections) |
+ ✓ Yes |
+
+
+ 28016 |
+ TCP |
+ RCON (Remote Console) port |
+ ✓ Yes |
+
+
+ 28017 |
+ UDP / TCP |
+ Query port (Rust+ app, server browser) |
+ Optional |
+
+
+
+
+Firewall Configuration Examples
+
+UFW (Ubuntu/Debian)
+sudo ufw allow 28015/udp comment 'Rust game port'
+sudo ufw allow 28016/tcp comment 'Rust RCON'
+sudo ufw allow 28017 comment 'Rust query/Rust+'
+sudo ufw reload
+
+
+FirewallD (CentOS/RHEL/Fedora)
+sudo firewall-cmd --permanent --add-port=28015/udp
+sudo firewall-cmd --permanent --add-port=28016/tcp
+sudo firewall-cmd --permanent --add-port=28017/udp
+sudo firewall-cmd --permanent --add-port=28017/tcp
+sudo firewall-cmd --reload
+
+
+Windows Firewall
+# Run in PowerShell as Administrator
+New-NetFirewallRule -DisplayName "Rust Game" -Direction Inbound -Protocol UDP -LocalPort 28015 -Action Allow
+New-NetFirewallRule -DisplayName "Rust RCON" -Direction Inbound -Protocol TCP -LocalPort 28016 -Action Allow
+New-NetFirewallRule -DisplayName "Rust Query" -Direction Inbound -Protocol UDP -LocalPort 28017 -Action Allow
+New-NetFirewallRule -DisplayName "Rust Query TCP" -Direction Inbound -Protocol TCP -LocalPort 28017 -Action Allow
+
+
+iptables (Legacy Linux)
+sudo iptables -A INPUT -p udp --dport 28015 -j ACCEPT
+sudo iptables -A INPUT -p tcp --dport 28016 -j ACCEPT
+sudo iptables -A INPUT -p udp --dport 28017 -j ACCEPT
+sudo iptables -A INPUT -p tcp --dport 28017 -j ACCEPT
+sudo service iptables save
+
+
Installation & Setup
System Requirements
diff --git a/modules/billing/docs/rust/metadata.json b/modules/billing/docs/rust/metadata.json
index ea4c206f..01348640 100644
--- a/modules/billing/docs/rust/metadata.json
+++ b/modules/billing/docs/rust/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Rust",
- "description": "Setup and configuration guide for Rust game servers",
- "category": "game",
- "order": 78
-}
\ No newline at end of file
+{
+ "name": "Rust",
+ "description": "Comprehensive guide for Rust dedicated servers with ports, uMod/Oxide plugins, wipe schedules, and performance optimization",
+ "category": "game",
+ "order": 78,
+ "complete": true
+}
diff --git a/modules/billing/docs/sanandreasmp/metadata.json b/modules/billing/docs/sanandreasmp/metadata.json
index 60c57cda..17445077 100644
--- a/modules/billing/docs/sanandreasmp/metadata.json
+++ b/modules/billing/docs/sanandreasmp/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "San Andreas Multiplayer",
- "description": "Setup and configuration guide for San Andreas Multiplayer game servers",
- "category": "game",
- "order": 80
-}
\ No newline at end of file
+{
+ "name": "San Andreas Multiplayer",
+ "description": "Setup and configuration guide for San Andreas Multiplayer game servers",
+ "category": "game",
+ "order": 80,
+ "complete": false
+}
diff --git a/modules/billing/docs/serioussamhdfe/metadata.json b/modules/billing/docs/serioussamhdfe/metadata.json
index 9cf7e7bf..936945d0 100644
--- a/modules/billing/docs/serioussamhdfe/metadata.json
+++ b/modules/billing/docs/serioussamhdfe/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Serious Sam HD The First Encounter",
- "description": "Setup and configuration guide for Serious Sam HD The First Encounter game servers",
- "category": "game",
- "order": 82
-}
\ No newline at end of file
+{
+ "name": "Serious Sam HD The First Encounter",
+ "description": "Setup and configuration guide for Serious Sam HD The First Encounter game servers",
+ "category": "game",
+ "order": 82,
+ "complete": false
+}
diff --git a/modules/billing/docs/serioussamhdse/metadata.json b/modules/billing/docs/serioussamhdse/metadata.json
index 3f1eb2eb..1c2eb3ac 100644
--- a/modules/billing/docs/serioussamhdse/metadata.json
+++ b/modules/billing/docs/serioussamhdse/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Serious Sam HD The Second Encounter",
- "description": "Setup and configuration guide for Serious Sam HD The Second Encounter game servers",
- "category": "game",
- "order": 83
-}
\ No newline at end of file
+{
+ "name": "Serious Sam HD The Second Encounter",
+ "description": "Setup and configuration guide for Serious Sam HD The Second Encounter game servers",
+ "category": "game",
+ "order": 83,
+ "complete": false
+}
diff --git a/modules/billing/docs/shoutcast/metadata.json b/modules/billing/docs/shoutcast/metadata.json
index 348d7f87..2a4cd776 100644
--- a/modules/billing/docs/shoutcast/metadata.json
+++ b/modules/billing/docs/shoutcast/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Shoutcast server",
- "description": "Setup and configuration guide for Shoutcast server game servers",
- "category": "game",
- "order": 86
-}
\ No newline at end of file
+{
+ "name": "Shoutcast server",
+ "description": "Setup and configuration guide for Shoutcast server game servers",
+ "category": "game",
+ "order": 86,
+ "complete": false
+}
diff --git a/modules/billing/docs/shoutcast_bot/metadata.json b/modules/billing/docs/shoutcast_bot/metadata.json
index 372a7574..08098c55 100644
--- a/modules/billing/docs/shoutcast_bot/metadata.json
+++ b/modules/billing/docs/shoutcast_bot/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Shoutcast server Bot",
- "description": "Setup and configuration guide for Shoutcast server Bot game servers",
- "category": "game",
- "order": 87
-}
\ No newline at end of file
+{
+ "name": "Shoutcast server Bot",
+ "description": "Setup and configuration guide for Shoutcast server Bot game servers",
+ "category": "game",
+ "order": 87,
+ "complete": false
+}
diff --git a/modules/billing/docs/sinusbot/metadata.json b/modules/billing/docs/sinusbot/metadata.json
index 91d51b60..e84e5177 100644
--- a/modules/billing/docs/sinusbot/metadata.json
+++ b/modules/billing/docs/sinusbot/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "SinusBot for TS 3 and Discord",
- "description": "Setup and configuration guide for SinusBot for TS 3 and Discord game servers",
- "category": "game",
- "order": 88
-}
\ No newline at end of file
+{
+ "name": "SinusBot for TS 3 and Discord",
+ "description": "Setup and configuration guide for SinusBot for TS 3 and Discord game servers",
+ "category": "game",
+ "order": 88,
+ "complete": false
+}
diff --git a/modules/billing/docs/smashball/metadata.json b/modules/billing/docs/smashball/metadata.json
index 55c7fe7e..bfca4751 100644
--- a/modules/billing/docs/smashball/metadata.json
+++ b/modules/billing/docs/smashball/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Smashball",
- "description": "Setup and configuration guide for Smashball game servers",
- "category": "game",
- "order": 3
-}
\ No newline at end of file
+{
+ "name": "Smashball",
+ "description": "Setup and configuration guide for Smashball game servers",
+ "category": "game",
+ "order": 3,
+ "complete": false
+}
diff --git a/modules/billing/docs/smokinguns/metadata.json b/modules/billing/docs/smokinguns/metadata.json
index 6523d0aa..545b009a 100644
--- a/modules/billing/docs/smokinguns/metadata.json
+++ b/modules/billing/docs/smokinguns/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Smokin Guns",
- "description": "Setup and configuration guide for Smokin Guns game servers",
- "category": "game",
- "order": 89
-}
\ No newline at end of file
+{
+ "name": "Smokin Guns",
+ "description": "Setup and configuration guide for Smokin Guns game servers",
+ "category": "game",
+ "order": 89,
+ "complete": false
+}
diff --git a/modules/billing/docs/sms/metadata.json b/modules/billing/docs/sms/metadata.json
index 3affb8b2..97360b18 100644
--- a/modules/billing/docs/sms/metadata.json
+++ b/modules/billing/docs/sms/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "ShootMania Storm",
- "description": "Setup and configuration guide for ShootMania Storm game servers",
- "category": "game",
- "order": 84
-}
\ No newline at end of file
+{
+ "name": "ShootMania Storm",
+ "description": "Setup and configuration guide for ShootMania Storm game servers",
+ "category": "game",
+ "order": 84,
+ "complete": false
+}
diff --git a/modules/billing/docs/sniperelitev2/metadata.json b/modules/billing/docs/sniperelitev2/metadata.json
index f0e53bce..1a68a585 100644
--- a/modules/billing/docs/sniperelitev2/metadata.json
+++ b/modules/billing/docs/sniperelitev2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Sniper Elite V2",
- "description": "Setup and configuration guide for Sniper Elite V2 game servers",
- "category": "game",
- "order": 91
-}
\ No newline at end of file
+{
+ "name": "Sniper Elite V2",
+ "description": "Setup and configuration guide for Sniper Elite V2 game servers",
+ "category": "game",
+ "order": 91,
+ "complete": false
+}
diff --git a/modules/billing/docs/soldatserver/metadata.json b/modules/billing/docs/soldatserver/metadata.json
index ce84df3b..8ddeaf16 100644
--- a/modules/billing/docs/soldatserver/metadata.json
+++ b/modules/billing/docs/soldatserver/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Soldat",
- "description": "Setup and configuration guide for Soldat game servers",
- "category": "game",
- "order": 92
-}
\ No newline at end of file
+{
+ "name": "Soldat",
+ "description": "Setup and configuration guide for Soldat game servers",
+ "category": "game",
+ "order": 92,
+ "complete": false
+}
diff --git a/modules/billing/docs/space_engineers/metadata.json b/modules/billing/docs/space_engineers/metadata.json
index 63897215..5b46d0cb 100644
--- a/modules/billing/docs/space_engineers/metadata.json
+++ b/modules/billing/docs/space_engineers/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Space Engineers",
- "description": "Setup and configuration guide for Space Engineers game servers",
- "category": "game",
- "order": 93
-}
\ No newline at end of file
+{
+ "name": "Space Engineers",
+ "description": "Setup and configuration guide for Space Engineers game servers",
+ "category": "game",
+ "order": 93,
+ "complete": false
+}
diff --git a/modules/billing/docs/spigotmc/metadata.json b/modules/billing/docs/spigotmc/metadata.json
index d9606952..d96a43d3 100644
--- a/modules/billing/docs/spigotmc/metadata.json
+++ b/modules/billing/docs/spigotmc/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Spigot Server",
- "description": "Setup and configuration guide for Spigot Server game servers",
- "category": "game",
- "order": 95
-}
\ No newline at end of file
+{
+ "name": "Spigot Server",
+ "description": "Setup and configuration guide for Spigot Server game servers",
+ "category": "game",
+ "order": 95,
+ "complete": false
+}
diff --git a/modules/billing/docs/spunkybot/metadata.json b/modules/billing/docs/spunkybot/metadata.json
index cc1d0b9a..be59e120 100644
--- a/modules/billing/docs/spunkybot/metadata.json
+++ b/modules/billing/docs/spunkybot/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "SpunkyBot",
- "description": "Setup and configuration guide for SpunkyBot game servers",
- "category": "game",
- "order": 96
-}
\ No newline at end of file
+{
+ "name": "SpunkyBot",
+ "description": "Setup and configuration guide for SpunkyBot game servers",
+ "category": "game",
+ "order": 96,
+ "complete": false
+}
diff --git a/modules/billing/docs/squad/metadata.json b/modules/billing/docs/squad/metadata.json
index a86751be..d4eddaad 100644
--- a/modules/billing/docs/squad/metadata.json
+++ b/modules/billing/docs/squad/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Squad",
- "description": "Setup and configuration guide for Squad game servers",
- "category": "game",
- "order": 97
-}
\ No newline at end of file
+{
+ "name": "Squad",
+ "description": "Setup and configuration guide for Squad game servers",
+ "category": "game",
+ "order": 97,
+ "complete": false
+}
diff --git a/modules/billing/docs/starbound/metadata.json b/modules/billing/docs/starbound/metadata.json
index 9f3ebabf..7c4c41b4 100644
--- a/modules/billing/docs/starbound/metadata.json
+++ b/modules/billing/docs/starbound/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Starbound",
- "description": "Setup and configuration guide for Starbound game servers",
- "category": "game",
- "order": 99
-}
\ No newline at end of file
+{
+ "name": "Starbound",
+ "description": "Setup and configuration guide for Starbound game servers",
+ "category": "game",
+ "order": 99,
+ "complete": false
+}
diff --git a/modules/billing/docs/stationeers/metadata.json b/modules/billing/docs/stationeers/metadata.json
index 4f3f3728..e6b03743 100644
--- a/modules/billing/docs/stationeers/metadata.json
+++ b/modules/billing/docs/stationeers/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Stationeers",
- "description": "Setup and configuration guide for Stationeers game servers",
- "category": "game",
- "order": 101
-}
\ No newline at end of file
+{
+ "name": "Stationeers",
+ "description": "Setup and configuration guide for Stationeers game servers",
+ "category": "game",
+ "order": 101,
+ "complete": false
+}
diff --git a/modules/billing/docs/synergy/metadata.json b/modules/billing/docs/synergy/metadata.json
index 5bb12e3e..fd614c07 100644
--- a/modules/billing/docs/synergy/metadata.json
+++ b/modules/billing/docs/synergy/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Synergy",
- "description": "Setup and configuration guide for Synergy game servers",
- "category": "game",
- "order": 4
-}
\ No newline at end of file
+{
+ "name": "Synergy",
+ "description": "Setup and configuration guide for Synergy game servers",
+ "category": "game",
+ "order": 4,
+ "complete": false
+}
diff --git a/modules/billing/docs/teamspeak2/metadata.json b/modules/billing/docs/teamspeak2/metadata.json
index eca60e10..c88c6420 100644
--- a/modules/billing/docs/teamspeak2/metadata.json
+++ b/modules/billing/docs/teamspeak2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "TeamSpeak 2",
- "description": "Setup and configuration guide for TeamSpeak 2 game servers",
- "category": "game",
- "order": 102
-}
\ No newline at end of file
+{
+ "name": "TeamSpeak 2",
+ "description": "Setup and configuration guide for TeamSpeak 2 game servers",
+ "category": "game",
+ "order": 102,
+ "complete": false
+}
diff --git a/modules/billing/docs/teamspeak3/metadata.json b/modules/billing/docs/teamspeak3/metadata.json
index 6459042b..97755bf3 100644
--- a/modules/billing/docs/teamspeak3/metadata.json
+++ b/modules/billing/docs/teamspeak3/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "TeamSpeak 3",
- "description": "Setup and configuration guide for TeamSpeak 3 game servers",
- "category": "game",
- "order": 104
-}
\ No newline at end of file
+{
+ "name": "TeamSpeak 3",
+ "description": "Setup and configuration guide for TeamSpeak 3 game servers",
+ "category": "game",
+ "order": 104,
+ "complete": false
+}
diff --git a/modules/billing/docs/terraria/index.php b/modules/billing/docs/terraria/index.php
index c5c944f1..d749605b 100644
--- a/modules/billing/docs/terraria/index.php
+++ b/modules/billing/docs/terraria/index.php
@@ -5,13 +5,14 @@
*/
?>
-
Navigation
+
📚 Navigation
@@ -35,6 +36,52 @@
+🔌 Ports Required
+
+
+
+ | Port |
+ Protocol |
+ Purpose |
+ Required |
+
+
+
+
+ 7777 |
+ TCP |
+ Game server port (player connections) |
+ ✓ Yes |
+
+
+
+
+
+
Note: Terraria is one of the simpler games to configure - it only requires a single TCP port. You can change this to any available port (1024-65535), just ensure it matches your serverconfig.txt configuration.
+
+
+Firewall Configuration Examples
+
+UFW (Ubuntu/Debian)
+sudo ufw allow 7777/tcp comment 'Terraria server'
+sudo ufw reload
+
+
+FirewallD (CentOS/RHEL/Fedora)
+sudo firewall-cmd --permanent --add-port=7777/tcp
+sudo firewall-cmd --reload
+
+
+Windows Firewall
+# Run in PowerShell as Administrator
+New-NetFirewallRule -DisplayName "Terraria Server" -Direction Inbound -Protocol TCP -LocalPort 7777 -Action Allow
+
+
+iptables (Legacy Linux)
+sudo iptables -A INPUT -p tcp --dport 7777 -j ACCEPT
+sudo service iptables save
+
+
Installation & Setup
System Requirements
diff --git a/modules/billing/docs/terraria/metadata.json b/modules/billing/docs/terraria/metadata.json
index ba465ced..8c306e66 100644
--- a/modules/billing/docs/terraria/metadata.json
+++ b/modules/billing/docs/terraria/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Terraria",
- "description": "Setup and configuration guide for Terraria game servers",
- "category": "game",
- "order": 108
-}
\ No newline at end of file
+{
+ "name": "Terraria",
+ "description": "Comprehensive guide for Terraria dedicated servers with TShock, port configuration, mods, and 2D sandbox adventure hosting",
+ "category": "game",
+ "order": 86,
+ "complete": true
+}
diff --git a/modules/billing/docs/tf2/metadata.json b/modules/billing/docs/tf2/metadata.json
index 5fc2ec4e..9cd13f06 100644
--- a/modules/billing/docs/tf2/metadata.json
+++ b/modules/billing/docs/tf2/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Team Fortress 2",
- "description": "Setup and configuration guide for Team Fortress 2 game servers",
- "category": "game",
- "order": 110
-}
\ No newline at end of file
+{
+ "name": "Team Fortress 2",
+ "description": "Setup and configuration guide for Team Fortress 2 game servers",
+ "category": "game",
+ "order": 110,
+ "complete": false
+}
diff --git a/modules/billing/docs/tfc/metadata.json b/modules/billing/docs/tfc/metadata.json
index 7a8ad6bb..fb14cb32 100644
--- a/modules/billing/docs/tfc/metadata.json
+++ b/modules/billing/docs/tfc/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Team Fortress Classic",
- "description": "Setup and configuration guide for Team Fortress Classic game servers",
- "category": "game",
- "order": 112
-}
\ No newline at end of file
+{
+ "name": "Team Fortress Classic",
+ "description": "Setup and configuration guide for Team Fortress Classic game servers",
+ "category": "game",
+ "order": 112,
+ "complete": false
+}
diff --git a/modules/billing/docs/theforest/metadata.json b/modules/billing/docs/theforest/metadata.json
index 429f9d70..e543f30d 100644
--- a/modules/billing/docs/theforest/metadata.json
+++ b/modules/billing/docs/theforest/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "The Forest",
- "description": "Setup and configuration guide for The Forest game servers",
- "category": "game",
- "order": 114
-}
\ No newline at end of file
+{
+ "name": "The Forest",
+ "description": "Setup and configuration guide for The Forest game servers",
+ "category": "game",
+ "order": 114,
+ "complete": false
+}
diff --git a/modules/billing/docs/trackmanianations/metadata.json b/modules/billing/docs/trackmanianations/metadata.json
index 8c0e2f04..56a80359 100644
--- a/modules/billing/docs/trackmanianations/metadata.json
+++ b/modules/billing/docs/trackmanianations/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "TrackMania Nations",
- "description": "Setup and configuration guide for TrackMania Nations game servers",
- "category": "game",
- "order": 115
-}
\ No newline at end of file
+{
+ "name": "TrackMania Nations",
+ "description": "Setup and configuration guide for TrackMania Nations game servers",
+ "category": "game",
+ "order": 115,
+ "complete": false
+}
diff --git a/modules/billing/docs/trackmanianf/metadata.json b/modules/billing/docs/trackmanianf/metadata.json
index 0d912e55..fd883818 100644
--- a/modules/billing/docs/trackmanianf/metadata.json
+++ b/modules/billing/docs/trackmanianf/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "TrackMania Nations Forever",
- "description": "Setup and configuration guide for TrackMania Nations Forever game servers",
- "category": "game",
- "order": 117
-}
\ No newline at end of file
+{
+ "name": "TrackMania Nations Forever",
+ "description": "Setup and configuration guide for TrackMania Nations Forever game servers",
+ "category": "game",
+ "order": 117,
+ "complete": false
+}
diff --git a/modules/billing/docs/unturned/metadata.json b/modules/billing/docs/unturned/metadata.json
index ff0ec048..6ec2747a 100644
--- a/modules/billing/docs/unturned/metadata.json
+++ b/modules/billing/docs/unturned/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Unturned",
- "description": "Setup and configuration guide for Unturned game servers",
- "category": "game",
- "order": 120
-}
\ No newline at end of file
+{
+ "name": "Unturned",
+ "description": "Setup and configuration guide for Unturned game servers",
+ "category": "game",
+ "order": 120,
+ "complete": false
+}
diff --git a/modules/billing/docs/urt/metadata.json b/modules/billing/docs/urt/metadata.json
index c3a666d5..822ed3c5 100644
--- a/modules/billing/docs/urt/metadata.json
+++ b/modules/billing/docs/urt/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Urban Terror 4",
- "description": "Setup and configuration guide for Urban Terror 4 game servers",
- "category": "game",
- "order": 124
-}
\ No newline at end of file
+{
+ "name": "Urban Terror 4",
+ "description": "Setup and configuration guide for Urban Terror 4 game servers",
+ "category": "game",
+ "order": 124,
+ "complete": false
+}
diff --git a/modules/billing/docs/ut2004/metadata.json b/modules/billing/docs/ut2004/metadata.json
index d029acd9..cb83e75e 100644
--- a/modules/billing/docs/ut2004/metadata.json
+++ b/modules/billing/docs/ut2004/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Unreal Tournament 2004",
- "description": "Setup and configuration guide for Unreal Tournament 2004 game servers",
- "category": "game",
- "order": 126
-}
\ No newline at end of file
+{
+ "name": "Unreal Tournament 2004",
+ "description": "Setup and configuration guide for Unreal Tournament 2004 game servers",
+ "category": "game",
+ "order": 126,
+ "complete": false
+}
diff --git a/modules/billing/docs/ut3/metadata.json b/modules/billing/docs/ut3/metadata.json
index c2c669c2..ab909384 100644
--- a/modules/billing/docs/ut3/metadata.json
+++ b/modules/billing/docs/ut3/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Unreal Tournament 3",
- "description": "Setup and configuration guide for Unreal Tournament 3 game servers",
- "category": "game",
- "order": 128
-}
\ No newline at end of file
+{
+ "name": "Unreal Tournament 3",
+ "description": "Setup and configuration guide for Unreal Tournament 3 game servers",
+ "category": "game",
+ "order": 128,
+ "complete": false
+}
diff --git a/modules/billing/docs/ut99/metadata.json b/modules/billing/docs/ut99/metadata.json
index 3e4a76b3..b20c21f2 100644
--- a/modules/billing/docs/ut99/metadata.json
+++ b/modules/billing/docs/ut99/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Unreal Tournament",
- "description": "Setup and configuration guide for Unreal Tournament game servers",
- "category": "game",
- "order": 119
-}
\ No newline at end of file
+{
+ "name": "Unreal Tournament",
+ "description": "Setup and configuration guide for Unreal Tournament game servers",
+ "category": "game",
+ "order": 119,
+ "complete": false
+}
diff --git a/modules/billing/docs/valheim/index.php b/modules/billing/docs/valheim/index.php
index 4654900c..2c1378bb 100644
--- a/modules/billing/docs/valheim/index.php
+++ b/modules/billing/docs/valheim/index.php
@@ -5,13 +5,14 @@
*/
?>
-
Navigation
+
📚 Navigation
@@ -35,6 +36,64 @@
+🔌 Ports Required
+
+
+
+ | Port |
+ Protocol |
+ Purpose |
+ Required |
+
+
+
+
+ 2456 |
+ UDP |
+ Primary game port (client connections) |
+ ✓ Yes |
+
+
+ 2457 |
+ UDP |
+ Steam query port (automatic +1) |
+ ✓ Yes |
+
+
+ 2458 |
+ UDP |
+ Server browser port (automatic +2) |
+ ✓ Yes |
+
+
+
+
+
+
Important: Valheim requires all three consecutive ports. The game automatically uses port+1 and port+2. Always open a range of three consecutive ports starting from your base port (e.g., 2456-2458).
+
+
+Firewall Configuration Examples
+
+UFW (Ubuntu/Debian)
+sudo ufw allow 2456:2458/udp comment 'Valheim server ports'
+sudo ufw reload
+
+
+FirewallD (CentOS/RHEL/Fedora)
+sudo firewall-cmd --permanent --add-port=2456-2458/udp
+sudo firewall-cmd --reload
+
+
+Windows Firewall
+# Run in PowerShell as Administrator
+New-NetFirewallRule -DisplayName "Valheim Server" -Direction Inbound -Protocol UDP -LocalPort 2456-2458 -Action Allow
+
+
+iptables (Legacy Linux)
+sudo iptables -A INPUT -p udp --dport 2456:2458 -j ACCEPT
+sudo service iptables save
+
+
Installation & Setup
System Requirements
diff --git a/modules/billing/docs/valheim/metadata.json b/modules/billing/docs/valheim/metadata.json
index 33b3194b..6c696294 100644
--- a/modules/billing/docs/valheim/metadata.json
+++ b/modules/billing/docs/valheim/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Valheim",
- "description": "Setup and configuration guide for Valheim game servers",
- "category": "game",
- "order": 130
-}
\ No newline at end of file
+{
+ "name": "Valheim",
+ "description": "Comprehensive guide for Valheim dedicated servers with ports, Valheim+ mods, world management, and Viking survival hosting",
+ "category": "game",
+ "order": 85,
+ "complete": true
+}
diff --git a/modules/billing/docs/vbox/metadata.json b/modules/billing/docs/vbox/metadata.json
index 1cd96030..f375fa14 100644
--- a/modules/billing/docs/vbox/metadata.json
+++ b/modules/billing/docs/vbox/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "VirtualBox",
- "description": "Setup and configuration guide for VirtualBox game servers",
- "category": "game",
- "order": 131
-}
\ No newline at end of file
+{
+ "name": "VirtualBox",
+ "description": "Setup and configuration guide for VirtualBox game servers",
+ "category": "game",
+ "order": 131,
+ "complete": false
+}
diff --git a/modules/billing/docs/ventrilo/metadata.json b/modules/billing/docs/ventrilo/metadata.json
index 8f143255..2b1aabc8 100644
--- a/modules/billing/docs/ventrilo/metadata.json
+++ b/modules/billing/docs/ventrilo/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Ventrilo",
- "description": "Setup and configuration guide for Ventrilo game servers",
- "category": "game",
- "order": 132
-}
\ No newline at end of file
+{
+ "name": "Ventrilo",
+ "description": "Setup and configuration guide for Ventrilo game servers",
+ "category": "game",
+ "order": 132,
+ "complete": false
+}
diff --git a/modules/billing/docs/vicecitymp/metadata.json b/modules/billing/docs/vicecitymp/metadata.json
index f280d499..21d71741 100644
--- a/modules/billing/docs/vicecitymp/metadata.json
+++ b/modules/billing/docs/vicecitymp/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Vice City Multiplayer",
- "description": "Setup and configuration guide for Vice City Multiplayer game servers",
- "category": "game",
- "order": 134
-}
\ No newline at end of file
+{
+ "name": "Vice City Multiplayer",
+ "description": "Setup and configuration guide for Vice City Multiplayer game servers",
+ "category": "game",
+ "order": 134,
+ "complete": false
+}
diff --git a/modules/billing/docs/warsow/metadata.json b/modules/billing/docs/warsow/metadata.json
index 27cfe19d..6c2bec62 100644
--- a/modules/billing/docs/warsow/metadata.json
+++ b/modules/billing/docs/warsow/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Warsow",
- "description": "Setup and configuration guide for Warsow game servers",
- "category": "game",
- "order": 138
-}
\ No newline at end of file
+{
+ "name": "Warsow",
+ "description": "Setup and configuration guide for Warsow game servers",
+ "category": "game",
+ "order": 138,
+ "complete": false
+}
diff --git a/modules/billing/docs/wolfrtcw_1-4/metadata.json b/modules/billing/docs/wolfrtcw_1-4/metadata.json
index 212df211..611a87bb 100644
--- a/modules/billing/docs/wolfrtcw_1-4/metadata.json
+++ b/modules/billing/docs/wolfrtcw_1-4/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Wolfenstein: Return To Castle Wolfenstein 1.4",
- "description": "Setup and configuration guide for Wolfenstein: Return To Castle Wolfenstein 1.4 game servers",
- "category": "game",
- "order": 143
-}
\ No newline at end of file
+{
+ "name": "Wolfenstein: Return To Castle Wolfenstein 1.4",
+ "description": "Setup and configuration guide for Wolfenstein: Return To Castle Wolfenstein 1.4 game servers",
+ "category": "game",
+ "order": 143,
+ "complete": false
+}
diff --git a/modules/billing/docs/wreckfest/metadata.json b/modules/billing/docs/wreckfest/metadata.json
index e46fa5d5..f303a73a 100644
--- a/modules/billing/docs/wreckfest/metadata.json
+++ b/modules/billing/docs/wreckfest/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Wreckfest",
- "description": "Setup and configuration guide for Wreckfest game servers",
- "category": "game",
- "order": 144
-}
\ No newline at end of file
+{
+ "name": "Wreckfest",
+ "description": "Setup and configuration guide for Wreckfest game servers",
+ "category": "game",
+ "order": 144,
+ "complete": false
+}
diff --git a/modules/billing/docs/wurmu/metadata.json b/modules/billing/docs/wurmu/metadata.json
index a7b59a0b..8e6000e7 100644
--- a/modules/billing/docs/wurmu/metadata.json
+++ b/modules/billing/docs/wurmu/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Wurm Unlimited",
- "description": "Setup and configuration guide for Wurm Unlimited game servers",
- "category": "game",
- "order": 145
-}
\ No newline at end of file
+{
+ "name": "Wurm Unlimited",
+ "description": "Setup and configuration guide for Wurm Unlimited game servers",
+ "category": "game",
+ "order": 145,
+ "complete": false
+}
diff --git a/modules/billing/docs/xonotic/metadata.json b/modules/billing/docs/xonotic/metadata.json
index 55b79d71..4882adaa 100644
--- a/modules/billing/docs/xonotic/metadata.json
+++ b/modules/billing/docs/xonotic/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Xonotic",
- "description": "Setup and configuration guide for Xonotic game servers",
- "category": "game",
- "order": 146
-}
\ No newline at end of file
+{
+ "name": "Xonotic",
+ "description": "Setup and configuration guide for Xonotic game servers",
+ "category": "game",
+ "order": 146,
+ "complete": false
+}
diff --git a/modules/billing/docs/zps/metadata.json b/modules/billing/docs/zps/metadata.json
index c11ab038..2c34ad6d 100644
--- a/modules/billing/docs/zps/metadata.json
+++ b/modules/billing/docs/zps/metadata.json
@@ -1,6 +1,7 @@
-{
- "name": "Zombie Panic! Source",
- "description": "Setup and configuration guide for Zombie Panic! Source game servers",
- "category": "game",
- "order": 149
-}
\ No newline at end of file
+{
+ "name": "Zombie Panic! Source",
+ "description": "Setup and configuration guide for Zombie Panic! Source game servers",
+ "category": "game",
+ "order": 149,
+ "complete": false
+}
diff --git a/modules/billing/update_metadata_complete.ps1 b/modules/billing/update_metadata_complete.ps1
new file mode 100644
index 00000000..2067139c
--- /dev/null
+++ b/modules/billing/update_metadata_complete.ps1
@@ -0,0 +1,46 @@
+# Update all metadata.json files to add "complete" field
+# Minecraft is marked as complete, all others are marked as incomplete (TODO)
+
+$docsPath = "c:\Users\FrankHarris\Desktop\Projects\Xampp\htdocs\GSP\modules\billing\docs"
+
+# Games that are complete
+$completeGames = @('minecraft')
+
+# Get all subdirectories
+$folders = Get-ChildItem -Path $docsPath -Directory
+
+$updated = 0
+$skipped = 0
+
+foreach ($folder in $folders) {
+ $metadataPath = Join-Path $folder.FullName "metadata.json"
+
+ if (Test-Path $metadataPath) {
+ # Read the metadata file
+ $json = Get-Content $metadataPath -Raw | ConvertFrom-Json
+
+ # Check if "complete" field already exists
+ if ($null -eq $json.complete) {
+ # Determine if this game is complete
+ $isComplete = $completeGames -contains $folder.Name
+
+ # Add the complete field
+ $json | Add-Member -MemberType NoteProperty -Name "complete" -Value $isComplete
+
+ # Write back to file with proper formatting
+ $json | ConvertTo-Json -Depth 10 | Set-Content $metadataPath -Encoding UTF8
+
+ Write-Host "Updated: $($folder.Name) - complete: $isComplete" -ForegroundColor Green
+ $updated++
+ } else {
+ Write-Host "Skipped: $($folder.Name) - already has complete field" -ForegroundColor Yellow
+ $skipped++
+ }
+ } else {
+ Write-Host "No metadata.json in: $($folder.Name)" -ForegroundColor Red
+ }
+}
+
+Write-Host "`nSummary:" -ForegroundColor Cyan
+Write-Host " Updated: $updated" -ForegroundColor Green
+Write-Host " Skipped: $skipped" -ForegroundColor Yellow