Home

Awesome

rustcraft

Minecraft game clone written in Rust, using the Bevy game engine.

<br>

image

image

<br>

Table of contents

<br>

Features

<br>

Installation

Manual

You can download the game for Windows and Linux from the Releases page of the GitHub repository.

Once downloaded, extract the archive for your operating system. The executable will be located in the /bin folder of the extracted directory.

Package Managers

Arch Linux

There are 2 AUR packages available for rustcraft:

You can install them using your preferred AUR helper, e.g. paru:

paru -S rustcraft
<br>

Controls

CategoryActionKey(s)
MovementJumpSpace
Strafe LeftA / Arrow Left
Strafe RightD / Arrow Right
Walk BackwardS / Arrow Down
Walk ForwardW / Arrow Up
Toggle Fly ModeF
Fly UpSpace
Fly DownLeft Shift
GameplayDestroy BlockLeft Mouse Button
Place BlockRight Mouse Button
InventoryOpen/Close InventoryE
Pick up stackLeft Click
Pick up half of stackRight Click (with empty mouse)
Deposit 1 itemRight Click (over valid stack)
Deposit MAX itemsLeft Click (over valid stack)
Exchange stacksLeft Click (over a different stack or full valid stack)
MiscellaneousToggle FPS DisplayF3
Toggle PerspectiveF5
Toggle Chunk DebugF4
Toggle Block DebugF6
Decrease Render DistanceO
Increase Render DistanceP
Exit GameEscape
<br>

How to Build

Prerequisites

To build and run this project, you need the following tools and dependencies installed:

1. Rust

2. Just

Note: You can also install Just using your system's package manager.

3. Dependencies

Install the required dependencies based on your operating system:

Windows

Arch Linux

sudo pacman -S base-devel mold clang vulkan-radeon vulkan-tools

Ubuntu/Debian

sudo apt install -y build-essential mold clang mesa-vulkan-drivers vulkan-tools pkg-config libasound2-dev libudev-dev

Running the Project

To compile and run the game locally, use the following commands:

Note: the first compilation will be slow depending on your hardware, next compilations will be incremental and thus faster.

# Clone the repository
git clone https://github.com/c2i-junia/rustcraft

# Navigate to the project directory
cd rustcraft

Debug mode:

./run1.sh        # this will compile the project and run the client 

./run-server.sh  # (optional) do this only to test multiplayer features

Release mode:

# Build the project in release mode
just generate-release-folder

# Run the executable
./release/bin/rustcraft         # run the client

./release/bin/rustcraft-server  # (optional) do this only to test multiplayer features
<br>

Contributing

Feel free to submit issues or open pull requests. If you want to know where to help, refer to the existing issues.

Guidelines

Format

Run cargo fmt before committing.

Commit messages:

Branches