Order Generation
Detailed guide to the automatic order generation system.
Overviewโ
The order generation system automatically creates orders at configurable intervals, selecting items from configured pools and calculating prices dynamically.
Generation Processโ
- Scheduler Check: Checks if it's time to generate orders
- Player Check: Verifies minimum players online
- Item Selection: Randomly selects item from pools
- Price Calculation: Calculates price using shop integration or fallback
- Order Creation: Creates order via Sigma Orders API
- Next Schedule: Schedules next generation
Configurationโ
Generation Intervalsโ
generation:
min-interval-minutes: 5
max-interval-minutes: 15
The system generates orders at random intervals between min and max.
Player Requirementsโ
generation:
min-players-online: 1 # 0 = disabled
Orders only generate when minimum players are online.
Order Limitsโ
generation:
max-orders-per-interval: 3
Maximum orders generated per generation cycle.
Player Count Scalingโ
When enabled, generation frequency scales with player count:
generation:
player-count-scaling: true
player-thresholds:
low: 5
medium: 15
high: 30
- Below low: Slower generation
- Between low and high: Normal generation
- Above high: Faster generation
Peak Hoursโ
Increase generation during peak hours:
generation:
peak-hour-multiplier: 1.5
peak-hours:
- start: 18
end: 22
Multiple peak hour ranges supported.
Item Selectionโ
Items are selected from configured material pools:
- Select pool based on weights
- Select material from pool
- Generate quantity based on pool ranges
- Apply enchantments (if enabled)
Order Creationโ
Orders are created with:
- System UUID (UUID(0, 0))
- Selected item and quantity
- Calculated price
- Priority (normal or urgent)
- Timestamp
Auto-Collection Systemโ
System orders (addon-generated orders) are automatically collected when fully delivered:
- Automatic Collection: When a random order is fully delivered, it's automatically collected
- Database Cleanup: Prevents data accumulation in the database
- Performance: Improves server performance by removing completed orders
- No Manual Action: No player action required - happens automatically
This feature ensures that completed random orders don't accumulate in the database, keeping the system clean and performant.
Database Reconnection Handlingโ
The addon includes improved database reconnection handling:
- Single Retry: If database connection fails, the addon attempts one retry after a short delay
- No Infinite Loops: Prevents infinite retry loops that could cause performance issues
- Error Detection: Automatically detects database initialization errors
- Graceful Degradation: If reconnection fails, the order is skipped for that iteration
This ensures reliable order generation even when the core plugin's database is temporarily unavailable.
Next Stepsโ
- Pricing System - How prices are calculated
- Configuration - Configuration guide