altv::events::on_player_connect(|event| {
let name = event.player.name()?;
altv::log!("player with name: {name} connected!");
Ok(())
});
New server-side Rust module for alt:V platform (WIP)
Big thanks to the creator of the first Rust module, as their work helped me understand how to start my own module
API documentation can be found here
Before start writing your server-side in Rust you need to install LLVM
If you are on Windows, don't forget to set
LIBCLANG_PATH
as an environment variable
If you have similar error:
src/alt_bridge.h:5:10: fatal error: 'memory' file not found
when installing or building altv_internal_sdk, try this
Video format of this tutorial if you are more into video tutorials
-
Create new cargo package with
cargo new altv-resource --lib
-
Configure cargo to compile your crate as
cdylib
in yourCargo.toml
[lib]
crate-type = ['cdylib']
-
After that you can install
altv
crate with:cargo add altv
-
Next step will be to add main function to your resource (
src/lib.rs
)
use altv::prelude::*; // Entity, WorldObject traits
#[altv::main] // This is required
fn main() -> impl altv::IntoVoidResult {
altv::log!("~gl~hello world");
}
-
Now you can build your resource with
cargo build
-
In
target/debug/
you should see the.dll
or.so
you just compiled (if you don't see it, make sure you setlib.crate-type
to["cdylib"]
, see step 2) -
Create new alt:V resource, in
resources
directory of your server -
Copy compiled
.dll
or.so
to resource directory -
Create
resource.toml
with this content:
type = 'rs'
main = 'example.dll' # your compiled .dll or .so
-
Don't forget to add resource to
server.toml
-
Now you can download rust-module
.dll
or.so
from latest release or withcargo-altvup
-
Copy it to
modules
directory of your server -
Add
rust-module
toserver.toml
like that:
modules = ['rust-module']
- Now if you have done everything correctly, you should see green "hello world" message in server console