Scaling Resources (CORE ↔ RESOURCE)
Goal
Scale by separating authoritative runtime responsibilities (CORE) from feature resources (RESOURCE) while keeping one programming model.
Recommended Topology
COREresource:- player/session authority
- security providers and observers
- shared infrastructure APIs (players, authorization, channels)
RESOURCEresources:- gameplay modules (jobs, economy, housing, etc.)
- thin transport handlers + domain services
How OpenCore Helps
- Ports provide local/remote implementations transparently.
- Same abstractions are used across modes.
- Runtime setup enforces provider requirements in
CORE.
Practical Rules
- Keep cross-resource APIs stable and versioned.
- Avoid direct global state coupling between resources.
- Put shared contracts/types in dedicated shared modules.
- Add explicit fallback behavior for temporary CORE unavailability.
Deployment Checklist
- Define which resource owns each domain boundary.
- Keep security and identity in CORE.
- Load CORE before dependent RESOURCE modules.
- Validate startup with integration smoke checks.