@open-core/framework 1.0.5-beta.1 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/contracts/IEngineEvents.d.ts +5 -2
- package/dist/adapters/contracts/IEngineEvents.js +7 -0
- package/dist/adapters/contracts/IExports.d.ts +2 -2
- package/dist/adapters/contracts/IPlatformContext.d.ts +43 -0
- package/dist/adapters/contracts/IPlatformContext.js +8 -0
- package/dist/adapters/contracts/client/IClientLocalPlayerBridge.d.ts +25 -0
- package/dist/adapters/contracts/client/IClientLocalPlayerBridge.js +8 -0
- package/dist/adapters/contracts/client/IClientLogConsole.d.ts +13 -0
- package/dist/adapters/contracts/client/IClientLogConsole.js +2 -0
- package/dist/adapters/contracts/client/IClientPlatformBridge.d.ts +195 -0
- package/dist/adapters/contracts/client/IClientPlatformBridge.js +282 -0
- package/dist/adapters/contracts/client/IClientRuntimeBridge.d.ts +18 -0
- package/dist/adapters/contracts/client/IClientRuntimeBridge.js +14 -0
- package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.d.ts +26 -0
- package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.js +2 -0
- package/dist/adapters/contracts/client/camera/IClientCameraPort.d.ts +107 -0
- package/dist/adapters/contracts/client/camera/IClientCameraPort.js +8 -0
- package/dist/adapters/contracts/client/camera/index.d.ts +1 -0
- package/dist/adapters/contracts/client/camera/index.js +1 -0
- package/dist/adapters/contracts/client/index.d.ts +11 -0
- package/dist/adapters/contracts/client/index.js +11 -0
- package/dist/adapters/contracts/client/ped/IClientPedPort.d.ts +62 -0
- package/dist/adapters/contracts/client/ped/IClientPedPort.js +5 -0
- package/dist/adapters/contracts/client/ped/index.d.ts +1 -0
- package/dist/adapters/contracts/client/ped/index.js +1 -0
- package/dist/adapters/contracts/client/progress/IClientProgressPort.d.ts +53 -0
- package/dist/adapters/contracts/client/progress/IClientProgressPort.js +8 -0
- package/dist/adapters/contracts/client/progress/index.d.ts +1 -0
- package/dist/adapters/contracts/client/progress/index.js +1 -0
- package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.d.ts +6 -0
- package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.js +6 -0
- package/dist/adapters/contracts/client/spawn/IClientSpawnPort.d.ts +19 -0
- package/dist/adapters/contracts/client/spawn/IClientSpawnPort.js +2 -0
- package/dist/adapters/contracts/client/spawn/index.d.ts +4 -0
- package/dist/adapters/contracts/client/spawn/index.js +4 -0
- package/dist/adapters/contracts/client/spawn/types.d.ts +17 -0
- package/dist/adapters/contracts/client/ui/IClientBlipBridge.d.ts +25 -0
- package/dist/adapters/contracts/client/ui/IClientBlipBridge.js +2 -0
- package/dist/adapters/contracts/client/ui/IClientMarkerBridge.d.ts +31 -0
- package/dist/adapters/contracts/client/ui/IClientMarkerBridge.js +2 -0
- package/dist/adapters/contracts/client/ui/IClientNotificationBridge.d.ts +21 -0
- package/dist/adapters/contracts/client/ui/IClientNotificationBridge.js +2 -0
- package/dist/adapters/contracts/client/ui/index.d.ts +4 -0
- package/dist/adapters/contracts/client/ui/index.js +4 -0
- package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.d.ts +14 -0
- package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.js +2 -0
- package/dist/adapters/contracts/client/ui/webview/index.d.ts +2 -0
- package/dist/adapters/contracts/client/ui/webview/index.js +2 -0
- package/dist/adapters/contracts/client/ui/webview/types.d.ts +27 -0
- package/dist/adapters/contracts/client/ui/webview/types.js +0 -0
- package/dist/adapters/contracts/client/vehicle/IClientVehiclePort.d.ts +166 -0
- package/dist/adapters/contracts/client/vehicle/IClientVehiclePort.js +8 -0
- package/dist/adapters/contracts/client/vehicle/index.d.ts +1 -0
- package/dist/adapters/contracts/client/vehicle/index.js +1 -0
- package/dist/adapters/contracts/index.d.ts +4 -2
- package/dist/adapters/contracts/index.js +4 -3
- package/dist/adapters/contracts/runtime/index.d.ts +1 -0
- package/dist/adapters/contracts/runtime/index.js +1 -0
- package/dist/adapters/contracts/runtime/runtime-events.d.ts +9 -0
- package/dist/adapters/contracts/runtime/runtime-events.js +7 -0
- package/dist/adapters/contracts/server/IEntityServer.d.ts +4 -28
- package/dist/adapters/contracts/server/IEntityServer.js +0 -26
- package/dist/adapters/contracts/server/IPlayerServer.d.ts +7 -26
- package/dist/adapters/contracts/server/IPlayerServer.js +0 -26
- package/dist/adapters/contracts/server/index.d.ts +10 -0
- package/dist/adapters/contracts/server/index.js +10 -0
- package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.d.ts +5 -0
- package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.js +2 -0
- package/dist/adapters/contracts/server/npc-lifecycle/index.d.ts +2 -0
- package/dist/adapters/contracts/server/npc-lifecycle/index.js +2 -0
- package/dist/adapters/contracts/server/npc-lifecycle/types.d.ts +17 -0
- package/dist/adapters/contracts/server/npc-lifecycle/types.js +0 -0
- package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.d.ts +11 -0
- package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.js +2 -0
- package/dist/adapters/contracts/server/player-appearance/index.d.ts +1 -0
- package/dist/adapters/contracts/server/player-appearance/index.js +1 -0
- package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.d.ts +6 -0
- package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.js +2 -0
- package/dist/adapters/contracts/server/player-lifecycle/index.d.ts +2 -0
- package/dist/adapters/contracts/server/player-lifecycle/index.js +2 -0
- package/dist/adapters/contracts/server/player-lifecycle/types.d.ts +17 -0
- package/dist/adapters/contracts/server/player-lifecycle/types.js +0 -0
- package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.d.ts +6 -0
- package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.js +2 -0
- package/dist/adapters/contracts/server/player-state/index.d.ts +1 -0
- package/dist/adapters/contracts/server/player-state/index.js +1 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.d.ts +5 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.js +2 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/index.d.ts +2 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/index.js +2 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/types.d.ts +16 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/types.js +0 -0
- package/dist/adapters/contracts/transport/events.api.d.ts +3 -3
- package/dist/adapters/contracts/transport/index.d.ts +4 -0
- package/dist/adapters/contracts/transport/index.js +4 -0
- package/dist/adapters/contracts/transport/rpc.api.d.ts +3 -3
- package/dist/adapters/index.d.ts +3 -14
- package/dist/adapters/index.js +3 -20
- package/dist/adapters/node/node-capabilities.d.ts +11 -11
- package/dist/adapters/node/node-capabilities.js +15 -27
- package/dist/adapters/node/node-engine-events.d.ts +1 -1
- package/dist/adapters/node/node-engine-events.js +2 -1
- package/dist/adapters/node/node-entity-server.d.ts +2 -2
- package/dist/adapters/node/node-entity-server.js +2 -2
- package/dist/adapters/node/node-ped-appearance-client.d.ts +2 -2
- package/dist/adapters/node/node-ped-appearance-client.js +2 -2
- package/dist/adapters/node/node-platform.js +4 -4
- package/dist/adapters/node/node-player-server.d.ts +3 -2
- package/dist/adapters/node/node-player-server.js +8 -2
- package/dist/adapters/node/transport/node.events.d.ts +4 -4
- package/dist/adapters/node/transport/node.rpc.d.ts +3 -3
- package/dist/adapters/node/transport/node.rpc.js +1 -1
- package/dist/adapters/register-capabilities.d.ts +1 -1
- package/dist/adapters/register-capabilities.js +1 -3
- package/dist/adapters/register-client-capabilities.d.ts +3 -2
- package/dist/adapters/register-client-capabilities.js +16 -41
- package/dist/contracts/client.d.ts +5 -0
- package/dist/contracts/client.js +5 -0
- package/dist/contracts/server.d.ts +19 -0
- package/dist/contracts/server.js +19 -0
- package/dist/contracts.d.ts +5 -0
- package/dist/contracts.js +5 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/kernel/logger/client-log-console.d.ts +4 -0
- package/dist/kernel/logger/client-log-console.js +43 -0
- package/dist/kernel/logger/core-logger.d.ts +3 -1
- package/dist/kernel/logger/core-logger.js +4 -2
- package/dist/kernel/logger/index.d.ts +3 -1
- package/dist/kernel/logger/index.js +2 -1
- package/dist/kernel/logger/logger.types.d.ts +1 -0
- package/dist/kernel/logger/logger.types.js +35 -0
- package/dist/kernel/logger/transports/buffered.transport.js +4 -4
- package/dist/kernel/logger/transports/console.transport.js +2 -2
- package/dist/kernel/logger/transports/dev-transport.factory.js +1 -1
- package/dist/kernel/logger/transports/simple-console.transport.js +15 -10
- package/dist/kernel-public.d.ts +1 -0
- package/dist/kernel-public.js +1 -0
- package/dist/runtime/client/adapter/client-adapter.d.ts +25 -0
- package/dist/runtime/client/adapter/client-adapter.js +11 -0
- package/dist/runtime/client/adapter/index.d.ts +20 -0
- package/dist/runtime/client/adapter/index.js +20 -0
- package/dist/runtime/client/adapter/local-player-bridge.d.ts +1 -0
- package/dist/runtime/client/adapter/local-player-bridge.js +1 -0
- package/dist/runtime/client/adapter/node-blip-bridge.d.ts +9 -0
- package/dist/runtime/client/adapter/node-blip-bridge.js +34 -0
- package/dist/runtime/client/adapter/node-camera-port.d.ts +19 -0
- package/dist/runtime/client/adapter/node-camera-port.js +31 -0
- package/dist/runtime/client/adapter/node-client-adapter.d.ts +5 -0
- package/dist/runtime/client/adapter/node-client-adapter.js +64 -0
- package/dist/runtime/client/adapter/node-local-player-bridge.d.ts +11 -0
- package/dist/runtime/client/adapter/node-local-player-bridge.js +27 -0
- package/dist/runtime/client/adapter/node-log-console.d.ts +11 -0
- package/dist/runtime/client/adapter/node-log-console.js +48 -0
- package/dist/runtime/client/adapter/node-marker-bridge.d.ts +10 -0
- package/dist/runtime/client/adapter/node-marker-bridge.js +35 -0
- package/dist/runtime/client/adapter/node-notification-bridge.d.ts +5 -0
- package/dist/{adapters/fivem/fivem-hasher.js → runtime/client/adapter/node-notification-bridge.js} +7 -11
- package/dist/runtime/client/adapter/node-ped-port.d.ts +20 -0
- package/dist/runtime/client/adapter/node-ped-port.js +38 -0
- package/dist/runtime/client/adapter/node-platform-bridge.d.ts +3 -0
- package/dist/{adapters/fivem/fivem-tick.js → runtime/client/adapter/node-platform-bridge.js} +5 -10
- package/dist/runtime/client/adapter/node-progress-port.d.ts +8 -0
- package/dist/runtime/client/adapter/node-progress-port.js +27 -0
- package/dist/runtime/client/adapter/node-runtime-bridge.d.ts +22 -0
- package/dist/runtime/client/adapter/node-runtime-bridge.js +58 -0
- package/dist/runtime/client/adapter/node-spawn-bridge.d.ts +8 -0
- package/dist/runtime/client/adapter/node-spawn-bridge.js +22 -0
- package/dist/runtime/client/adapter/node-vehicle-port.d.ts +31 -0
- package/dist/runtime/client/adapter/node-vehicle-port.js +73 -0
- package/dist/runtime/client/adapter/node-webview-bridge.d.ts +16 -0
- package/dist/runtime/client/adapter/node-webview-bridge.js +45 -0
- package/dist/runtime/client/adapter/platform-bridge.d.ts +1 -0
- package/dist/runtime/client/adapter/platform-bridge.js +1 -0
- package/dist/runtime/client/adapter/registry.d.ts +9 -0
- package/dist/runtime/client/adapter/registry.js +85 -0
- package/dist/runtime/client/adapter/runtime-bridge.d.ts +1 -0
- package/dist/runtime/client/adapter/runtime-bridge.js +1 -0
- package/dist/runtime/client/api.d.ts +2 -1
- package/dist/runtime/client/api.js +2 -1
- package/dist/runtime/client/client-bootstrap.js +51 -44
- package/dist/runtime/client/client-core.d.ts +2 -0
- package/dist/runtime/client/client-core.js +9 -0
- package/dist/runtime/client/client-runtime.d.ts +3 -0
- package/dist/runtime/client/client-runtime.js +3 -0
- package/dist/runtime/client/controllers/appearance.controller.d.ts +3 -1
- package/dist/runtime/client/controllers/appearance.controller.js +17 -6
- package/dist/runtime/client/controllers/spawner.controller.js +6 -3
- package/dist/runtime/client/decorators/controller.js +2 -10
- package/dist/runtime/client/decorators/onView.d.ts +3 -3
- package/dist/runtime/client/decorators/onView.js +3 -3
- package/dist/runtime/client/index.d.ts +1 -0
- package/dist/runtime/client/index.js +1 -0
- package/dist/runtime/client/library/create-client-library.js +9 -1
- package/dist/runtime/client/services/appearance.service.d.ts +2 -2
- package/dist/runtime/client/services/appearance.service.js +7 -4
- package/dist/runtime/client/services/blip.service.d.ts +6 -93
- package/dist/runtime/client/services/blip.service.js +58 -153
- package/dist/runtime/client/services/camera-effects.registry.d.ts +3 -0
- package/dist/runtime/client/services/camera-effects.registry.js +20 -7
- package/dist/runtime/client/services/camera.d.ts +4 -106
- package/dist/runtime/client/services/camera.js +36 -98
- package/dist/runtime/client/services/cinematic.d.ts +5 -1
- package/dist/runtime/client/services/cinematic.js +45 -30
- package/dist/runtime/client/services/index.d.ts +1 -0
- package/dist/runtime/client/services/index.js +1 -0
- package/dist/runtime/client/services/marker.service.d.ts +12 -63
- package/dist/runtime/client/services/marker.service.js +62 -97
- package/dist/runtime/client/services/notification.service.d.ts +6 -57
- package/dist/runtime/client/services/notification.service.js +43 -81
- package/dist/runtime/client/services/ped.service.d.ts +6 -148
- package/dist/runtime/client/services/ped.service.js +42 -221
- package/dist/runtime/client/services/progress.service.d.ts +4 -75
- package/dist/runtime/client/services/progress.service.js +20 -178
- package/dist/runtime/client/services/session-bridge.service.d.ts +15 -0
- package/dist/runtime/client/services/session-bridge.service.js +62 -0
- package/dist/runtime/client/services/spawn.service.d.ts +4 -56
- package/dist/runtime/client/services/spawn.service.js +29 -191
- package/dist/runtime/client/services/streaming.service.d.ts +5 -126
- package/dist/runtime/client/services/streaming.service.js +72 -217
- package/dist/runtime/client/services/textui.service.d.ts +5 -45
- package/dist/runtime/client/services/textui.service.js +55 -88
- package/dist/runtime/client/services/vehicle-client.service.d.ts +12 -149
- package/dist/runtime/client/services/vehicle-client.service.js +128 -374
- package/dist/runtime/client/services/vehicle.service.d.ts +4 -147
- package/dist/runtime/client/services/vehicle.service.js +33 -239
- package/dist/runtime/client/system/processors/export.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/export.processor.js +16 -3
- package/dist/runtime/client/system/processors/gameEvent.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/gameEvent.processor.js +16 -3
- package/dist/runtime/client/system/processors/interval.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/interval.processor.js +17 -4
- package/dist/runtime/client/system/processors/key.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/key.processor.js +18 -5
- package/dist/runtime/client/system/processors/localEvent.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/localEvent.processor.js +16 -3
- package/dist/runtime/client/system/processors/netEvent.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/netEvent.processor.js +16 -3
- package/dist/runtime/client/system/processors/onRpc.processor.js +1 -1
- package/dist/runtime/client/system/processors/resourceLifecycle.processor.d.ts +5 -0
- package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +26 -7
- package/dist/runtime/client/system/processors/tick.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/tick.processor.js +16 -3
- package/dist/runtime/client/system/processors/view.processor.d.ts +3 -0
- package/dist/runtime/client/system/processors/view.processor.js +21 -10
- package/dist/runtime/client/system/processors.register.d.ts +1 -0
- package/dist/runtime/client/system/processors.register.js +8 -0
- package/dist/runtime/client/ui-bridge.d.ts +2 -114
- package/dist/runtime/client/ui-bridge.js +2 -194
- package/dist/runtime/client/webview-bridge.d.ts +34 -0
- package/dist/runtime/client/webview-bridge.js +103 -0
- package/dist/runtime/client/webview.service.d.ts +15 -0
- package/dist/runtime/client/webview.service.js +103 -0
- package/dist/runtime/server/adapter/index.d.ts +5 -0
- package/dist/runtime/server/adapter/index.js +5 -0
- package/dist/runtime/server/adapter/node-npc-lifecycle-server.d.ts +12 -0
- package/dist/runtime/server/adapter/node-npc-lifecycle-server.js +52 -0
- package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.d.ts +22 -0
- package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.js +95 -0
- package/dist/runtime/server/adapter/node-player-lifecycle-server.d.ts +11 -0
- package/dist/runtime/server/adapter/node-player-lifecycle-server.js +56 -0
- package/dist/runtime/server/adapter/node-player-state-sync-server.d.ts +12 -0
- package/dist/runtime/server/adapter/node-player-state-sync-server.js +49 -0
- package/dist/runtime/server/adapter/node-server-adapter.d.ts +5 -0
- package/dist/runtime/server/adapter/node-server-adapter.js +67 -0
- package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.d.ts +13 -0
- package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.js +58 -0
- package/dist/runtime/server/adapter/player-adapter.d.ts +28 -0
- package/dist/runtime/server/adapter/player-adapter.js +28 -0
- package/dist/runtime/server/adapter/registry.d.ts +26 -0
- package/dist/runtime/server/adapter/registry.js +101 -0
- package/dist/runtime/server/adapter/serialization.d.ts +6 -0
- package/dist/runtime/server/adapter/serialization.js +9 -0
- package/dist/runtime/server/adapter/server-adapter.d.ts +28 -0
- package/dist/runtime/server/adapter/server-adapter.js +14 -0
- package/dist/runtime/server/api.d.ts +2 -1
- package/dist/runtime/server/api.js +2 -1
- package/dist/runtime/server/apis/appearance.api.d.ts +5 -3
- package/dist/runtime/server/apis/appearance.api.js +20 -7
- package/dist/runtime/server/apis/chat.api.js +6 -5
- package/dist/runtime/server/apis/npcs.api.d.ts +3 -4
- package/dist/runtime/server/apis/npcs.api.js +28 -57
- package/dist/runtime/server/apis/parallel-compute.api.js +1 -0
- package/dist/runtime/server/apis/vehicle-modification.api.d.ts +3 -1
- package/dist/runtime/server/apis/vehicle-modification.api.js +13 -6
- package/dist/runtime/server/apis/vehicles.api.d.ts +12 -6
- package/dist/runtime/server/apis/vehicles.api.js +55 -40
- package/dist/runtime/server/bootstrap.js +28 -19
- package/dist/runtime/server/controllers/channel.controller.js +2 -1
- package/dist/runtime/server/controllers/command-export.controller.js +5 -3
- package/dist/runtime/server/controllers/player-export.controller.js +5 -4
- package/dist/runtime/server/controllers/remote-command-execution.controller.js +2 -1
- package/dist/runtime/server/controllers/session.controller.js +3 -2
- package/dist/runtime/server/controllers/vehicle.controller.d.ts +3 -1
- package/dist/runtime/server/controllers/vehicle.controller.js +13 -7
- package/dist/runtime/server/core.d.ts +2 -0
- package/dist/runtime/server/core.js +9 -1
- package/dist/runtime/server/decorators/command.d.ts +2 -0
- package/dist/runtime/server/decorators/command.js +3 -1
- package/dist/runtime/server/decorators/onRuntimeEvent.d.ts +2 -1
- package/dist/runtime/server/entities/npc.d.ts +3 -1
- package/dist/runtime/server/entities/npc.js +3 -3
- package/dist/runtime/server/entities/player.d.ts +9 -12
- package/dist/runtime/server/entities/player.js +49 -31
- package/dist/runtime/server/entities/vehicle.js +2 -2
- package/dist/runtime/server/error-handler.js +13 -2
- package/dist/runtime/server/helpers/command-validation.helper.js +21 -8
- package/dist/runtime/server/helpers/function-helper.d.ts +1 -0
- package/dist/runtime/server/helpers/function-helper.js +15 -8
- package/dist/runtime/server/implementations/local/channel.local.d.ts +1 -1
- package/dist/runtime/server/implementations/local/channel.local.js +3 -2
- package/dist/runtime/server/implementations/local/player.local.d.ts +7 -3
- package/dist/runtime/server/implementations/local/player.local.js +23 -11
- package/dist/runtime/server/implementations/remote/channel.remote.d.ts +2 -1
- package/dist/runtime/server/implementations/remote/channel.remote.js +5 -2
- package/dist/runtime/server/implementations/remote/command.remote.d.ts +3 -1
- package/dist/runtime/server/implementations/remote/command.remote.js +9 -4
- package/dist/runtime/server/implementations/remote/player.remote.d.ts +7 -10
- package/dist/runtime/server/implementations/remote/player.remote.js +24 -29
- package/dist/runtime/server/library/create-server-library.js +17 -2
- package/dist/runtime/server/ports/channel.api-port.d.ts +1 -1
- package/dist/runtime/server/runtime.d.ts +3 -0
- package/dist/runtime/server/runtime.js +1 -15
- package/dist/runtime/server/services/appearance.service.d.ts +0 -95
- package/dist/runtime/server/services/appearance.service.js +15 -192
- package/dist/runtime/server/services/parallel/worker-pool.d.ts +1 -1
- package/dist/runtime/server/services/parallel/worker-pool.js +38 -6
- package/dist/runtime/server/services/parallel/worker.js +1 -0
- package/dist/runtime/server/services/services.register.js +56 -24
- package/dist/runtime/server/system/processors/netEvent.processor.js +1 -1
- package/dist/runtime/server/system/processors/onRpc.processor.js +1 -1
- package/dist/runtime/server/system/processors/runtimeEvent.processor.d.ts +2 -1
- package/dist/runtime/server/system/processors/runtimeEvent.processor.js +1 -1
- package/dist/runtime/server/system/schema-generator.d.ts +1 -1
- package/dist/runtime/server/system/schema-generator.js +6 -3
- package/dist/runtime/server/types/core-exports.types.d.ts +5 -0
- package/dist/runtime/shared/helpers/process-tuple-schema.d.ts +2 -0
- package/dist/runtime/shared/helpers/process-tuple-schema.js +32 -0
- package/dist/runtime/shared/types/system-types.d.ts +55 -0
- package/dist/runtime/shared/types/system-types.js +54 -0
- package/package.json +41 -13
- package/dist/adapters/cfx/cfx-capabilities.d.ts +0 -16
- package/dist/adapters/cfx/cfx-capabilities.js +0 -70
- package/dist/adapters/cfx/cfx-platform.d.ts +0 -2
- package/dist/adapters/cfx/cfx-platform.js +0 -85
- package/dist/adapters/cfx/index.d.ts +0 -3
- package/dist/adapters/cfx/index.js +0 -3
- package/dist/adapters/cfx/runtime-profile.d.ts +0 -3
- package/dist/adapters/cfx/runtime-profile.js +0 -37
- package/dist/adapters/contracts/IPlatformCapabilities.d.ts +0 -79
- package/dist/adapters/contracts/IPlatformCapabilities.js +0 -27
- package/dist/adapters/contracts/client/IPedAppearanceClient.d.ts +0 -206
- package/dist/adapters/contracts/client/IPedAppearanceClient.js +0 -12
- package/dist/adapters/fivem/fivem-capabilities.d.ts +0 -18
- package/dist/adapters/fivem/fivem-capabilities.js +0 -61
- package/dist/adapters/fivem/fivem-engine-events.d.ts +0 -5
- package/dist/adapters/fivem/fivem-engine-events.js +0 -24
- package/dist/adapters/fivem/fivem-entity-server.d.ts +0 -26
- package/dist/adapters/fivem/fivem-entity-server.js +0 -87
- package/dist/adapters/fivem/fivem-exports.d.ts +0 -5
- package/dist/adapters/fivem/fivem-exports.js +0 -9
- package/dist/adapters/fivem/fivem-hasher.d.ts +0 -7
- package/dist/adapters/fivem/fivem-net-transport.d.ts +0 -1
- package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +0 -34
- package/dist/adapters/fivem/fivem-ped-appearance-client.js +0 -79
- package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +0 -14
- package/dist/adapters/fivem/fivem-ped-appearance-server.js +0 -22
- package/dist/adapters/fivem/fivem-ped-server.d.ts +0 -9
- package/dist/adapters/fivem/fivem-ped-server.js +0 -30
- package/dist/adapters/fivem/fivem-platform.d.ts +0 -5
- package/dist/adapters/fivem/fivem-platform.js +0 -74
- package/dist/adapters/fivem/fivem-player-server.d.ts +0 -24
- package/dist/adapters/fivem/fivem-player-server.js +0 -83
- package/dist/adapters/fivem/fivem-playerinfo.d.ts +0 -6
- package/dist/adapters/fivem/fivem-playerinfo.js +0 -10
- package/dist/adapters/fivem/fivem-resourceinfo.d.ts +0 -5
- package/dist/adapters/fivem/fivem-resourceinfo.js +0 -24
- package/dist/adapters/fivem/fivem-tick.d.ts +0 -7
- package/dist/adapters/fivem/fivem-vehicle-server.d.ts +0 -15
- package/dist/adapters/fivem/fivem-vehicle-server.js +0 -44
- package/dist/adapters/fivem/index.d.ts +0 -14
- package/dist/adapters/fivem/index.js +0 -16
- package/dist/adapters/fivem/transport/adapter.d.ts +0 -8
- package/dist/adapters/fivem/transport/adapter.js +0 -8
- package/dist/adapters/fivem/transport/fivem.events.d.ts +0 -8
- package/dist/adapters/fivem/transport/fivem.events.js +0 -36
- package/dist/adapters/fivem/transport/fivem.rpc.d.ts +0 -28
- package/dist/adapters/fivem/transport/fivem.rpc.js +0 -183
- package/dist/runtime/client/controllers/player-sync.controller.d.ts +0 -11
- package/dist/runtime/client/controllers/player-sync.controller.js +0 -51
- package/dist/runtime/client/player/player.d.ts +0 -262
- package/dist/runtime/client/player/player.js +0 -474
- package/dist/runtime/client/player/player.loader.d.ts +0 -1
- package/dist/runtime/client/player/player.loader.js +0 -18
- package/dist/runtime/server/helpers/process-tuple-schema.d.ts +0 -20
- package/dist/runtime/server/helpers/process-tuple-schema.js +0 -56
- /package/dist/adapters/{fivem/fivem-net-transport.js → contracts/client/spawn/types.js} +0 -0
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { IEngineEvents } from '../../adapters';
|
|
2
|
-
import {
|
|
1
|
+
import { IEngineEvents, IPlatformContext } from '../../adapters';
|
|
2
|
+
import { IExports } from '../../adapters/contracts/IExports';
|
|
3
3
|
import { EventsAPI } from '../../adapters/contracts/transport/events.api';
|
|
4
4
|
import { GLOBAL_CONTAINER, MetadataScanner } from '../../kernel/di/index';
|
|
5
5
|
import { getLogLevel, LogLevelLabels, loggers } from '../../kernel/logger';
|
|
6
|
+
import { createNodeServerAdapter } from './adapter/node-server-adapter';
|
|
7
|
+
import { installServerAdapter } from './adapter/registry';
|
|
6
8
|
import { PrincipalProviderContract } from './contracts/index';
|
|
7
9
|
import { getServerBinaryServiceRegistry } from './decorators/binaryService';
|
|
8
10
|
import { getServerControllerRegistry } from './decorators/controller';
|
|
@@ -10,6 +12,7 @@ import { getFrameworkModeScope, setRuntimeContext, validateRuntimeOptions, } fro
|
|
|
10
12
|
import { BinaryProcessManager } from './system/managers/binary-process.manager';
|
|
11
13
|
import { SessionRecoveryService } from './services/session-recovery.local';
|
|
12
14
|
import { registerServicesServer } from './services/services.register';
|
|
15
|
+
import { SYSTEM_EVENTS } from '../shared/types/system-types';
|
|
13
16
|
import { METADATA_KEYS } from './system/metadata-server.keys';
|
|
14
17
|
import { registerSystemServer } from './system/processors.register';
|
|
15
18
|
const CORE_WAIT_TIMEOUT = 10000;
|
|
@@ -84,9 +87,13 @@ export async function initServer(options, plugins) {
|
|
|
84
87
|
mode: ctx.mode,
|
|
85
88
|
scope: getFrameworkModeScope(ctx.mode),
|
|
86
89
|
});
|
|
87
|
-
// Register platform-specific capabilities
|
|
88
|
-
await
|
|
89
|
-
|
|
90
|
+
// Register platform-specific capabilities through the selected server adapter.
|
|
91
|
+
await installServerAdapter(options.adapter ?? createNodeServerAdapter());
|
|
92
|
+
const platformContext = GLOBAL_CONTAINER.resolve(IPlatformContext);
|
|
93
|
+
loggers.bootstrap.debug('Loading server Adapter ', {
|
|
94
|
+
adapter: options.adapter?.name ?? 'node',
|
|
95
|
+
game: platformContext.gameProfile,
|
|
96
|
+
});
|
|
90
97
|
const dependenciesToWaitFor = [];
|
|
91
98
|
if (ctx.mode === 'RESOURCE') {
|
|
92
99
|
loggers.bootstrap.info(`[WAIT] Standing by for Core '${ctx.coreResourceName}' to be ready...`);
|
|
@@ -157,13 +164,13 @@ export async function initServer(options, plugins) {
|
|
|
157
164
|
const engineEvents = GLOBAL_CONTAINER.resolve(IEngineEvents);
|
|
158
165
|
const events = GLOBAL_CONTAINER.resolve(EventsAPI);
|
|
159
166
|
// 1. Broadast to resources already running
|
|
160
|
-
engineEvents.emit(
|
|
161
|
-
events.emit(
|
|
162
|
-
// 2. Listen for '
|
|
163
|
-
engineEvents.on(
|
|
164
|
-
engineEvents.emit(
|
|
167
|
+
engineEvents.emit(SYSTEM_EVENTS.core.ready);
|
|
168
|
+
events.emit(SYSTEM_EVENTS.core.ready, 'all');
|
|
169
|
+
// 2. Listen for '_systemcore:request-ready' for resources starting late (hot-reload)
|
|
170
|
+
engineEvents.on(SYSTEM_EVENTS.core.requestReady, () => {
|
|
171
|
+
engineEvents.emit(SYSTEM_EVENTS.core.ready);
|
|
165
172
|
});
|
|
166
|
-
loggers.bootstrap.info(`'core
|
|
173
|
+
loggers.bootstrap.info(`'${SYSTEM_EVENTS.core.ready}' logic initialized and broadcasted`);
|
|
167
174
|
}
|
|
168
175
|
const logLevelLabel = LogLevelLabels[getLogLevel()];
|
|
169
176
|
loggers.bootstrap.info(`LogLevel Setted: ${logLevelLabel}`);
|
|
@@ -183,22 +190,24 @@ function createCoreDependency(coreName) {
|
|
|
183
190
|
clearInterval(pollingInterval);
|
|
184
191
|
};
|
|
185
192
|
// 1. Register listener FIRST (before any requests)
|
|
193
|
+
const exportsService = GLOBAL_CONTAINER.resolve(IExports);
|
|
186
194
|
const onReady = () => {
|
|
187
195
|
if (!resolved) {
|
|
188
|
-
loggers.bootstrap.debug(`Core '${coreName}' detected via 'core
|
|
196
|
+
loggers.bootstrap.debug(`Core '${coreName}' detected via '${SYSTEM_EVENTS.core.ready}' event!`);
|
|
189
197
|
cleanup();
|
|
190
198
|
resolve();
|
|
191
199
|
}
|
|
192
200
|
};
|
|
193
|
-
engineEvents.on(
|
|
194
|
-
loggers.bootstrap.debug(`Listening for 'core
|
|
201
|
+
engineEvents.on(SYSTEM_EVENTS.core.ready, onReady);
|
|
202
|
+
loggers.bootstrap.debug(`Listening for '${SYSTEM_EVENTS.core.ready}' event from Core`);
|
|
195
203
|
// 2. Check if already ready via export (Polling)
|
|
196
204
|
const checkReady = () => {
|
|
197
205
|
if (resolved)
|
|
198
206
|
return;
|
|
199
207
|
try {
|
|
200
|
-
const
|
|
201
|
-
|
|
208
|
+
const isReady = exportsService
|
|
209
|
+
.getResource(coreName)
|
|
210
|
+
?.isCoreReady?.();
|
|
202
211
|
loggers.bootstrap.debug(`Polling isCoreReady export: ${isReady}`);
|
|
203
212
|
if (isReady === true) {
|
|
204
213
|
loggers.bootstrap.debug(`Core '${coreName}' detected via isCoreReady export!`);
|
|
@@ -215,15 +224,15 @@ function createCoreDependency(coreName) {
|
|
|
215
224
|
// 3. Request status (for hot-reload cases where Core is already up)
|
|
216
225
|
// This is sent AFTER registering the listener so we can receive the response
|
|
217
226
|
if (!resolved) {
|
|
218
|
-
loggers.bootstrap.debug(`Requesting Core status via 'core
|
|
219
|
-
engineEvents.emit(
|
|
227
|
+
loggers.bootstrap.debug(`Requesting Core status via '${SYSTEM_EVENTS.core.requestReady}' event`);
|
|
228
|
+
engineEvents.emit(SYSTEM_EVENTS.core.requestReady);
|
|
220
229
|
}
|
|
221
230
|
// 4. Timeout protection
|
|
222
231
|
timeout = setTimeout(() => {
|
|
223
232
|
if (!resolved) {
|
|
224
233
|
loggers.bootstrap.warn(`Timeout waiting for Core '${coreName}' after ${CORE_WAIT_TIMEOUT}ms`);
|
|
225
234
|
cleanup();
|
|
226
|
-
reject(new Error(`[OpenCore] Timeout waiting for CORE '${coreName}'. The Core did not emit 'core
|
|
235
|
+
reject(new Error(`[OpenCore] Timeout waiting for CORE '${coreName}'. The Core did not emit '${SYSTEM_EVENTS.core.ready}' or expose 'isCoreReady' within ${CORE_WAIT_TIMEOUT}ms.`));
|
|
227
236
|
}
|
|
228
237
|
}, CORE_WAIT_TIMEOUT);
|
|
229
238
|
});
|
|
@@ -360,7 +360,7 @@ __decorate([
|
|
|
360
360
|
__metadata("design:returntype", Array)
|
|
361
361
|
], ChannelExportController.prototype, "getAllChannels", null);
|
|
362
362
|
__decorate([
|
|
363
|
-
OnRuntimeEvent(
|
|
363
|
+
OnRuntimeEvent(RUNTIME_EVENTS.serverResourceStop),
|
|
364
364
|
__metadata("design:type", Function),
|
|
365
365
|
__metadata("design:paramtypes", [String]),
|
|
366
366
|
__metadata("design:returntype", void 0)
|
|
@@ -371,3 +371,4 @@ ChannelExportController = __decorate([
|
|
|
371
371
|
Players])
|
|
372
372
|
], ChannelExportController);
|
|
373
373
|
export { ChannelExportController };
|
|
374
|
+
import { RUNTIME_EVENTS } from '../../../adapters/contracts/runtime';
|
|
@@ -11,9 +11,11 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
13
|
import { inject } from 'tsyringe';
|
|
14
|
+
import { z } from 'zod';
|
|
14
15
|
import { IEngineEvents } from '../../../adapters/contracts/IEngineEvents';
|
|
15
16
|
import { AppError, SecurityError } from '../../../kernel/error';
|
|
16
17
|
import { loggers } from '../../../kernel/logger';
|
|
18
|
+
import { buildRemoteCommandExecuteEventName, SYSTEM_EVENTS } from '../../shared/types/system-types';
|
|
17
19
|
import { CommandErrorObserverContract } from '../contracts/security/command-error-observer.contract';
|
|
18
20
|
import { Controller, Export, Public } from '../decorators';
|
|
19
21
|
import { OnNet } from '../decorators/onNet';
|
|
@@ -211,7 +213,7 @@ let CommandExportController = class CommandExportController {
|
|
|
211
213
|
// Validate security BEFORE delegating to resource
|
|
212
214
|
await this.validateSecurity(player, commandName, remoteEntry.metadata.security);
|
|
213
215
|
// Delegate to resource via local event (server-to-server, not network)
|
|
214
|
-
const eventName =
|
|
216
|
+
const eventName = buildRemoteCommandExecuteEventName(remoteEntry.resourceName);
|
|
215
217
|
this.engineEvents.emit(eventName, clientID, commandName, args);
|
|
216
218
|
loggers.command.debug(`Delegated remote command execution to ${remoteEntry.resourceName}`, {
|
|
217
219
|
command: commandName,
|
|
@@ -267,7 +269,7 @@ let CommandExportController = class CommandExportController {
|
|
|
267
269
|
if (!allowed) {
|
|
268
270
|
const errorMessage = message || `Rate limit exceeded for command: ${commandName}`;
|
|
269
271
|
if (onExceed === 'KICK') {
|
|
270
|
-
|
|
272
|
+
player.kick(errorMessage);
|
|
271
273
|
}
|
|
272
274
|
throw new SecurityError(onExceed || 'LOG', errorMessage, { clientID: player.clientID });
|
|
273
275
|
}
|
|
@@ -294,7 +296,7 @@ let CommandExportController = class CommandExportController {
|
|
|
294
296
|
};
|
|
295
297
|
__decorate([
|
|
296
298
|
Public(),
|
|
297
|
-
OnNet(
|
|
299
|
+
OnNet(SYSTEM_EVENTS.command.execute, z.tuple([z.string().min(1), z.array(z.string())])),
|
|
298
300
|
__metadata("design:type", Function),
|
|
299
301
|
__metadata("design:paramtypes", [Player, String, Array]),
|
|
300
302
|
__metadata("design:returntype", Promise)
|
|
@@ -13,6 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
import { inject } from 'tsyringe';
|
|
14
14
|
import { Controller } from '../decorators/controller';
|
|
15
15
|
import { Export } from '../decorators/export';
|
|
16
|
+
import { serializeServerPlayerData } from '../adapter/serialization';
|
|
16
17
|
import { Players } from '../ports/players.api-port';
|
|
17
18
|
/**
|
|
18
19
|
* Exports player directory functionality for RESOURCE mode access.
|
|
@@ -37,18 +38,18 @@ let PlayerExportController = class PlayerExportController {
|
|
|
37
38
|
}
|
|
38
39
|
getPlayerData(clientID) {
|
|
39
40
|
const player = this.playerService.getByClient(clientID);
|
|
40
|
-
return player
|
|
41
|
+
return player ? serializeServerPlayerData(player) : null;
|
|
41
42
|
}
|
|
42
43
|
getManyData(clientIds) {
|
|
43
|
-
return this.playerService.getMany(clientIds).map((
|
|
44
|
+
return this.playerService.getMany(clientIds).map((player) => serializeServerPlayerData(player));
|
|
44
45
|
}
|
|
45
46
|
getAllPlayersData() {
|
|
46
|
-
return this.playerService.getAll().map((
|
|
47
|
+
return this.playerService.getAll().map((player) => serializeServerPlayerData(player));
|
|
47
48
|
}
|
|
48
49
|
getPlayerByAccountId(accountId) {
|
|
49
50
|
const players = this.playerService.getAll();
|
|
50
51
|
const player = players.find((p) => p.accountID === accountId);
|
|
51
|
-
return player
|
|
52
|
+
return player ? serializeServerPlayerData(player) : null;
|
|
52
53
|
}
|
|
53
54
|
getPlayerCount() {
|
|
54
55
|
return this.playerService.getAll().length;
|
|
@@ -14,6 +14,7 @@ import { inject } from 'tsyringe';
|
|
|
14
14
|
import { IEngineEvents } from '../../../adapters/contracts/IEngineEvents';
|
|
15
15
|
import { IResourceInfo } from '../../../adapters/contracts/IResourceInfo';
|
|
16
16
|
import { loggers } from '../../../kernel/logger';
|
|
17
|
+
import { buildRemoteCommandExecuteEventName } from '../../shared/types/system-types';
|
|
17
18
|
import { CommandErrorObserverContract } from '../contracts/security/command-error-observer.contract';
|
|
18
19
|
import { Controller } from '../decorators';
|
|
19
20
|
import { normalizeToAppError } from '../helpers/normalize-app-error';
|
|
@@ -73,7 +74,7 @@ let RemoteCommandExecutionController = class RemoteCommandExecutionController {
|
|
|
73
74
|
*/
|
|
74
75
|
registerEventHandler() {
|
|
75
76
|
const resourceName = this.resourceInfo.getCurrentResourceName();
|
|
76
|
-
const eventName =
|
|
77
|
+
const eventName = buildRemoteCommandExecuteEventName(resourceName);
|
|
77
78
|
this.engineEvents.on(eventName, async (clientID, commandName, args) => {
|
|
78
79
|
await this.handleCommandExecution(clientID, commandName, args);
|
|
79
80
|
});
|
|
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
|
+
import { RUNTIME_EVENTS } from '../../../adapters/contracts/runtime';
|
|
13
14
|
import { inject } from 'tsyringe';
|
|
14
15
|
import { loggers } from '../../../kernel/logger';
|
|
15
16
|
import { emitFrameworkEvent } from '../bus/internal-event.bus';
|
|
@@ -60,13 +61,13 @@ let SessionController = class SessionController {
|
|
|
60
61
|
}
|
|
61
62
|
};
|
|
62
63
|
__decorate([
|
|
63
|
-
OnRuntimeEvent(
|
|
64
|
+
OnRuntimeEvent(RUNTIME_EVENTS.playerJoining),
|
|
64
65
|
__metadata("design:type", Function),
|
|
65
66
|
__metadata("design:paramtypes", [Number, Object]),
|
|
66
67
|
__metadata("design:returntype", Promise)
|
|
67
68
|
], SessionController.prototype, "onPlayerJoining", null);
|
|
68
69
|
__decorate([
|
|
69
|
-
OnRuntimeEvent(
|
|
70
|
+
OnRuntimeEvent(RUNTIME_EVENTS.playerDropped),
|
|
70
71
|
__metadata("design:type", Function),
|
|
71
72
|
__metadata("design:paramtypes", [Number]),
|
|
72
73
|
__metadata("design:returntype", Promise)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
|
|
1
2
|
import { Player } from '../entities/player';
|
|
2
3
|
import { Vehicles } from '../apis/vehicles.api';
|
|
3
4
|
/**
|
|
@@ -8,7 +9,8 @@ import { Vehicles } from '../apis/vehicles.api';
|
|
|
8
9
|
*/
|
|
9
10
|
export declare class VehicleController {
|
|
10
11
|
private readonly vehicleService;
|
|
11
|
-
|
|
12
|
+
private readonly events;
|
|
13
|
+
constructor(vehicleService: Vehicles, events: EventsAPI<'server'>);
|
|
12
14
|
/**
|
|
13
15
|
* Handles client request to get vehicle data.
|
|
14
16
|
*/
|
|
@@ -11,6 +11,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
13
|
import { inject } from 'tsyringe';
|
|
14
|
+
import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
|
|
15
|
+
import { SYSTEM_EVENTS } from '../../shared/types/system-types';
|
|
14
16
|
import { Controller, OnNet } from '../decorators';
|
|
15
17
|
import { Player } from '../entities/player';
|
|
16
18
|
import { Vehicles } from '../apis/vehicles.api';
|
|
@@ -22,8 +24,10 @@ import { Vehicles } from '../apis/vehicles.api';
|
|
|
22
24
|
*/
|
|
23
25
|
let VehicleController = class VehicleController {
|
|
24
26
|
vehicleService;
|
|
25
|
-
|
|
27
|
+
events;
|
|
28
|
+
constructor(vehicleService, events) {
|
|
26
29
|
this.vehicleService = vehicleService;
|
|
30
|
+
this.events = events;
|
|
27
31
|
}
|
|
28
32
|
/**
|
|
29
33
|
* Handles client request to get vehicle data.
|
|
@@ -31,11 +35,11 @@ let VehicleController = class VehicleController {
|
|
|
31
35
|
handleGetData(player, networkId) {
|
|
32
36
|
const vehicle = this.vehicleService.getByNetworkId(networkId);
|
|
33
37
|
if (!vehicle) {
|
|
34
|
-
|
|
38
|
+
this.events.emit(SYSTEM_EVENTS.vehicle.dataResult, player.clientID, null);
|
|
35
39
|
return null;
|
|
36
40
|
}
|
|
37
41
|
const data = vehicle.serialize();
|
|
38
|
-
|
|
42
|
+
this.events.emit(SYSTEM_EVENTS.vehicle.dataResult, player.clientID, data);
|
|
39
43
|
return data;
|
|
40
44
|
}
|
|
41
45
|
/**
|
|
@@ -44,18 +48,18 @@ let VehicleController = class VehicleController {
|
|
|
44
48
|
handleGetPlayerVehicles(player) {
|
|
45
49
|
const vehicles = this.vehicleService.getPlayerVehicles(player.clientID);
|
|
46
50
|
const serialized = vehicles.map((v) => v.serialize());
|
|
47
|
-
|
|
51
|
+
this.events.emit(SYSTEM_EVENTS.vehicle.playerVehiclesResult, player.clientID, serialized);
|
|
48
52
|
return serialized;
|
|
49
53
|
}
|
|
50
54
|
};
|
|
51
55
|
__decorate([
|
|
52
|
-
OnNet(
|
|
56
|
+
OnNet(SYSTEM_EVENTS.vehicle.getData),
|
|
53
57
|
__metadata("design:type", Function),
|
|
54
58
|
__metadata("design:paramtypes", [Player, Number]),
|
|
55
59
|
__metadata("design:returntype", void 0)
|
|
56
60
|
], VehicleController.prototype, "handleGetData", null);
|
|
57
61
|
__decorate([
|
|
58
|
-
OnNet(
|
|
62
|
+
OnNet(SYSTEM_EVENTS.vehicle.getPlayerVehicles),
|
|
59
63
|
__metadata("design:type", Function),
|
|
60
64
|
__metadata("design:paramtypes", [Player]),
|
|
61
65
|
__metadata("design:returntype", void 0)
|
|
@@ -63,6 +67,8 @@ __decorate([
|
|
|
63
67
|
VehicleController = __decorate([
|
|
64
68
|
Controller(),
|
|
65
69
|
__param(0, inject(Vehicles)),
|
|
66
|
-
|
|
70
|
+
__param(1, inject(EventsAPI)),
|
|
71
|
+
__metadata("design:paramtypes", [Vehicles,
|
|
72
|
+
EventsAPI])
|
|
67
73
|
], VehicleController);
|
|
68
74
|
export { VehicleController };
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type OpenCorePlugin } from './library/plugin';
|
|
2
2
|
import { type FrameworkMode, type ServerInitOptions } from './runtime';
|
|
3
|
+
import { OpenCoreServerAdapter } from './adapter';
|
|
3
4
|
export declare let _mode: FrameworkMode;
|
|
4
5
|
export interface OpenCoreInitOptions extends ServerInitOptions {
|
|
5
6
|
plugins?: OpenCorePlugin[];
|
|
6
7
|
}
|
|
8
|
+
export declare function useAdapter(adapter: OpenCoreServerAdapter): void;
|
|
7
9
|
export declare function init(options: OpenCoreInitOptions): Promise<void>;
|
|
@@ -4,11 +4,16 @@ import { Server } from './server.runtime';
|
|
|
4
4
|
import { initServer } from './bootstrap';
|
|
5
5
|
import { resolveRuntimeOptions, } from './runtime';
|
|
6
6
|
export let _mode;
|
|
7
|
+
let _pendingAdapter;
|
|
8
|
+
export function useAdapter(adapter) {
|
|
9
|
+
_pendingAdapter = adapter;
|
|
10
|
+
}
|
|
7
11
|
function createConfigAccessor(options) {
|
|
12
|
+
const runtimeOptions = { ...options };
|
|
8
13
|
return {
|
|
9
14
|
get(key) {
|
|
10
15
|
const segments = key.split('.').filter(Boolean);
|
|
11
|
-
let current =
|
|
16
|
+
let current = runtimeOptions;
|
|
12
17
|
for (const segment of segments) {
|
|
13
18
|
if (typeof current !== 'object' || current === null) {
|
|
14
19
|
return undefined;
|
|
@@ -20,6 +25,9 @@ function createConfigAccessor(options) {
|
|
|
20
25
|
};
|
|
21
26
|
}
|
|
22
27
|
export async function init(options) {
|
|
28
|
+
if (!options.adapter && _pendingAdapter) {
|
|
29
|
+
options = { ...options, adapter: _pendingAdapter };
|
|
30
|
+
}
|
|
23
31
|
const resolved = resolveRuntimeOptions(options);
|
|
24
32
|
_mode = resolved.mode;
|
|
25
33
|
const registry = new PluginRegistry();
|
|
@@ -36,6 +36,8 @@ export interface CommandMetadata extends CommandConfig {
|
|
|
36
36
|
security?: SecurityMetadata;
|
|
37
37
|
/** True if the last parameter uses the spread operator (...args) */
|
|
38
38
|
hasSpreadParam?: boolean;
|
|
39
|
+
/** True when a parameter defines a JS default value. */
|
|
40
|
+
defaultParams?: boolean[];
|
|
39
41
|
}
|
|
40
42
|
type ServerCommandHandler = (() => any) | ((player: Player, ...args: any[]) => any);
|
|
41
43
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Player } from '../entities/player';
|
|
2
|
-
import { getParameterNames, getSpreadParameterIndices } from '../helpers/function-helper';
|
|
2
|
+
import { getDefaultParameterIndices, getParameterNames, getSpreadParameterIndices, } from '../helpers/function-helper';
|
|
3
3
|
import { METADATA_KEYS } from '../system/metadata-server.keys';
|
|
4
4
|
// Implementation
|
|
5
5
|
export function Command(configOrName, schema) {
|
|
@@ -20,6 +20,7 @@ export function Command(configOrName, schema) {
|
|
|
20
20
|
throw new Error(`@Command '${config.command}': first parameter must be Player if parameters are present`);
|
|
21
21
|
}
|
|
22
22
|
const paramNames = getParameterNames(descriptor.value);
|
|
23
|
+
const defaultParams = getDefaultParameterIndices(descriptor.value);
|
|
23
24
|
const spreadIndices = getSpreadParameterIndices(descriptor.value);
|
|
24
25
|
const hasSpreadParam = spreadIndices.length > 0 && spreadIndices[spreadIndices.length - 1];
|
|
25
26
|
const metadata = {
|
|
@@ -30,6 +31,7 @@ export function Command(configOrName, schema) {
|
|
|
30
31
|
paramNames,
|
|
31
32
|
expectsPlayer,
|
|
32
33
|
hasSpreadParam,
|
|
34
|
+
defaultParams,
|
|
33
35
|
};
|
|
34
36
|
Reflect.defineMetadata(METADATA_KEYS.COMMAND, metadata, target, propertyKey);
|
|
35
37
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RuntimeEventName } from '../../../adapters/contracts/runtime';
|
|
1
2
|
/**
|
|
2
3
|
* Registers a method as a server-side listener for a native Runtime event.
|
|
3
4
|
* Runtime === CitizenFX (Cfx)
|
|
@@ -22,4 +23,4 @@
|
|
|
22
23
|
* }
|
|
23
24
|
* ```
|
|
24
25
|
*/
|
|
25
|
-
export declare function OnRuntimeEvent(event:
|
|
26
|
+
export declare function OnRuntimeEvent(event: RuntimeEventName): (target: any, propertyKey: string) => void;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { NativeHandle } from 'src/runtime/core/nativehandle';
|
|
2
1
|
import { IEntityServer } from '../../../adapters/contracts/server/IEntityServer';
|
|
2
|
+
import { INpcLifecycleServer } from '../../../adapters/contracts/server/npc-lifecycle/INpcLifecycleServer';
|
|
3
3
|
import { IPedServer } from '../../../adapters/contracts/server/IPedServer';
|
|
4
4
|
import { Vector3 } from '../../../kernel/utils/vector3';
|
|
5
5
|
import { BaseEntity } from '../../core/entity';
|
|
6
6
|
import { Spatial } from '../../core/spatial';
|
|
7
7
|
import { SerializedNpcData } from '../types/npc.types';
|
|
8
|
+
import { NativeHandle } from '../../core';
|
|
8
9
|
export interface NpcAdapters {
|
|
9
10
|
entityServer: IEntityServer;
|
|
10
11
|
pedServer: IPedServer;
|
|
12
|
+
npcLifecycle: INpcLifecycleServer;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* Immutable-ish runtime session snapshot for an NPC.
|
|
@@ -137,7 +137,7 @@ export class NPC extends BaseEntity {
|
|
|
137
137
|
setRoutingBucket(bucket) {
|
|
138
138
|
if (!this.exists)
|
|
139
139
|
return;
|
|
140
|
-
this.adapters.entityServer.
|
|
140
|
+
this.adapters.entityServer.setDimension(this.session.handle, bucket);
|
|
141
141
|
this.session.routingBucket = bucket;
|
|
142
142
|
this._dimension = bucket;
|
|
143
143
|
}
|
|
@@ -147,7 +147,7 @@ export class NPC extends BaseEntity {
|
|
|
147
147
|
* @returns Routing bucket.
|
|
148
148
|
*/
|
|
149
149
|
getRoutingBucket() {
|
|
150
|
-
return this.adapters.entityServer.
|
|
150
|
+
return this.adapters.entityServer.getDimension(this.session.handle);
|
|
151
151
|
}
|
|
152
152
|
/**
|
|
153
153
|
* Current dimension of the NPC.
|
|
@@ -272,7 +272,7 @@ export class NPC extends BaseEntity {
|
|
|
272
272
|
delete() {
|
|
273
273
|
if (!this.exists)
|
|
274
274
|
return;
|
|
275
|
-
this.adapters.
|
|
275
|
+
void this.adapters.npcLifecycle.delete({ handle: this.session.handle });
|
|
276
276
|
}
|
|
277
277
|
/**
|
|
278
278
|
* Serialize the NPC into a transport-friendly plain object.
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { IPlayerInfo } from '../../../adapters';
|
|
2
2
|
import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
|
|
3
3
|
import { IEntityServer } from '../../../adapters/contracts/server/IEntityServer';
|
|
4
|
+
import { IPlayerLifecycleServer } from '../../../adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer';
|
|
5
|
+
import { IPlayerStateSyncServer } from '../../../adapters/contracts/server/player-state/IPlayerStateSyncServer';
|
|
4
6
|
import { IPlayerServer } from '../../../adapters/contracts/server/IPlayerServer';
|
|
5
7
|
import type { PlayerIdentifier } from '../../../adapters/contracts/types/identifier';
|
|
6
8
|
import { Vector3 } from '../../../kernel/utils/vector3';
|
|
@@ -9,7 +11,7 @@ import { Spatial } from '../../core/spatial';
|
|
|
9
11
|
import { LinkedID } from '../types/linked-id';
|
|
10
12
|
import { PlayerSession } from '../types/player-session.types';
|
|
11
13
|
import { SerializedPlayerData } from '../types/core-exports.types';
|
|
12
|
-
import { NativeHandle } from '
|
|
14
|
+
import { NativeHandle } from '../../core';
|
|
13
15
|
/**
|
|
14
16
|
* Adapter bundle for player operations.
|
|
15
17
|
* Passed to Player instances by PlayerDirectory.
|
|
@@ -17,6 +19,8 @@ import { NativeHandle } from 'src/runtime/core/nativehandle';
|
|
|
17
19
|
export interface PlayerAdapters {
|
|
18
20
|
playerInfo: IPlayerInfo;
|
|
19
21
|
playerServer: IPlayerServer;
|
|
22
|
+
playerLifecycle: IPlayerLifecycleServer;
|
|
23
|
+
playerStateSync: IPlayerStateSyncServer;
|
|
20
24
|
entityServer: IEntityServer;
|
|
21
25
|
events: EventsAPI<'server'>;
|
|
22
26
|
defaultSpawnModel: string;
|
|
@@ -36,6 +40,7 @@ export declare class Player extends BaseEntity implements Spatial, NativeHandle
|
|
|
36
40
|
private readonly session;
|
|
37
41
|
private readonly adapters;
|
|
38
42
|
private _position;
|
|
43
|
+
private _model;
|
|
39
44
|
/**
|
|
40
45
|
* Creates a new Player entity instance.
|
|
41
46
|
* This is typically instantiated by the `PlayerService` upon connection.
|
|
@@ -117,23 +122,13 @@ export declare class Player extends BaseEntity implements Spatial, NativeHandle
|
|
|
117
122
|
* @param model - The ped model to use (default from platform capabilities)
|
|
118
123
|
*/
|
|
119
124
|
spawn(vector: Vector3, model?: string): void;
|
|
125
|
+
respawn(vector: Vector3, model?: string): void;
|
|
120
126
|
/**
|
|
121
127
|
* Disconnects the player from the server.
|
|
122
128
|
*
|
|
123
129
|
* @param reason - The message displayed to the player upon disconnection.
|
|
124
130
|
*/
|
|
125
131
|
kick(reason?: string): void;
|
|
126
|
-
/**
|
|
127
|
-
* Sets the routing bucket (virtual world/dimension) for the player.
|
|
128
|
-
* Players in different buckets cannot see or interact with each other.
|
|
129
|
-
*
|
|
130
|
-
* @param bucket - The bucket ID (0 is the default shared world).
|
|
131
|
-
*/
|
|
132
|
-
setRoutingBucket(bucket: number): void;
|
|
133
|
-
/**
|
|
134
|
-
* Gets the current routing bucket.
|
|
135
|
-
*/
|
|
136
|
-
getRoutingBucket(): number;
|
|
137
132
|
/**
|
|
138
133
|
* Sets the player dimension (alias for setRoutingBucket).
|
|
139
134
|
*/
|
|
@@ -218,6 +213,8 @@ export declare class Player extends BaseEntity implements Spatial, NativeHandle
|
|
|
218
213
|
* @param armor - Armor value to set (typically 0-100).
|
|
219
214
|
*/
|
|
220
215
|
setArmor(armor: number): void;
|
|
216
|
+
get model(): string | undefined;
|
|
217
|
+
set model(model: string);
|
|
221
218
|
/**
|
|
222
219
|
* Kills the player by setting health to 0.
|
|
223
220
|
*/
|