Products & Servers
Configure products, pricing models, and server lifecycle in PteroCA.
Overview
Products are the server packages you offer to customers in your PteroCA shop. Each product defines the resources, pricing, and game types available for purchase. This guide covers configuring products and understanding how servers are managed throughout their lifecycle.
Key Concepts:
Product - The template you configure (resources, pricing, nodes, eggs)
Server - The actual game server created when a customer purchases a product
Product Snapshot - An immutable copy of product settings at purchase time (ensures customers keep what they paid for)
Categories - Organize products in your shop for easier browsing
Creating Products
Product Configuration Tabs
When creating a product, you'll configure four main areas:
1. Details Tab
Product name and description
Category assignment
Active/inactive status
Product image (shown in shop)
Banner image (shown on product page)
2. Server Resources Tab
Disk space (MB)
RAM memory (MB)
CPU allocation (%)
I/O priority
Database count
Backup slots
Port allocations
Scheduled tasks limit
3. Pricing Tab
Choose pricing model (Static, Slot-based, or On-Demand)
Configure prices for different billing periods
Set discount pricing for longer commitments
4. Product Connections Tab
Select Pterodactyl nodes where servers can be created
Choose nest (game category)
Select available eggs (game versions)
Configure egg variables and defaults
Set whether customers can change eggs
Quick Setup Example
Let's configure a Minecraft server product:
Step 1: Basic Details
Name: "Minecraft Basic Server"
Category: Minecraft Servers
Active: Yes
Description: "Perfect starter server for small communities"

Step 2: Server Resources
Disk: 10240 MB (10 GB)
RAM: 2048 MB (2 GB)
CPU: 100% (1 core)
Databases: 1
Backups: 2
Ports: 1

Step 3: Pricing (covered in next section)
Step 4: Product Connections
Nodes: Select your Minecraft-capable nodes
Nest: Minecraft
Eggs: Vanilla Minecraft, Paper, Spigot
Allow egg changes: Yes

Configuring Egg Variables
Each egg has default configuration options and variables. You can customize these for your product:
Default Configuration:
Startup Command - Sets how the server starts (e.g., Java memory allocation)
Docker Image - The container image used
Variables:
Version - Game version to install (e.g., SpongeVanilla version)
Server Jar File - Main executable file name
You can control which settings customers can view or edit after purchase.

Configuration options vary by egg. Different game types have different variables and requirements.
Pricing Models
PteroCA supports three pricing models. Choose the one that best fits your product:
Static Pricing (Recommended)
How it works: Fixed price per billing period
Best for: Traditional hosting plans with predictable costs
Configuration:
Monthly (30 days): $5.00
Quarterly (90 days): $13.50 (10% discount)
Semi-annually (180 days): $24.00 (20% discount)
Annually (365 days): $48.00 (20% discount)
Advantages:
Simple for customers to understand
Predictable revenue
Most common model in hosting industry
Renewal: Customers pay the same amount at each renewal
Slot-Based Pricing
How it works: Base price + additional cost per player slot
Best for: Games where player count matters (Minecraft, ARK, Rust)
Configuration:
Base price: $3.00/month
Price per slot: $0.50/month
Example: 20 slots = $3.00 + (20 × $0.50) = $13.00/month
Advantages:
Flexible pricing based on server size
Customers can choose their capacity
Fair pricing (pay for what you use)
Note: Requires proper slot variable configuration in the egg
On-Demand Pricing (Experimental)
How it works: Pay only when server is running (per hour/day)
Best for: Testing environments, rarely-used servers
Configuration:
Price per hour/day
Charges only accumulate when server is online
Automatic billing based on usage
Experimental Feature
On-demand pricing is experimental and may not work correctly in all scenarios. Use static pricing for production environments.
Advantages:
Cost-effective for intermittent use
Customers pay for actual usage
Disadvantages:
Unpredictable costs for customers
More complex billing
Not fully tested
Pricing Strategy Tips
Encourage longer commitments:
Offer 10-15% discount for quarterly
Offer 20-25% discount for annual
Makes pricing attractive while ensuring customer retention
Keep it simple:
Round to clean numbers ($5.00, not $4.87)
Make discounts obvious (show savings)
Don't offer too many period options
Competitive pricing:
Research competitor pricing
Consider your actual costs (resources, overhead)
Balance profitability with market rates
Categories
Categories organize your products in the shop, making it easier for customers to find what they need.
Category Management
To manage categories:
Go to Shop → Categories
Create, edit, or delete categories
Set priority (lower number = displayed first)
Category Fields:
Name - Display name (e.g., "Minecraft Servers")
Description - Brief explanation of category
Image - Visual icon for the category
Priority - Sort order (10, 20, 30, etc.)
Organization Strategies
By Game Type:
Minecraft Servers
ARK Servers
Rust Servers
CS:GO Servers
Voice Servers (TeamSpeak, Mumble)
By Tier:
Starter Plans
Professional Plans
Enterprise Plans
By Location:
US East Servers
EU West Servers
Asia Pacific Servers
Best Practices:
Keep 5-10 categories maximum
Use clear, descriptive names
Add category images for visual appeal
Use priority gaps (10, 20, 30) so you can insert categories later
Server Lifecycle
Purchase and Creation
When a customer purchases a product:
Customer selects product and billing period - Chooses from available pricing options
Payment processed - Balance deducted or payment gateway charged
Product snapshot created - Exact configuration saved (immutable)
Server provisioned - Created on selected Pterodactyl node
Expiration date set - Based on billing period (e.g., 30 days)
Important: The server keeps the exact resources and pricing from purchase time, even if you later change the product configuration.
Server Renewals
Automatic Renewals:
Customers can enable auto-renewal on their servers
System checks expiring servers periodically
If auto-renewal enabled and balance sufficient, server automatically renews
Balance deducted, expiration date extended
Manual Renewals:
Customers can manually renew before expiration
Choose same or different billing period
Payment processed immediately
Renewal Notifications:
Configure in Settings → Email
Enable renewal notifications
Set how many hours before expiration to notify
Customers receive email reminder
Server Suspension
What happens when server expires without renewal:
Grace period ends - Expiration date passes
Auto-renewal attempted - If enabled and balance available
Server suspended - If renewal fails or not enabled
Customer notified - Email sent about suspension
Server stopped - No longer accessible in Pterodactyl
While suspended:
Server data preserved
Customer can view server but not start it
Can renew to restore access
Automatic Deletion
Configure in Settings → General:
Enable automatic deletion - Delete suspended servers after X days
Days after suspension - How long to wait (e.g., 30 days)
Deletion process:
Server suspended for configured period
System checks daily for eligible servers
Server permanently deleted (including all data)
Customer notified of deletion
Permanent Data Loss
Deleted servers cannot be recovered. Ensure customers are aware of deletion policies in your Terms of Service.
Best Practices:
Set reasonable grace period (30-60 days)
Send multiple reminders before deletion
Clearly communicate policy to customers
Consider offering backup downloads before deletion
Vouchers
Vouchers provide discounts or credits to customers. You can create vouchers for promotions, referrals, or customer retention.
Voucher Types
Server Discount:
Percentage or fixed amount off server purchases
Applied at checkout
Example: "LAUNCH25" for 25% off first month
Payment Discount:
Discount when adding balance
Example: "TOPUP10" for 10% extra balance
Balance Top-up:
Free credits added to balance
Example: "WELCOME5" for $5 free credit
Using Vouchers with Products
Set minimum order amounts
Limit to new accounts only
Set expiration dates
Control global usage limits
One-time or reusable per user
For detailed voucher configuration, see Vouchers.
Best Practices
Product Naming
Good examples:
"Minecraft Basic" - Clear and specific
"ARK 20-Slot Server" - Includes key info
"Premium Rust Server" - Indicates tier
Avoid:
"Server 1" - Not descriptive
"Best plan ever" - Vague
Internal node names
Resource Planning
Balance your allocations:
RAM is most critical for server performance
Disk space for mods, maps, and worlds
CPU for tick rate and world generation
Backups for data protection
Don't oversell:
Check node capacity before creating products
Leave headroom for system overhead
Monitor actual resource usage
Adjust products based on real data
Product Organization
Keep shop clean:
Mark outdated products as inactive instead of deleting
Use categories effectively
Update egg selections when new versions release
Regular health checks on all products
Active vs Inactive:
Active: Visible and purchasable
Inactive: Hidden but preserved
Inactive better than deletion (keeps historical data)
Testing
Before activating new products:
Test purchase flow
Verify server creation works
Check all egg options
Test renewal process
Validate pricing calculations
Troubleshooting
Product Shows as Unhealthy
Symptoms: Red warning icon, cannot be purchased
Common causes:
Selected eggs don't exist on all nodes
Node is offline or deleted
Nest or egg removed from Pterodactyl
No pricing configured
Solutions:
Check which eggs are missing: Review error message
Add missing eggs to nodes in Pterodactyl
Remove unavailable nodes from product
Verify at least one price is configured
Check node connectivity
Cannot Purchase Product
If customers report they can't buy your product:
Check these settings:
Product is marked as Active
Product shows as Healthy (green)
At least one node selected
At least one egg selected
Pricing configured for at least one period
Category exists and is accessible
Server Not Renewing
If auto-renewal isn't working:
Verify:
Auto-renewal enabled on the server
Customer has sufficient balance
No errors in renewal logs
Cron jobs are running correctly
Email notifications configured
Common issues:
Insufficient balance (most common)
Server already suspended
Payment gateway issues
Wrong Resources After Purchase
If server has different resources than expected:
Remember: Servers use a snapshot of product configuration at purchase time. Editing the product doesn't affect existing servers.
To check:
View server details, not product details
Check purchase date vs product edit date
Servers keep their purchased resources forever
To update existing servers:
Manual upgrade (resource modification)
Customer must repurchase
Pricing Not Displaying Correctly
If prices show wrong amounts:
Check:
Correct pricing model selected (Static/Slot/On-Demand)
All price fields filled correctly
For slot pricing: base price + slot multiplier configured
Currency settings in Settings → Payment
Egg Variables Not Applying
If custom egg settings don't work:
Troubleshoot:
Variable names must match Pterodactyl egg exactly
Check JSON structure is valid
Test by creating a server manually
Verify visibility/editable settings
Compare with egg export from Pterodactyl
Related Documentation
Configuration Guides:
System Configuration - Core system settings
Payment Settings - Stripe, currencies
Email Settings - Renewal notifications
Admin Panel Guides:
Managing Products - Detailed UI walkthrough
Vouchers - Complete voucher guide
Managing Servers - Server administration
Advanced Topics:
Pterodactyl Integration - API setup, nodes, eggs
Access Control - Permissions for product management
Need Help?
If you encounter issues not covered here, join our Discord server for community support!
Last updated