API Reference
Learn about plugin packets, generated C++ code structure, and how plugins communicate with GameCord.
Plugin Packet Structure
How it works: Each plugin you install generates a C++ header file (.h) with a packet class. You create instances of this packet, fill in the fields, and send it using your network manager.
Example: SystemNotification Plugin
This plugin sends rich Discord embeds. You configure the channel ID and embed template in the dashboard, then use the generated packet in your code.
✅ Result: A beautiful Discord embed appears in your configured channel with the title, description, color, and image you specified.
Common Packet Fields
Depending on the plugin and your configuration, packets may have these fields:
Analytics Plugins
Some plugins track data for analytics dashboards instead of sending Discord messages. These are configured as "Analytics Only" in the shop.
Tip: You can enable "Also send to Discord" in plugin settings to send analytics data to both the dashboard AND a Discord channel.
Plugin Builder (Advanced)
Custom Plugins: You can create your own plugins using the visual builder in your dashboard. Define packet fields, configure Discord embeds or analytics, and GameCord generates the C++ code automatically.
Creating a Custom Plugin
Navigate to Dashboard → Plugin Builder to create plugins tailored to your game's specific needs.
Discord Commands (Premium)
Interactive Discord Slash Commands
Create Discord slash commands that interact with your game server. For example, /link to link a Discord account to a game account.
Premium Feature: Discord command plugins require the Pro plan or higher.
Technical Details
Communication
- • WebSocket - Real-time bidirectional communication
- • SSL/TLS - Encrypted connections (port 443)
- • Auto-reconnect - Handles network interruptions
- • Async processing - Non-blocking game server
Generated Code
- • Jinja2 templates - Python-based code generation
- • msgpack serialization - Efficient binary format
- • Packet batching - Optimized network usage
- • Header-only - No .lib files needed