On this page
- Key facts in 30 seconds
- How production is calculated — lazy on triggers
- Update trigger = lazy reconciliation
- Bonus stacking
- Slider mechanics and bulk toggles
- Worked example
- Bulk «off» vs «offl»
- Why do resources «jump» when I open a planet?
- What happens if I lower a slider to 70%?
- How does vacation mode affect it?
- Does bulk «off» stop everything on planet?
- Can production go negative?
- For min-maxers
- Quick citation reference
- What to read next
Key facts in 30 seconds
- Production does NOT run every second — lazy reconciliation on triggers
- Gain = round(DeltaT × perhour / 3600), clamp to Max × OverflowFactor
- Slider 0..10 = factor 0.1, affects BOTH production AND consumption
- EffectiveBonus = (1 + local additive) × (1 + global multipliers)
- Bulk toggles: off/offl/on for fast mine/science switching
How production is calculated — lazy on triggers
Resource production in Xterium does NOT run every second — that would be huge load. The game computes DeltaT (seconds since last update) and applies the per-hour formula on demand at specific triggers:
| Update trigger | When it fires |
|---|---|
| Просмотр интерфейса планеты | Каждое открытие планетной страницы |
| Миссия флота | Атака, возврат, шпионаж |
| Открытие галактики/обзора | Любое отображение использующее ресурсы |
| Постройка/исследование готово | При завершении любого процесса |
| Background cron task | Server-side периодическая синхронизация |
The player sees this: open a planet after 5 minutes — resources «jump» up. That's DeltaT firing.
Update trigger = lazy reconciliation
Each time a trigger fires:
DeltaT = now − planet.last_update
Gain_r = round(DeltaT × perhour_r / 3600)
Stock_r = clamp(Stock_r + Gain_r, 0, Max_r × OverflowFactor)
round(...) is applied per resource per tick. Repeated ticks can create rounding drift — tiny cumulative gain/loss around fractional boundaries. Normal and within tolerance.
Bonus stacking
EffectiveBonus = (1 + Σ local additive) × (1 + Σ global multipliers)
Local additive (planet bonuses from senators, boosters) sum first. Global multipliers (account-wide or event) apply AFTER. Result feeds perhour_r, which can be further throttled by energy.
Slider mechanics and bulk toggles
Resource panel lets you set building output in 10% steps (0% to 100%). Key: slider affects BOTH production AND energy consumption proportionally:
| Action | Affects | Effect |
|---|---|---|
| Slider 100% (10) | Per-building | Полное производство + полное потребление энергии |
| Slider 70% (7) | Per-building | 70% производства + 70% потребления (linear) |
| Slider 0% (0) | Per-building | Полная остановка building |
| Bulk «off» | Mines (1,2,3) | Останавливает только рудники, science работает |
| Bulk «offl» | Science (6,31) | Останавливает только science, рудники работают |
| Bulk «on» | Mines + science | Все сразу на 100% |
BuildLevelFactor = slider_value × 0.1 (slider 0..10)
Worked example
Metal mine: base output = 12,000/h, base energy use = 3,000/h.
At 60% (slider=6):
- BuildLevelFactor = 6 × 0.1 = 0.6
- effective metal = 12,000 × 0.6 = 7,200/h
- effective energy use = 3,000 × 0.6 = 1,800/h
Meaning: at energy deficit, better to lower ALL mine sliders to 80-90% than to keep 1-2 at 100% and others at 0%. Production loss is smaller with proportional reduction.
Bulk «off» vs «offl»
off— disables core mines (Metal/Crystal/Deuterium IDs 1,2,3). Useful during raid windows when you want to preserve visible stock.offl— disables science sliders (IDs 6, 31). Useful if you need to cut science energy/resource pressure while mines keep producing.on— everything to 100%.
Why do resources «jump» when I open a planet?
Game doesn't update every second — that would tax the server. Instead: on your first trigger (open planet / fleet arrives) DeltaT is computed and accumulated added at once.
What happens if I lower a slider to 70%?
BUILDING production drops to 70% AND energy consumption also to 70%. This is symmetric — you can't reduce only consumption.
How does vacation mode affect it?
Vacation mode BLOCKS all slider adjustment requests. send() exits without changes. If vacation active — sliders frozen at current state.
Does bulk «off» stop everything on planet?
NO — only mines (Metal/Crystal/Deuterium, IDs 1,2,3). Science (IDs 6, 31) is NOT affected. To stop science — use bulk offl. For everything — off then offl.
Can production go negative?
No — clamp(0, ..., Max × OverflowFactor) protects. Min = 0, max = CapEffective.
For min-maxers
Exact formulas from wiki/03. Player TL;DR: «open planet = resources refresh; no energy = production throttles».
Engine source files (cited in wiki/03):
includes/pages/game/class.ShowResourcesPage.php— slider validation +send()+prodSelector- Per-building factor:
<building>_porcent × 0.1applied to both production AND consumption - Bulk actions
off/offl/oninsetPlanet() - Storage and summary in
show():storage,totalProduction,dailyProduction,weeklyProduction
Failure modes (documented):
- Overflow cap: production above CapEffective discarded at clamp
- Rounding drift: repeated round() across many ticks → micro gain/loss at fractional boundaries
- Offline burst clipping: large DeltaT → large gain → immediately clipped to cap
- Queue race perception: simultaneous actions may look inconsistent if one resolves production before another reads state
Vacation mode blocks all adjustment requests (send() exits without changes). Invalid resource IDs or values outside 0..10 are rejected.
Quick citation reference
Source: wiki/03_Resources_and_Economy.md. Formulas: Gain_r = round(DeltaT × perhour_r / 3600); Stock_r = clamp(Stock_r + Gain_r, 0, Max_r × OverflowFactor); EffectiveBonus = (1 + Σ local additive) × (1 + Σ global multipliers). Slider: 0..10 steps × 0.1 = factor (applied to both production AND consumption). Bulk toggles: off (mines), offl (science), on (all to 100%). Last verified: 2026-05-22 (wiki/03).