Welcome to the Verloren developer wiki! We'll be documenting the design of Verloren and the structure of both the engine and other tools.
Veloren is a procedurally generated, simulated world role playing exploration adventure voxel game (that's quite a mouthful, isn't it?). The project was initially meant to be a simple Cube World clone, but has evolved into its own game, with a greater focus on having updates world simulation and depth as opposed to a focus on infinite generation.
This project is written in Rust, a relatively new language developed by Mozilla. The Rust Book is a great resource for learning the language, and all of the external crates in the project have documentation on docs.rs.
Like any cross-platform project, the build process is slightly different on every platform. Each step will have an entry for each platform if necessary.
Step 1: Install and configure Rust
The first step on any machine is to install rust. If you've already installed rust, then skip this step.
You can install rust on any platform by following the instructions on rustup.rs. Note: Some linux distributions may have rustup in their official repos. For example, you can install rustup on Arch Linux using sudo pacman -S rustup.
This project uses the nightly version of Rust. Once you have rustup installed, run
Currently, there are 3 crates (libraries) that you can run: server-cli, headless, and voxygen. To run any of them, open a terminal in their directory (game/server-cli, game/headless, or game/voxygen) and run
Cargo (Rust's dependency manager) will automatically download and compile any dependencies.
If you have a spare computer or vhost you can help the veloren team by providing a gitlab runner to increase test speed for developers.
Follow the following steps on your machine. Keep in mind that this basically allows remote execution of any code on your machine.
get a Iphlpapi.dll from windows and put it here: ~/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-gnu/lib
make sure only the I is capital. if you have no windows to get this file, ask in the discord chat
set your git user and email. runners should never push but they need to merge locally