#resources #altv #alt-v #module #cargo-toml #server-side #client-side

altv_internal_resource_main_macro

用于声明alt:V Rust资源的main函数的宏。不建议直接使用。

78次发布 (9个稳定版)

新版本 16.2.1 2024年8月19日
16.1.0 2024年6月2日
16.0.0-dev.12023年12月29日
15.1.0 2023年10月22日
0.3.1 2023年4月17日

#5#alt-v

Download history 28/week @ 2024-04-28 159/week @ 2024-05-05 302/week @ 2024-05-12 17/week @ 2024-05-19 4/week @ 2024-05-26 236/week @ 2024-06-02 23/week @ 2024-06-09 4/week @ 2024-06-16 86/week @ 2024-07-28 44/week @ 2024-08-04 12/week @ 2024-08-11

每月142次下载
altv 中使用

MIT 许可证

11KB
90


服务器端alt:V API for Rust

crates.io

altv::events::on_player_connect(|event| {
    let name = event.player.name()?;
    altv::log!("player with name: {name} connected!");
    Ok(())
});

为alt:V平台提供的新服务器端Rust模块

特别感谢该模块的创建者,他们的工作帮助我了解如何开始自己的模块

客户端部分

最初是使用本地实现wasmtime(无需JavaScript)完成的。它工作得很好,但由于alt:V不允许在生产环境中未经批准使用自定义客户端模块(.dll),并且需要集成到客户端核心、持续维护以及超过0人使用此模块,我转向了更现实的方案,即JavaScript WASM

文档

API文档可以在这里找到

如何使用

在此之前,您需要安装LLVM

[!警告] 目前在 Windows 上,LLVM 的最新版本(不兼容 Rust 模块),您需要安装 17.0.1 版本,例如使用 winget 可以使用以下命令进行安装:winget install LLVM.LLVM --version 17.0.1(如果失败,请添加 --force

[!重要] 在 Windows 上,将 LIBCLANG_PATH 设置为指向您 LLVM 安装 bin 目录的环境变量。例如,如果您将 LLVM 安装到 D:\programs\LLVM,则应将值设置为 D:\programs\LLVM\bin。您还需要安装带有 MSVC 编译器的 Visual Studio(通常通过 Rustup 与 Rust 一起安装)

[!注意] 如果在安装或构建 altv_internal_sdk 时遇到类似错误:src/alt_bridge.h:5:10: 致命错误: 'memory' 文件未找到,请尝试此方法

本教程的视频格式,如果您更喜欢视频教程

  1. 使用以下命令创建新的 cargo 包:cargo new altv-resource --lib

  2. 在您的 Cargo.toml 中配置 cargo 将您的 crate 编译为 cdylib

[lib]
crate-type = ['cdylib']
  1. 之后,您可以使用以下命令安装 altv crate:cargo add altv

  2. 下一步是将主函数添加到您的资源(src/lib.rs)中

use altv::prelude::*; // Entity, WorldObject traits

#[altv::main] // This is required
fn main() -> impl altv::IntoVoidResult {
    altv::log!("~gl~hello world");
}
  1. 现在您可以使用以下命令构建您的资源:cargo build

  2. target/debug/ 中,您应该看到您刚刚编译的 .dll.so(如果您没有看到它,请确保将 lib.crate-type 设置为 ["cdylib"],见第 2 步)

  3. 在服务器的 resources 目录中创建新的 alt:V 资源

  4. 将编译好的 .dll.so 复制到资源目录

  5. 使用以下内容创建 resource.toml

type = 'rs'
main = 'example.dll' # your compiled .dll or .so
  1. 别忘了将资源添加到 server.toml

  2. 现在,您可以从 最新发布版 或使用 cargo-altvup 下载 rust-module 的 .dll.so

  3. 将其复制到您的服务器上的modules目录(如果您没有使用cargo-altvup

  4. rust-module添加到server.toml中,如下所示

modules = ['rust-module']
  1. 现在,如果您一切操作正确,应该在服务器控制台看到绿色的“hello world”信息

依赖项

~1.5MB
~36K SLoC