#altv #module #alt-v #server-side #client-side #api #direct

altv_internal_mvalue

alt:V模块的内部库。不建议直接使用。

68个版本 (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日
15.0.0-rc.12023年7月23日

768WebAssembly

Download history 7/week @ 2024-05-03 463/week @ 2024-05-10 29/week @ 2024-05-17 12/week @ 2024-05-24 220/week @ 2024-05-31 48/week @ 2024-06-07 12/week @ 2024-06-14 3/week @ 2024-07-19 3/week @ 2024-07-26 132/week @ 2024-08-02 16/week @ 2024-08-09 126/week @ 2024-08-16

278 每月下载
2 个crate中使用 (通过 altv_internal_core_resour…)

MIT 许可证

175KB
3K SLoC


服务器端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 模块

非常感谢 第一个Rust模块的创建者,他们的工作帮助我理解了如何开始自己的模块

客户端部分

最初使用 本地实现wasmtime,没有使用JavaScript。 它工作了,但由于alt:V不允许在生产环境中使用未经批准的客户端模块 (.dll),并且需要整合到客户端核心、持续维护以及没有人使用这个模块,我转向了更实际的方案,JavaScript WASM

文档

API文档可在 此处 找到

如何使用

在此之前,您需要 安装LLVM

[!WARNING] 目前在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(通常与Rust使用Rustup一起安装)

【注意】如果您在安装或构建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”消息

依赖项

~3–16MB
~175K SLoC