Go Agent Overview
The PixlPay Go Agent is a standalone delivery agent that connects to game servers via RCON. It's the recommended integration method for games that don't have native plugin support.
Features
- Automatic polling for pending deliveries
- RCON command execution
- Support for purchases, refunds, and chargebacks
- Dual-secret authentication
- Command history and delivery logging
- Interactive CLI mode for debugging
- Automatic reconnection with exponential backoff
- Runs as a background service
Supported Games
| Game | Status | Setup Guide |
|---|---|---|
| Project Zomboid | Fully Supported | Full Guide |
| Minecraft | Planned | Coming Soon |
| ARK: Survival Evolved | Planned | Coming Soon |
Download
Download the latest release for your platform:
| Platform | Download |
|---|---|
| Windows | store-agent.exe |
| Linux | store-agent-linux |
Downloads are available from your Pixlpay dashboard under Settings > Game Servers > Downloads.
Quick Start
1. Download the Agent
Get the appropriate version for your server's operating system.
2. Create Configuration
Create a pixlpay-config.json file in the same directory:
{
"platform_url": "https://api.pixlpay.com",
"store_secret": "YOUR_STORE_SECRET",
"server_secret": "YOUR_SERVER_SECRET",
"game_type": "project_zomboid",
"rcon_host": "127.0.0.1",
"rcon_port": 27015,
"rcon_password": "YOUR_RCON_PASSWORD",
"debug_mode": false
}3. Run the Agent
# Windows
./store-agent.exe
# Linux
./store-agent-linuxConfiguration Options
| Field | Required | Description |
|---|---|---|
platform_url | Yes | API endpoint (https://api.pixlpay.com) |
store_secret | Yes | Your store's API key from dashboard |
server_secret | Yes | This server's unique secret from dashboard |
game_type | Yes | Game identifier (e.g., project_zomboid) |
rcon_host | Yes | RCON server address (usually 127.0.0.1) |
rcon_port | Yes | RCON port from your game server config |
rcon_password | Yes | RCON password from your game server config |
debug_mode | No | Enable verbose logging (default: false) |
dev_mode | No | Use development API URL (default: false) |
dev_api_url | No | Custom API URL for development |
Command Line Options
# Show help
./store-agent.exe -help
# Use custom config file
./store-agent.exe -config=/path/to/pixlpay-config.json
# Interactive mode (with admin commands)
./store-agent.exe -interactive
# Show version
./store-agent.exe -versionInteractive Mode
Run with -interactive to access admin commands:
> status # Show agent status and configuration
> poll # Force immediate poll for commands
> queue # Show pending deliveries (waiting for players)
> history 10 # Show last 10 executed commands
> test # Test API connection
> debug # Toggle debug mode
> heartbeat # Send heartbeat to API
> help # Show all commands
> quit # Stop agentExample Session
========================================
PixlPay Store Agent v1.0.0
========================================
Game Type: project_zomboid
RCON Target: 127.0.0.1:27015
API Endpoint: https://api.pixlpay.com
========================================
Connecting to RCON at 127.0.0.1:27015...
RCON connection established!
Agent ready! Polling every 60s, heartbeat every 2m0s
> test
Testing API connection...
Connection successful! API returned status 200.
Server recognized: My PZ Server (ID: 123)
Pending commands: 0
> status
Agent Status:
- RCON: Connected
- API: Healthy
- Last Poll: 5 seconds ago
- Commands Executed: 42
- Pending Queue: 0Logs
The agent writes logs to the logs/ directory:
| Log File | Contents |
|---|---|
pixlpay-general_YYYY-MM-DD.log | All events (comprehensive log) |
pixlpay-deliveries_YYYY-MM-DD.log | Successful deliveries only |
pixlpay-errors_YYYY-MM-DD.log | Errors and warnings |
Log levels:
[INFO]- General information[DEBUG]- Verbose debug info (requiresdebug_mode: true)[WARN]- Warnings (also written to error log)[ERROR]- Errors (also written to error log)
Running as a Service
Windows (Using NSSM)
NSSM (Non-Sucking Service Manager) is recommended for Windows:
# Download NSSM from https://nssm.cc/download
# Open Command Prompt as Administrator
nssm install PixlPayAgent "C:\path\to\store-agent.exe"
nssm set PixlPayAgent AppDirectory "C:\path\to"
nssm set PixlPayAgent DisplayName "PixlPay Delivery Agent"
nssm set PixlPayAgent Description "Automatic delivery agent for game servers"
nssm set PixlPayAgent Start SERVICE_AUTO_START
nssm start PixlPayAgentManage the service:
nssm status PixlPayAgent # Check status
nssm stop PixlPayAgent # Stop service
nssm restart PixlPayAgent # Restart service
nssm remove PixlPayAgent # Remove serviceLinux (Using systemd)
Create /etc/systemd/system/pixlpay-agent.service:
[Unit]
Description=PixlPay Delivery Agent
After=network.target
[Service]
Type=simple
User=gameserver
WorkingDirectory=/home/gameserver/pixlpay
ExecStart=/home/gameserver/pixlpay/store-agent-linux
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.targetEnable and start:
sudo systemctl daemon-reload
sudo systemctl enable pixlpay-agent
sudo systemctl start pixlpay-agentManage the service:
sudo systemctl status pixlpay-agent # Check status
sudo systemctl stop pixlpay-agent # Stop service
sudo systemctl restart pixlpay-agent # Restart service
journalctl -u pixlpay-agent -f # Follow logsDirectory Structure
Recommended setup:
/home/gameserver/pixlpay/
├── store-agent-linux # The agent executable
├── pixlpay-config.json # Your configuration
├── data/
│ └── agent_data.json # Persistent data (auto-created)
└── logs/
├── pixlpay-general_2025-01-15.log
├── pixlpay-deliveries_2025-01-15.log
└── pixlpay-errors_2025-01-15.logTiming Constants
These values are hardcoded and not user-configurable:
| Constant | Value | Purpose |
|---|---|---|
| Poll Interval | 60 seconds | Time between API polls |
| Heartbeat Interval | 2 minutes | Time between status updates |
| Initial Retry Delay | 5 seconds | Initial RCON retry delay |
| Max Retry Delay | 5 minutes | Maximum RCON retry delay |
| Request Timeout | 10 seconds | HTTP request timeout |
Notification Types
The agent handles three notification types:
| Type | Description | Execution |
|---|---|---|
purchase_notification | Player purchased item | Execute immediately or queue |
refund_notification | Refund issued | Execute immediately |
chargeback_notification | Payment disputed | Execute immediately |
Security Considerations
- Run as non-root user - Create a dedicated user for the agent
- Secure config file - Restrict permissions on
pixlpay-config.json - Use localhost for RCON - If running on same machine, use
127.0.0.1 - Strong RCON password - Use at least 16 random characters
- Never commit config - Add
pixlpay-config.jsonto.gitignore
Game-Specific Guides
- Project Zomboid Setup Guide - Complete PZ integration
Troubleshooting
See the Troubleshooting Guide for common issues and solutions.
