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.
Download
Just head to the downloads page and grab the latest download for your operating system.
Extract
Extract the downloaded file to a folder of your choosing. All the relevant files and folder like the world, config, whitelist and so on will be created in this folder so you probably don't want to just stick it in your downloads folder.
Run
Then simply run the executable. For Windows this will be the temper.exe file, on Mac and linux it'll be the file called temper. For Windows you can just double click it to start, I don't know how it works on a Mac and I'll assume you can figure out how to run an executable file if you are running Linux.
Join
Boot up your Minecraft client, open the multiplayer screen and add a new server with the IP address of the server, or just hit the LAN server that will pop up if you are on the same network as the computer running it/you are joining from the computer that is running it.
Note that you probably won't be able to join from computers on other wifi networks if you aren't running this on a server/VPS. Don't blame me for this, that's just how the internet works. You'll likely want to look into port forwarding or services like ngrok or tailscale to let others join.
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-dirtycan 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.