Skip to content

Структура проекта

Обычно gamemode содержит три независимо типизированных контекста и одно дерево результата для deployment.

text
my-gamemode/
├─ src/
│  ├─ server/main.ts
│  ├─ client/main.ts
│  └─ shared/events.d.ts
├─ ui/
│  ├─ src/
│  └─ index.html
├─ client-resources/resources/
├─ dist/
│  ├─ config.json
│  └─ scripting/
│     ├─ server/main.js
│     └─ client/
├─ tsconfig.server.json
├─ tsconfig.client.json
└─ package.json

Компилируйте server и client отдельно. Оба declaration package определяют глобальный vimp, но с разной формой; их одновременное подключение создаёт неверную модель типов.

Все файлы в <scripts_path>/client/ предлагаются подключающимся игрокам. Не кладите туда server source maps, секреты, database credentials или node_modules.

Server entrypoint имеет фиксированное имя: <scripts_path>/server/main.js. Client scripts и CEF assets размещаются в client tree и могут использовать package:// URL.

VIMP developer documentation