Le système de persistance expose des événements serveur et client pour accrocher aux moments clés du cycle de vie (chargement, sauvegarde, spawn, etc.).
Tous les noms sont définis dans shared/events.lua et reflétés côté serveur et client.
Vue d’ensemble
Chaque événement logique a :
- un nom serveur :
ts-persistence:server:<...>
- un nom client :
ts-persistence:client:<...>
Vous n’activez et n’écoutez que ce dont vous avez besoin.
onPersistenceLoad
Déclenché quand ts-persistence a fini de charger ses données et est prêt.
- Serveur :
ts-persistence:server:load
- Client :
ts-persistence:client:load
Exemple (serveur)
onVehicleCreated
Déclenché quand un nouveau véhicule est enregistré dans la persistance (temporaire ou permanent).
- Serveur :
ts-persistence:server:vehicle:created
- Client :
ts-persistence:client:vehicle:created
Charge utile :
Exemple (serveur)
onVehicleUpdated
Déclenché à chaque mise à jour des données persistées (position, props, dégâts, etc.).
- Serveur :
ts-persistence:server:vehicle:updated
- Client :
ts-persistence:client:vehicle:updated
Charge utile :
Même structure que onVehicleCreated.
onVehicleForgot
Déclenché quand un véhicule est retiré de la persistance (retiré du cache et éventuellement de la BDD).
- Serveur :
ts-persistence:server:vehicle:forgot
- Client :
ts-persistence:client:vehicle:forgot
Charge utile :
onVehicleSpawned
Déclenché quand un véhicule persistant est spawné côté serveur.
- Serveur :
ts-persistence:server:vehicle:spawned
- Client :
ts-persistence:client:vehicle:spawned
Charge utile :
onVehiclesUnloaded
Déclenché quand tous les véhicules sont déchargés du monde (ex. lors d’un /persistence reload).
- Serveur :
ts-persistence:server:vehicles:unloaded
- Client :
ts-persistence:client:vehicles:unloaded
Charge utile :
onPersistenceSave
Déclenché quand les données sont sauvegardées (ex. après un tick d’auto-sauvegarde).
- Serveur :
ts-persistence:server:persistence:saved
- Client :
ts-persistence:client:persistence:saved
Utile pour logs, métriques ou tâches annexes. Dernière modification le 29 mars 2026