Skip to content

Server, client и UI

VIMP разделяет авторитетную логику, интеграцию с GTA и отображение интерфейса.

КонтекстИспользуйте дляНе доверяйте
ServerПравила, persistence, создание сущностей, validationRendering и GTA handles
ClientGTA natives, input, cameras, streamed wrappersЭкономика и permissions
CEF UIHTML/CSS интерфейсы и локальное состояниеПрямое изменение мира

Server

Сервер владеет состоянием сетевых сущностей. Custom event приходит вместе с отправившим его Player. Здесь проверяются identity, permissions, дистанция, ownership и форма payload.

Client

Клиент наблюдает streamed entities и управляет локальным представлением. id wrapper может быть локальным; для API, которому нужен server/network ID, используйте remoteId.

CEF UI

CEF-страница получает небольшой bridge как window.vimp и globalThis.vimp. Она отправляет сообщения client/server scripts, но не имеет прямого доступа к entities или natives.

text
CEF --emitClient--> client script --emitServer--> server script
CEF -------------------emitServer---------------> server script
server --player.emit / emitAllClients-----------> client script

Считайте любые события от client или CEF недоверенными данными.

VIMP developer documentation