Skip to main content
This guide will walk you through using GamePanelX for the first time, from logging in to creating and managing your first game server.

Prerequisites

Before starting this guide, ensure you have:
  • Completed the Installation process
  • Deleted the install directory
  • Access to your admin credentials

Accessing the Admin Panel

1

Navigate to Admin Login

Open your web browser and go to the admin panel:
http://your-domain.com/admin/
You’ll see the GamePanelX admin login page.
2

Log In

Enter your administrator credentials:
  • Username: The admin username you created during installation (default: admin)
  • Password: Your admin password
Click Login or press Enter to authenticate.
The login form is located in /admin/login.php and uses AJAX for authentication. Your session is stored securely with session variables gpx_userid and gpx_type.
3

Explore the Dashboard

After successful login, you’ll be redirected to the main admin dashboard at /admin/index.php.The dashboard provides quick access to:
  • Server management
  • User accounts
  • Game templates
  • Network configuration
  • System settings

Understanding the Architecture

Before creating servers, it’s important to understand GamePanelX’s core concepts:

Network Servers

Physical or virtual machines that host game servers. The installer creates a local network server automatically.

Templates

Pre-configured game server packages stored as .tar.gz archives in _SERVERS/templates/. Used for quick server deployment.

Game Servers

Individual game server instances running on network servers, created from templates.

Users

Client accounts that can own and manage game servers through the client portal.

Creating Your First Game Template

Game servers are created from templates. Let’s create a template first:
1

Navigate to Templates

From the admin dashboard, click Templates in the navigation menu.
2

Add New Template

Click Create Template or Add New button.You’ll need to provide:
  • Network Server: Select your local server (created during installation)
  • Game Type: Choose from supported games in the default_games table
  • Description: A friendly name for this template (e.g., “CS:GO Standard”)
  • Installation Method: Choose one of:
    • Archive Path: Path to a .tar.gz file with game files
    • Steam/SteamCMD: Automatic installation via Steam (requires Steam credentials)
    • Auto Install: Custom installation script with mirrors
3

Configure Installation

For Archive-Based Installation

# Place your game files in the templates directory
/path/to/gpx/_SERVERS/templates/game-files.tar.gz

For Steam/SteamCMD Installation

The template system uses the _SERVERS/scripts/SteamInstall or _SERVERS/scripts/SteamCMDInstall scripts.Configure Steam credentials in Settings first:
  • Navigate to AdminSettings
  • Enter your Steam username and password
  • Save settings
SteamCMD templates require valid Steam credentials. Some games also require Steam Guard authentication codes.
4

Monitor Template Creation

The template creation process runs in the background:
  1. A remote token is generated for callbacks
  2. The appropriate installation script is executed on the network server
  3. Files are extracted or downloaded to _SERVERS/templates/{template_id}.tar.gz
  4. Status updates are sent back via callback to /includes/callback.php
You can check the status in the Templates list. Status indicators include:
  • running - Template is being created
  • steam_running - Steam installation in progress
  • completed - Template is ready for use
  • failed - Installation encountered an error

Creating a Game Server

Once you have a template, you can create game servers:
1

Navigate to Servers

From the admin dashboard, click ServersAdd Server.This loads /admin/serveradd.php.
2

Configure Server Settings

Fill in the server creation form:

Network Configuration

  • Network Server: Select the network server to host this game server
  • Server Type: Choose the game/template (templates filtered by selected network)

Ownership

  • Owner: Select a user account (the installer creates an example user by default)

Server Details

  • Port: The game server port (e.g., 27015 for Source games)
  • Description: Optional description for this server instance
The system automatically checks if the IP:Port combination is already in use to prevent conflicts.
3

Create the Server

Click Create Server to begin the server creation process.The _SERVERS/scripts/CreateServer script is executed with parameters:
CreateServer -u <username> -i <ip> -p <port> -x <template_id> \
  -s yes -P server.pid -o './startup-command'
The script:
  1. Creates the server directory: _SERVERS/accounts/<username>/<ip>.<port>/
  2. Extracts the template archive to the server directory
  3. Sets up proper permissions and ownership
  4. Optionally starts the server if configured
4

Verify Server Creation

Once created, your server appears in the Servers list with:
  • Server IP and port
  • Owner username
  • Current status (online/offline)
  • Game type
  • Description

Managing Game Servers

GamePanelX provides several management actions through /ajax/server_actions.php:

Start/Restart Server

// The admin interface uses AJAX calls
server_restart(server_id);
The restart action:
  1. Retrieves server info from the servers table
  2. Updates the configuration file with current settings
  3. Executes _SERVERS/scripts/Restart with parameters:
    Restart -u <username> -i <ip> -p <port> -P <pid_file> \
      -w <working_dir> -o '<startup_command>'
    

Stop Server

server_stop(server_id);
Executes the _SERVERS/scripts/Stop script to gracefully shut down the game server.

Update Server

For Steam-based servers, you can run updates:
server_update(server_id);
Executes the _SERVERS/scripts/UpdateServer script with the configured update command.

Server Configuration Files

GamePanelX automatically manages game server configuration files. When you modify settings through the web interface:
  1. Settings are stored in the database (servers table)
  2. On restart, configupdate() method updates the actual config file
  3. The config file path is defined in default_games.config_file
  4. Settings use the separator defined in default_games.cfg_separator
Common configuration variables:
  • cfg_ip - Server IP address
  • cfg_port - Server port
  • cfg_maxplayers - Maximum players
  • cfg_map - Default map
  • cfg_hostname - Server hostname
  • cfg_rcon - RCON password
  • cfg_password - Server password

Accessing the Client Portal

Your users can manage their servers through the client portal:
1

Client Login

Users access the client portal at:
http://your-domain.com/
They log in with their username and password (stored in the users table).
2

Server Management

From the client interface (/index.php), users can:
  • View their game servers
  • Start/stop/restart servers
  • View server status and player count (via GameQ integration)
  • Access file manager for server files
  • View server console output
  • Modify basic settings
3

File Management

The file manager allows users to:
  • Browse server directories
  • Edit configuration files
  • Upload/download files
  • Create/delete directories
  • Set file permissions
All file operations use the _SERVERS/scripts/ scripts for security.

Server Monitoring with GameQ

GamePanelX includes GameQ v2 integration for real-time server querying:
// Example from includes/classes/servers.php
public function query($srv_arr)
{
    require(DOCROOT.'/includes/GameQ/GameQ.php');
    
    $server = array(
        'id' => $srv_arr[0]['id'],
        'type' => $srv_arr[0]['gameq_name'],
        'host' => $srv_arr[0]['ip'].':'.$srv_arr[0]['port']
    );
    
    $gq = new GameQ();
    $gq->addServer($server);
    $gq->setOption('timeout', 5);
    $gq->setFilter('normalise');
    $results = $gq->requestData();
    
    return $results;
}
This provides:
  • Online/offline status
  • Current player count
  • Maximum players
  • Current map
  • Server hostname

Common Workflows

Adding Multiple Servers

# The CreateServer script can be called directly
cd /path/to/gpx/_SERVERS/scripts
./CreateServer -u player1 -i 192.168.1.100 -p 27015 -x 5 -s yes
./CreateServer -u player2 -i 192.168.1.100 -p 27016 -x 5 -s yes

Bulk User Creation

Create multiple users for your game servers:
  1. Navigate to UsersAdd User
  2. Fill in user details (username, password, email, name)
  3. The system creates:
    • User account in the users table
    • Encrypted credentials for SSH access
    • System user on network servers (via _SERVERS/scripts/CreateUser)

Next Steps

Now that you have GamePanelX running:

Server Management

Learn advanced server creation and management techniques

User Management

Manage user accounts and permissions

Network Configuration

Add and configure additional network servers

Templates

Create custom game server templates

Troubleshooting

Server Won’t Start

Check the server logs:
# View GamePanelX logs
tail -f _SERVERS/logs/servers.log
tail -f _SERVERS/logs/gpx.log

# Check server-specific output
cat _SERVERS/accounts/<username>/<ip>.<port>/console.log

Permission Issues

Ensure proper ownership:
# All server files should be owned by the web server user
sudo chown www-data: _SERVERS/accounts/<username>/<ip>.<port> -R

Port Already in Use

GamePanelX checks for port conflicts, but you can verify manually:
# Check if port is in use
sudo netstat -tulpn | grep <port>

# Kill process using the port if needed
sudo kill -9 <pid>

Template Creation Fails

Check template status and logs:
  1. Navigate to Templates in admin panel
  2. Check the status column
  3. Review /var/log/syslog or _SERVERS/logs/templates.log for errors
For Steam-based templates, ensure your Steam credentials are valid and Steam Guard is configured properly in the settings.

Build docs developers (and LLMs) love