Documentation
Getting you up and running with Temper MC, hassle-free.
You don't need to be a Rustacean to run Temper MC. Whether you're a seasoned server admin or just looking to try it out, our comprehensive guide will walk you through the installation process step by step, ensuring you have your server up and running in no time. Let's get started!
Owner Guide
Downloading a prebuilt binary
No nonsense with compilers, toolchains or command line tooling. Just download, run and play. Perfect for server owners who just want to get a server up and running as quickly and painlessly as possible.
Bad News
Sorry but there aren't any current stable releases right now. We are planning to have a stable release out within the next few months, but in the meantime if you want to try it out you will need to build from source. The developer guide below will walk you through how to do that, and if you run into any issues or need help don't hesitate to ask in the Discord or open an issue on github.
Developer Guide
Building from source
Building from source for your hardware. Ideal for developers who want to contribute to the project, or just want to try it out before the stable release. This will get you up and running with a development build of Temper MC, and will also set you up with the necessary tools and environment to contribute to the project if you want to.
Install prerequisites
Installing rustup, the Rust toolchain installer, is the first step to building Temper MC from source. It will allow you to easily install and manage the Rust compiler and associated tools needed to build and run Temper MC. You can download rustup from the official website at https://rustup.rs/. Follow the instructions on the website to install rustup for your operating system, and make sure to add it to your system PATH if the installer doesn't do it automatically. Once you have rustup installed, you can use it to install the latest stable version of Rust by running rustup install stable in your terminal.
You will also need git installed from https://git-scm.com/ to clone the repository and manage your local copy of the codebase. Follow the instructions on the website to download and install git for your operating system, and make sure to add it to your system PATH if the installer doesn't do it automatically. After installing git, you can verify that it's working by running git --version in your terminal, which should display the installed version of git.
Clone the repository
git clone https://github.com/temper-mc/temper.git
cd temperBuild from source
For quick build times, still with good performance, you can build a debug build with the command below. If you want to squeeze out every last bit of performance and don't mind waiting longer for builds, you can build a release build with the second command.
cargo buildFor maximal performance try a release build. This can take a while on low-end machines, but will produce much faster binaries that are optimized for performance rather than fast compile times, which is ideal for running a server.
cargo build --releaseIf you need to squeeze the most possible performance out of your build, you can compile it for your specific CPU architecture with RUSTFLAGS="-C target-cpu=native" environment variable, which will enable optimizations that are specific to your CPU. Keep in mind that this will make your build non-portable, meaning it may not run on other machines with different CPU architectures, so it's generally recommended to only use this for personal builds on your own machine.
You should have a nice shiny new build of Temper MC ready to go in the target/debug or target/release directory, depending on whether you built a debug or release build.
Run the dev server
cargo runOpen a pull request
Once you made your changes and are ready to submit them, open a pull request on GitHub. Make sure to follow our contribution guidelines and provide a clear description of your changes and why they are needed. If your PR is a work in progress, feel free to mark it as a draft PR so that it's clear that it's not ready for review yet. If you need any help or have any questions about the contribution process, don't hesitate to ask in the Discord or open an issue on GitHub.
Additionally, we have a few checks that need to be run before a PR can be merged, which include automated tests and code formatting checks. These checks are run automatically when you open a PR, and you can also run them locally before submitting your PR to catch any issues early on.
cargo clippy --all-targets -- -Dwarnings
cargo fmt --all -- --check
cargo testIf all of these pass without errors, then your PR is in good shape for review. If any of these checks fail, you'll need to fix the issues before your PR can be merged. The error messages from these checks should give you a good idea of what needs to be fixed, and if you need any help understanding or fixing the issues, don't hesitate to ask in the Discord or open an issue on GitHub.
Running cargo fmt will automatically format your code according to our style guidelines, which can help you avoid formatting issues in your PR, while cargo clippy --fix --allow-dirty can automatically fix certain types of lint warnings, which can help you catch and fix common issues in your code before submitting your PR. Just make sure to review the changes made by these commands before committing them, to ensure that they don't introduce any unintended changes or break anything.
Stuck? We've got you.
Ask in Discord, open a GitHub issue, or browse the full documentation.