liberusoftware / module-browser-game-world
Provider-neutral Browser Game world catalog, travel, weather, encounters, resources, NPCs, and unlocks.
Package info
github.com/liberusoftware/module-browser-game-world
Type:liberu-module
pkg:composer/liberusoftware/module-browser-game-world
Requires
- php: ^8.5
- illuminate/database: ^13.38.0
- illuminate/events: ^13.38.0
- illuminate/support: ^13.38.0
Requires (Dev)
- liberusoftware/package-testbench: ^1.5
- pestphp/pest: ^5.3.3
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
The World module owns the typed world catalog and travel provenance. WorldManager validates catalog kinds, scope, unlock requirements, and travel targets; WorldQuery exposes authorized read models. Catalog payloads are data-only JSON and never executable input.
Supported kinds are region, location, map, encounter, npc, resource, weather, and unlock. Travel writes an immutable record with actor, origin, destination, and idempotency key. Actor unlocks are persisted in the module-owned unlock table; travel never trusts a client-supplied unlocked flag and requires a granted unlock for destinations with an unlock_key.