SkillAgentSearch skills...

Gameap

Free and open-source game server management panel

Install / Use

/learn @gameap/Gameap
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

GameAP Logo

GameAP

Coverage Status GitHub Actions Workflow Status Discord

GameAP is a free and open-source game server management panel that allows you to easily manage and deploy game servers. It provides a user-friendly web interface for managing game servers, users, and configurations.

Demo: https://demo.gameap.com

Requirements

You don't need to pre-install any dependencies. GameAP is distributed as a single binary file that includes all necessary dependencies.

You don't need any special hardware to run the application. A basic server with at least 1GB of RAM and a modern CPU should be sufficient for small to medium-sized deployments.

You can run the panel on different operating systems and database backends.

Operating System

GameAP can be installed on the following operating systems:

  • Linux (Ubuntu, Debian, CentOS, etc.)
  • Windows Server (2016, 2019, 2022, 2025), Windows 10, Windows 11
  • MacOS

Architecture

GameAP follows a three-tier architecture consisting of the web panel, daemon agents, and game servers.

Administrators interact with GameAP through a browser via HTTP/HTTPS. The panel provides a web UI and a REST API, and stores its data in a database, which can be either PostgreSQL, MySQL, or SQLite, depending on the deployment.

Each GameAP instance can communicate with one or more nodes where game servers are hosted. On every node, a lightweight agent called GameAP Daemon runs alongside the game servers. The daemon is responsible for controlling game server processes (starting, stopping, monitoring, and configuring them). It supports Windows, Linux, and macOS and offers a wide range of configuration options.

Database

GameAP supports the following databases:

  • PostgreSQL
  • MySQL / MariaDB
  • SQLite
  • Inmemory (for testing purposes only). Not persistent, data will be lost on restart.

Quick Start with Docker

The fastest way to get started with GameAP is using Docker:

# Using Docker Compose (recommended)
docker-compose up -d

# Or pull and run the pre-built image
docker pull gameap/gameap:latest
docker run -d -p 8025:8025 \
  -e DATABASE_DRIVER=sqlite \
  -e DATABASE_URL=file:/db.sqlite?_busy_timeout=5000&_journal_mode=WAL&cache=shared \
  -e ENCRYPTION_KEY=your-secret-key \
  -e AUTH_SECRET=your-auth-secret \
  gameap/gameap:latest

Access GameAP at http://localhost:8025

For detailed Docker deployment instructions, see DOCKER.md.

Configuration

GameAP is configured via environment variables. Below are the available configuration options:

Server Configuration

  • HTTP_HOST - HTTP server host (default: 0.0.0.0)
  • HTTP_PORT - HTTP server port (default: 8025)
  • HTTPS_PORT - HTTPS server port (default: 443)

TLS Configuration

  • TLS_CERT_FILE - Path to TLS certificate file
  • TLS_KEY_FILE - Path to TLS private key file
  • TLS_CERT - TLS certificate content (PEM or base64 encoded)
  • TLS_KEY - TLS private key content (PEM or base64 encoded)
  • TLS_FORCE_HTTPS - Force redirect HTTP to HTTPS (default: false)

Database Configuration

  • DATABASE_DRIVER - Database driver (required, options: mysql, postgres, sqlite, inmemory)
  • DATABASE_URL - Database connection URL (required)
    • MySQL: username:password@tcp(host:port)/database?parseTime=true
    • PostgreSQL: postgres://username:password@host:port/database?sslmode=disable
    • SQLite: file:path/to/database.db?_busy_timeout=5000&_journal_mode=WAL&cache=shared (parameters recommended for production)
    • Inmemory: For inmemory, this can be left empty.

Security Configuration

  • ENCRYPTION_KEY - Encryption key for sensitive data
  • AUTH_SECRET - Secret key for PASETO/JWT token generation (if not set, uses ENCRYPTION_KEY)
  • AUTH_SERVICE - Authentication service type (default: paseto)

RBAC Configuration

  • RBAC_CACHE_TTL - Role-based access control cache TTL (default: 30s)

Cache Configuration

  • CACHE_DRIVER - Cache driver (options: memory, redis, postgres, default: memory)

Redis Cache

Used when CACHE_DRIVER is set to redis.

  • CACHE_REDIS_ADDR - Redis server address (default: localhost:6379)
  • CACHE_REDIS_PASSWORD - Redis password
  • CACHE_REDIS_DB - Redis database number (default: 0)

Cache TTL

  • CACHE_TTL_RBAC - Cache TTL for RBAC data (default: 24h)
  • CACHE_TTL_GAMES - Cache TTL for games (default: 48h)
  • CACHE_TTL_NODES - Cache TTL for nodes (default: 24h)
  • CACHE_TTL_USERS - Cache TTL for users (default: 6h)
  • CACHE_TTL_PERSONAL_TOKENS - Cache TTL for personal tokens (default: 24h)
  • CACHE_TTL_SERVER_SETTINGS - Cache TTL for server settings (default: 12h)

File Storage Configuration

  • FILES_DRIVER - File storage driver (options: local, s3)

Local Storage

Used when FILES_DRIVER is set to local.

  • FILES_LOCAL_BASE_PATH - Base path for local file storage

S3 Storage

Used when FILES_DRIVER is set to s3.

  • FILES_S3_ENDPOINT - S3-compatible endpoint URL
  • FILES_S3_USE_SSL - Use SSL for S3 connections (default: true)
  • FILES_S3_ACCESS_KEY_ID - S3 access key ID
  • FILES_S3_SECRET_ACCESS_KEY - S3 secret access key
  • FILES_S3_BUCKET - S3 bucket name

Legacy Configuration

  • LEGACY_PATH - Path to legacy GameAP installation (default: /var/www/gameap/)
  • LEGACY_ENV_PATH - Path to legacy .env file (default: /var/www/gameap/.env)

Global API Configuration

  • GLOBAL_API_URL - Global GameAP API URL for game updates (default: https://api.gameap.com)

Logger Configuration

  • LOGGER_LEVEL - Log level (options: debug, info, warn, error, default: info)
  • LOGGER_LOG_DB_QUERIES - Enable database query logging (default: false)

UI Configuration

  • DEFAULT_LANGUAGE - Default UI language code

Plugins Configuration

  • PLUGINS_DISABLED - Disable plugins support (default: false)

Plugin Store Configuration

  • PLUGIN_STORE_URL - GameAP plugin store URL (default: https://plugins.gameap.dev/api)
  • PLUGIN_STORE_LICENSE_KEY - License key for plugin store

Example Configuration

# Server
HTTP_HOST=0.0.0.0
HTTP_PORT=8025

# TLS (optional)
# TLS_CERT_FILE=/path/to/cert.pem
# TLS_KEY_FILE=/path/to/key.pem
# TLS_FORCE_HTTPS=true

# Database
DATABASE_DRIVER=mysql
DATABASE_URL=gameap:password@tcp(localhost:3306)/gameap?parseTime=true

# Security
ENCRYPTION_KEY=your-secure-encryption-key-here
AUTH_SECRET=your-secure-auth-secret-here
AUTH_SERVICE=paseto

# Cache
CACHE_DRIVER=memory
# For Redis cache:
# CACHE_DRIVER=redis
# CACHE_REDIS_ADDR=localhost:6379

# File Storage
FILES_DRIVER=local
FILES_LOCAL_BASE_PATH=/var/lib/gameap/files

# Legacy
LEGACY_PATH=/var/www/gameap/

# Global API
GLOBAL_API_URL=https://api.gameap.com

# Logger
LOGGER_LEVEL=info

# Plugins
# PLUGINS_DISABLED=false

# Plugin Store
# PLUGIN_STORE_URL=https://plugins.gameap.dev/api
# PLUGIN_STORE_LICENSE_KEY=your-license-key
View on GitHub
GitHub Stars20
CategoryDevelopment
Updated5h ago
Forks4

Languages

Go

Security Score

95/100

Audited on Apr 7, 2026

No findings