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

altv_internal_logger

alt:V模块的内部日志记录器。不建议直接使用。

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日

#1144WebAssembly

Download history 10/week @ 2024-05-03 465/week @ 2024-05-10 34/week @ 2024-05-17 18/week @ 2024-05-24 227/week @ 2024-05-31 54/week @ 2024-06-07 15/week @ 2024-06-14 2/week @ 2024-06-21 1/week @ 2024-06-28 1/week @ 2024-07-05 3/week @ 2024-07-19 7/week @ 2024-07-26 134/week @ 2024-08-02 17/week @ 2024-08-09 128/week @ 2024-08-16

每月287次 下载
3 个crate中使用 (2个直接使用)

MIT 许可证

7KB


Server-side 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),需要整合到客户端核心、持续维护以及超过0人使用此模块,我转向了更现实的方法,JavaScript WASM

文档

API文档可在此处找到

如何使用

在所有这些之前,您需要安装LLVM

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

[!IMPORTANT] 在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" 消息

依赖关系

~0.1–9.5MB
~44K SLoC