Skip to main content

Introduction to HyperHQ Plugins

Welcome to the HyperHQ Plugin Development Guide! This documentation will help you create powerful plugins that extend HyperHQ's functionality.

What are HyperHQ Plugins?

HyperHQ plugins are executable programs that run alongside HyperHQ and communicate with it through a secure Socket.IO interface. Plugins can:

  • 🎮 Access game data - Read and manipulate game metadata, media, and settings
  • 🔄 Sync external services - Integrate with cloud storage, databases, and APIs
  • 🎨 Customize the UI - Add custom settings and controls to HyperHQ
  • 📊 Process data - Scan, analyze, and transform game collections
  • 🔌 Real-time communication - Receive events and send updates via Socket.IO

Why Build Plugins?

Plugins allow you to:

  • Extend functionality without modifying HyperHQ's core code
  • Share tools with the community
  • Automate tasks like media downloads and metadata updates
  • Integrate services from other gaming platforms
  • Customize workflows to match your needs

Development Languages

Choose the language that fits your needs:

LanguageBest ForDifficulty
PythonBeginners, rapid prototyping⭐ Easy
GoPerformance, small executables⭐⭐ Medium
C#Windows development, .NET⭐⭐ Medium
JavaScriptEmbedded plugins, UI⭐ Easy

Plugin Architecture

┌─────────────┐
│ HyperHQ │
│ │
│ ┌─────────┐ │ Socket.IO (Port 52789)
│ │ Socket │◄├────────────────────────────┐
│ │ Server │ │ │
│ └─────────┘ │ │
└─────────────┘ │

┌────────────▼─────────────┐
│ Your Plugin │
│ │
│ • Authenticates │
│ • Registers │
│ • Handles events │
│ • Requests data │
│ • Sends responses │
└──────────────────────────┘

Authentication Flow

HyperHQ uses challenge-response authentication for security:

  1. HyperHQ launches your plugin → Generates unique challenge
  2. Plugin starts → Reads challenge from environment variable
  3. Plugin connects → Authenticates with challenge
  4. HyperHQ validates → Issues session token
  5. Plugin stores token → Uses for all requests

Next Steps

👉 Ready to build? Check out the Developer Onboarding Guide to get started!