Skip to content
Ironlark is in closed pre-alpha. Join the Discord for access.

Ironlark

A multiplayer game platform where the whole game is mods. Built with Rust, Bevy and WebAssembly Components.

Inspired by Garry's Mod and Roblox.
use ironlark::server::prelude::*;
// Mints `archetype::Sign` from the row declared in mod.toml.
ironlark::declares!("../mod.toml");
struct Guestbook;
impl ServerMod for Guestbook {
async fn on_join(_ctx: Context, player: Player) {
let signed = session::participants().await.len() as f32;
let at = SpawnPoint {
position: Vec3::new(1.5 * signed, 2.0, 0.0),
yaw: 0.0,
};
if let Ok(sign) = Entity::spawn(archetype::Sign, at).await {
let _ = sign.set_label(&format!("{player}")).await;
}
}
}
ironlark::export_server!(Guestbook);

A player joins. A sign appears in the world with their number on it, and every player in the session sees it. The signs stand in a row, so the row shows who joined and in what order.

What a mod is — every function the host offers one