Jump to content

Создание проекта/сервера на AltV MP


Recommended Posts

У кого возникли трудности/ошибки при создании/сборке/запуске проекта, используйте подробную инструкцию ниже!


Для начала создать папку с проектом под названием Project и открыть её в VS Code.
Все последующие команды будут вводиться в консоль из текущей директории проекта, а также не забываем про "Запустить от имени администратора"!!!
Например:

C:\Users\User\Desktop\Project> ваша_команда_будет_тут

Инициализация package.json в директории проекта Project

npm init -y

Скрипты (и не только) вставить (а что-то с заменой) в Project\package.json

"type": "module", "scripts": { "clean": "rimraf ./resources", "update": "altv-pkg d release", "build": "npm run clean && swc ./src -d ./resources --copy-files --only /*.ts --quiet", "dev": "nodemon --watch \\"./src/\\" --ext \\"ts\\" --exec \\"npm run build && altv-server.exe\\"" }
Спойлер

При попытке запустить сервер (файлы JavaScript), использующий синтаксис модулей ES, с помощью Node.js может возникнуть ошибка.
Чтобы не допустить этого, вам нужно либо установить "type": "module" в вашем файле package.json, или использовать расширение .mjs для вашего файла.
В противном случае Node.js будет рассматривать ваш файл как модуль CommonJS и выдаст синтаксическую ошибку, когда встретит оператор import!!!

Установка стартовой оболочки сервера

npm i -g altv-srv
Спойлер

Эта команда устанавливает пакет altv-srv глобально с помощью NPM (Node Package Manager).
Флаг -g указывает на то, что пакет должен быть установлен глобально, то есть будет доступен в любой директории

altv-srv install release -d . -m server data js -o
Спойлер

После установки команда запускает пакет altv-srv для установки релизной версии игрового сервера Alt:V в текущий каталог (-d .). Флаг -m указывает, какие модули устанавливать, в данном случае server, data и js.
Флаг -o указывает, что операция должна перезаписать все существующие файлы.

ЕСЛИ ОШИБКА ПРИ ВЫПОЛНЕНИИ 'ALTV-SRV INSTALL …'

Спойлер

Пример ошибки:

altv-srv install release -d . -m server data js -o altv-srv : Невозможно загрузить файл C:\Users\User\AppData\Roaming\npm\altv-srv.ps1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу https:/go.microsoft.com/fwlink/?LinkID=135170. строка:1 знак:1 - altv-srv install release -d . -m server data js -o - `+ CategoryInfo : Ошибка безопасности: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess`

Исправление ошибки:
1. Откройте консоль PowerShell от имени администратора.
2. Выполните следующую команду, чтобы проверить текущую политику выполнения:

Get-ExecutionPolicy

Эта команда выведет текущую политику выполнения для PowerShell.
3. Если политика выполнения установлена на Restricted, что является значением по умолчанию, вам необходимо изменить его, чтобы разрешить выполнение сценариев. Это можно сделать, выполнив следующую команду:

Set-ExecutionPolicy RemoteSigned

Эта команда устанавливает политику выполнения на RemoteSigned, что позволяет запускать локально созданные сценарии без требования цифровой подписи, но требует цифровой подписи для всех сценариев, загруженных из интернета.
4. После установки политики выполнения попробуйте снова запустить команду altv-srv и проверьте, решена ли проблема.

Установка зависимостей

npm i -D @swc/cli @swc/core altv-pkg nodemon rimraf typescript typeorm @altv/types-client @altv/types-natives @altv/types-server @altv/types-shared @altv/types-webvie

Для использования PostgreSQL

npm i pg

или MySQL

npm i mysql

ОПИСАНИЕ КОМАНД

Спойлер


npm i -D @swc/cli @swc/core altv-pkg nodemon rimraf typescript typeorm @altv/types-client @altv/types-natives @altv/types-server @altv/types-shared @altv/types-webview


Эта команда использует NPM для установки нескольких пакетов и добавляет их как зависимости разработки (флаг -D) в проект.
Вот что делает каждый пакет:
@swc/cli и @swc/core - это компиляторы TypeScript / JavaScript, которые стремятся быть быстрее других популярных компиляторов, таких как Babel или сам TypeScript.
altv-pkg - пакет для создания и управления ресурсами сервера для многопользовательской игровой серверной платформы Alt:V.
nodemon - инструмент, который автоматически перезапускает приложение Node.js при каждом изменении файлов в проекте.
rimraf - инструмент для удаления файлов и каталогов, аналогичный команде Unix rm -rf.
typescript - популярный язык, добавляющий статическую типизацию в JavaScript.
typeorm - популярная библиотека Object Relational Mapping (ORM) для TypeScript и JavaScript.
@altv/types-client, @altv/types-natives, @altv/types-server, @altv/types-shared и @altv/types-webview - это определения типов для платформы многопользовательского игрового сервера Alt:V. Эти пакеты определяют типы функций и объектов, которые могут быть использованы в скриптах Alt:V.
 

npm i pg


Эта команда устанавливает пакет pg с помощью NPM. pg - это популярный пакет Node.js для работы с базами данных PostgreSQL. После установки этот пакет можно использовать для выполнения различных операций, таких как подключение к базе данных, выполнение SQL-запросов и т.д.

 

Создать файл конфигурации Project/.swcrc

{ "jsc": { "parser": { "syntax": "typescript", "dynamicImport": true, "functionBind": true, "decorators": true }, "target": "es2022", "transform": { "decoratorMetadata": true } } }

Cоздать файл конфигурации Project/tsconfig.json (C РАСШИРЕНИЕМ .cfg МОЖЕТ НЕ ЗАРАБОТАТЬ TypeScript!!!)

{ "compilerOptions": { "typeRoots": ["./node_modules/@types", "./node_modules/@altv"], "removeComments": true, "target": "es2022", "module": "commonjs", "moduleResolution": "node", "outDir": "./resources", "rootDir": "./src", "noEmit": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "sourceMap": true }, "include": ["src/**/*.ts"] }

Скопировать в Project/server.cfg

name:'My awesome server', host:'127.0.0.1', port:'7788', description:'Genetared by altv-srv', players:'1024', modules:[ 'js-module', ], resources:[core], debug: true

Создание директорий и файлов в папке Project

Project └── src └── core ├── client │ └── index.ts ├── resource.cfg ├── server │ └── index.ts └── shared └── index.ts Project/src/core/server/index.ts Project/src/core/client/index.ts Project/src/core/shared/index.ts Project/src/core/resource.cfg

Файл конфигураций Project/src/core/resource.cfg

type: js, main: server/index.js, client-main: client/index.js, client-files: [ client/* shared/* ], deps: []

Добавить в файл конфигураций altv.toml в директории клиента Alt:V

(ЧТОБЫ МОЖНО БЫЛО ИСПОЛЬЗОВАТЬ КОМАНДУ reconnect В КОНСОЛИ ALT:V (КЛАВИША [F8])

debug = true

 

  • Like 1
Link to comment
Share on other sites

  • Appi pinned this topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Fluid Width

Switch between fixed or fluid width

Sidebar Hide ON/OFF

You can hide or unhide your sidebar whenever you want.

Index Customizer

R
L

Sidebar Position

You can choose the position of sidebar, left or right / [ L ] for left, [ R ] for right.

2
3

Subforum Columns

You can choose how many columns to display your subforums

Y
N

Hide/Unhide Back To Top Button

Chose between display block and none [ Y = Show / N = Hide ]

Background Picker

Save
×
×
  • Create New...