Island Storage Artifact
The btcsky_artifact manages persistent storage for all island data, synchronized across the network via MySQL.
Purpose
The BTC Sky Artifact stores:
- Island Metadata: ID, owner, creation date.
- Dimensions: Unlocked worlds and chunks.
- Members: Roles, join dates, permissions.
- Economy: Bank balance and history.
- Tech Tree: Research and upgrade progress.
Configuration
mysqlArtifact
"> Reference to the MySQL storage handler.
syncInterval — Int
How often (in seconds) to synchronize data across servers.
cacheExpiry — Int
Time in seconds to keep data in memory after last access.
Data Schema
Core Tables
- Islands: Stores level, worth, bank, and spawn location.
- Members: Links players to islands with roles.
- Dimensions: Tracks unlocked status and owned chunks per dimension.
- Warps: Stores user-set warp points.
Synchronization
The artifact uses a "Write-Behind" caching strategy:
- Load: Data fetched on player join.
- Modify: Changes applied to memory immediately.
- Sync: Changes pushed to database periodically or on quit.
- Broadcast: Updates sent to other servers via Redis/MySQL for consistency.
Contract Storage Artifact
Type: btcsky_contract_artifact
Persistent storage for island-specific contracts and procedural objectives.
Purpose
Manages the lifecycle of island contracts (Active, Completed, Expired) and ensures procedurally generated objectives are consistent across server restarts.