Installation
Esta página aún no está disponible en tu idioma.
This guide covers how to build and run Steel.
Requirements
Section titled “Requirements”- Rust nightly toolchain - Steel uses Rust 2024 edition features
- 64-bit operating system - Linux, macOS, or Windows
- Git - To clone the repository
Installing Rust
Section titled “Installing Rust”If you don’t have Rust installed, use rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shSteel requires the nightly toolchain. The repository includes a rust-toolchain.toml that automatically selects the correct version.
Building from Source
Section titled “Building from Source”# Clone the repositorygit clone https://github.com/Steel-Foundation/SteelMC.gitcd SteelMC
# Build in release mode (recommended for running)cargo build --release
# The binary will be at target/release/steelBuild Commands
Section titled “Build Commands”| Command | Purpose |
|---|---|
cargo build | Debug build (faster compile, slower runtime) |
cargo build --release | Release build (slower compile, optimized) |
cargo check | Fast syntax and type checking |
cargo test | Run the test suite |
cargo clippy | Run the linter |
Build Features
Section titled “Build Features”Steel supports optional build features that can be enabled with --features:
# Enable deadlock detection (debug only)cargo build --features deadlock_detection
# Enable heap profiling with dhatcargo build --features dhat-heap
# Disable the default mimalloc allocatorcargo build --no-default-featuresAvailable features:
| Feature | Description |
|---|---|
mimalloc | Use mimalloc allocator (enabled by default) |
deadlock_detection | Enable parking_lot deadlock detection for debugging lock issues |
dhat-heap | Enable heap profiling with dhat |
Deadlock Detection is particularly useful during development if you’re experiencing hangs or suspect lock-related issues. When enabled, parking_lot will detect potential deadlocks and panic with diagnostic information.
Running the Server
Section titled “Running the Server”# Run directly with cargo (debug mode)cargo run
# Run with release optimizationscargo run --release
# Or run the built binary directly./target/release/steelThe server will:
- Create a
config/steel_config.json5file if it doesn’t exist - Bind to
0.0.0.0:25565by default - Start accepting Minecraft 1.21.11 clients
Pre-built Binaries
Section titled “Pre-built Binaries”Pre-built binaries are available on the GitHub Releases page for:
- Linux (x86_64)
- Windows (x86_64)
- macOS (x86_64 and ARM)
Next Steps
Section titled “Next Steps”Now that you have Steel running, proceed to Configuration to customize your server.