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

altv_internal_core_shared

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

81 个版本 (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 日

#1#altv

Download history 26/week @ 2024-04-28 173/week @ 2024-05-05 308/week @ 2024-05-12 23/week @ 2024-05-19 7/week @ 2024-05-26 249/week @ 2024-06-02 30/week @ 2024-06-09 6/week @ 2024-06-16 97/week @ 2024-07-28 46/week @ 2024-08-04 17/week @ 2024-08-11

每月 160 次下载
2 个 crate 中使用 (altv_internal_core_resour…)

MIT 许可

88KB
750 代码行


服务器端 alt:V API 用于 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),并且需要集成到客户端核心、持续维护以及没有超过 0 人使用此模块,我转向了更现实的方法,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(通常通过Rustup与Rust一起安装)。

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

如果您更喜欢视频教程,可以查看本教程的视频格式

  1. 使用cargo new altv-resource --lib创建新的cargo包

  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模块.dll.so

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

  4. 像这样将rust-module添加到server.toml

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

依赖关系

~2.7–7.5MB
~134K SLoC