Seamless travel system #
The seamless travel system is composed of three parts.
1. Persistent Subsystem: responsible for storing player data during world travel.
It stores a struct with each player’s data along with their Unique ID (retrieved from the Player State).
The stored data includes:
Item Definitions
Player State tags and their respective stacks
Modified attributes (excluding those provided by Item Definitions, as they do not need to be stored)
2. Seamless Travel Component (server-only): responsible for executing the process.
When a level starts, it determines whether player data should be loaded.
It is associated with each Controller, although this may change in the future.
Currently, the decision to load data is based on a LoadData parameter.
However, it is also possible to check whether player data exists and load it automatically, then clear it from the subsystem afterward.
This approach would remove the need for the LoadData parameter, but if a client disconnects and reconnects, the data would no longer be available.
3. Hipernova Library: provides the function to travel between worlds, allowing additional parameters to be passed.
The system supports (parameter, value) pairs. In the example map, LoadData is used, but multiple parameters can be sent.
Since these parameters are included in the map URL, all clients receive the same information, enabling the server to communicate additional data to clients during travel.