Next-generation, memory-safe Rust platform and WebAssembly plugin ecosystem for the GoldSrc engine.
First-class specialization for Counter-Strike 1.6 (ReHLDS / ReGameDLL / Metamod / GoldClient).
GoldSrc.rs is a modern, modular technology platform engineered to replace decades of legacy, unstable, and closed-source server modding tools (such as AMX Mod X / AMXX) with high-performance Rust, sandboxed WebAssembly (Wasmtime Component Model), and pure open-source engineering.
- Zero-DRM & Zero-Snake-Oil: Free as in freedom (MIT / Apache-2.0). No obfuscated binaries, no external billing check crashes, and no monopoly licensing lock-ins.
- Microsecond Systems Craft: Zero-allocation hot paths, cache-line alignment, and mechanical sympathy.
- Memory Safety & Process Isolation: Plugins run in isolated WebAssembly sandboxes. A plugin bug never crashes the dedicated server process.
- Native UTF-8 Everywhere: Seamless native internationalization without legacy CP1251 code page corruption.
| Repository | Status | Description | Audience |
|---|---|---|---|
goldsrc |
Official facade meta-crate (use goldsrc::prelude::*;), Developer CLI (grs), and architectural standards hub. |
Plugin Authors & Integrators | |
goldsrc-runtime |
High-performance host engine, Metamod & Standalone C-ABI backends, and Wasmtime Component Model runtime. | Server Administrators & DevOps | |
goldsrc-sdk |
Pure guest SDK, procedural macros (#[plugin], #[command]), SPI contracts, and raw engine FFI bindings. |
Plugin Developers | |
goldsrc-plugins-standard |
Standard production suite of WASM plugins: administration, chat_director, map_manager, menu_frontend, moderation, privileges. |
Server Administrators | |
goldsrc-template-plugin-rust |
Canonical template repository for scaffolding new plugins with cargo generate. |
Plugin Developers | |
goldsrc-sdk-cstrike |
Counter-Strike 1.6 domain models: weapons, economy, round lifecycle, defuse/bomb typestates, and ReGameDLL hooks. | Game Mode Developers |
Scaffold and compile your first GoldSrc WebAssembly plugin in seconds:
# 1. Install the GoldSrc Developer CLI
cargo install --git https://github.com/goldsrc-rs/goldsrc.git grs
# 2. Add the unified facade crate to your Cargo.toml
# [dependencies]
# goldsrc = { git = "https://github.com/goldsrc-rs/goldsrc.git", branch = "dev" }use goldsrc::prelude::*;
#[plugin]
pub struct MyPlugin;
impl Plugin for MyPlugin {
fn on_load(&mut self) -> Result<()> {
log_info!("MyPlugin initialized on GoldSrc.rs!");
Ok(())
}
}- WebAssembly Sandboxing (Tier-1): Plugins execute within memory-isolated WebAssembly components. Memory limits, CPU instructions, and capability permissions (
#[permissions]) are strictly enforced by the host. - Deterministic FFI & Crash Containment: All C-ABI boundaries are wrapped with re-entrant panic barriers (
catch_unwind), guaranteeing that engine callbacks never cause undefined behavior. - Decoupled Architecture: Plugins never touch raw server pointers directly; all interactions pass through typed WIT component interfaces.
We welcome community contributions, suggestions, and benchmarks! Check out the Contributing Guide and join us in building the next generation of GoldSrc gaming.
Note
Half-Life, GoldSrc, and Counter-Strike are trademarks and/or registered trademarks of Valve Corporation.
GoldSrc.rs is an independent, non-commercial open-source project and is not affiliated with, endorsed by, or sponsored by Valve Corporation or the Rust Foundation.
All official GoldSrc.rs projects are dual-licensed under MIT OR Apache-2.0.