Plugin Installation Guide
This guide is aligned with the latest implementation in E:/code/qexed_doc_pr (f57af391ad79823aac42b78399cefdc381ed31fc).
Prerequisites
- Completed Install
- A runnable Qexed server directory
- Rust toolchain installed (only needed when building plugins from source)
Directory Layout
Qexed scans plugins/*.wasm on startup:
server/
qexed.exe
config/
plugins/
hello_world.wasm
player_audit.wasm
Build Example Plugins
rustup target add wasm32-unknown-unknown
cargo build --manifest-path "plugins/examples/Cargo.toml" --target wasm32-unknown-unknown --release
Build outputs are under plugins/examples/target/wasm32-unknown-unknown/release/.
Installation Steps
- Ensure
pluginsexists in server root. - Copy
.wasmfiles intoplugins/(flat directory). - Restart Qexed and verify plugin load logs.
Example:
Copy-Item "plugins/examples/target/wasm32-unknown-unknown/release/hello_world.wasm" "plugins/"
Copy-Item "plugins/examples/target/wasm32-unknown-unknown/release/player_audit.wasm" "plugins/"
Quick Verification
- Startup logs should show plugin loading.
chunk_traceis noisy and should be used only for ABI debugging.slime_jumpanddouble_jumpare useful for event callback validation.
Common Issues
Plugin Not Discovered
- File extension must be
.wasm. - Files must be in
plugins/root, not nested directories.
ABI/Symbol Errors
- Build target must be
wasm32-unknown-unknown. - Export
memoryandqexed_plugin_alloc(len: i32) -> i32.