A minecraft SMP Client written in D (License: GPLv3) – BraLa, Minecraft on a lower (WTF?) level
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Flattr this

BraLa is an opensource minecraft (S)MP Client:

Brala Screenshot

This screenshot was taken with an awesome 128x128 texture pack, called R3D-Craft, made by UniblueMedia.

Currently BraLa tries to load the texture pack from your currently installed minecraft, however you can use the --texture-pack=path/to/tetxture/pack.zip commandline switch to specify your custom texturepack.


BraLa is at this state just a minecraft (S)MP viewer with very basic physics, it is able to connect to 1.6.2 servers and display the world.

What BraLa can do:

  • Connect to 1.6.2 servers
  • Supports the whole 1.6.2 protocol
  • Display biome colors, based on rainfall/temperature
  • Display nearly all blocks
  • Physics
  • Authenticate with the official login servers
  • Read the lastlogin file / launcher_profiles.json
  • Send "snoop" requests

Not a whole lot, but a start.

Getting Started/Linux


BraLa brings most of the dependencies as gitsubmodules, but there are still a few things you need:

  • A D compiler (any of the major 3 should work, DMD, GDC or LDC)
  • A C compiler (dmc on windows and any C compiler on Linux/Mac, gcc recommended)
  • OpenGL 3.0+ support
  • OpenSSL
  • CMake on Linux/Mac

Ubuntu/Debian based systems

To install the latest dmd compiler, best choice is the d-apt repository:

sudo wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
sudo apt-get update && sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring && sudo apt-get update
sudo apt-get install dmd

And to install the rest of the dependencies:

sudo apt-get install git pkg-config cmake libssl-dev libxss-dev

Furthermore you need the libxrandr headers:

sudo apt-get install libxrandr-dev

Now you're ready to proceed with Cloning!


Since BraLa makes use of git submodules, you need the --recursive flag, when cloning:

git clone --recursive git://github.com/Dav1dde/BraLa.git
cd BraLa

Or you setup the submodules on your own:

git clone git://github.com/Dav1dde/BraLa.git
cd BraLa
git submodule init
git submodule update

D compiler

Since BraLa is written mostly in D, you need a D2 compiler. BraLa compiles with all major D compilers, DMD, LDC and GDC. To use LDC or GDC you have probably install these compilers from git, so the fronted version matches DMDs frontend version.


Building BraLa with DMD is easy:

./bin/bralad -c -h"localhost" # starts brala


Building with LDC is nearly the same:

make DC=ldc2


To build with GDC you have to specify gdc as D compiler:

make DC=gdc

Getting Started/Windows

These steps assume, that you have git already installed.

Download DMD2 (if you don't have dmd installed) with the D-Installer, make sure you checked the dmc option when installing.

To clone and compile BraLa open your terminal and run the following commands:

git clone --recursive git://github.com/Dav1dde/BraLa.git
cd BraLa
rdmd build_brala.d

The current working directory is important (you have to be in the repos root directory)!

To run BraLa:

bin\bralad.exe -c -h"localhost"


BraLa supports a few commandline options:

    --brala-conf            the path to brala.conf, relativ to "res" or absolute
    --username  -u          specifies the username, which will be used to auth with the login servers,
                            if this is not possible and the server is in offline mode, it will be used
                            as playername
    --password  -p          the password which is used to authenticate with the login servers, set this
                            to a random value if you don't want to authenticate with the servers
    --credentials   -c      uses minecrafts lastlogin file for authentication and logging in,
                            --username and --password are used as fallback
    --session               uses the supplied session to login to minecraft, this requires --username
    --auto-session  -a      tries to use launcher_profiles.json to extract session key
    --offline               start in offline mode
    --width                 specifies the width of the window
    --height                specifies the height of the window
    --not-resizable         window should not be resizable
    --renderer              Specify default renderer for BraLa, either deferred or forward
    --host  -h              the IP/adress of the minecraft server
    --port                  the port of the minecraft server, defaults to 25565
    --res                   path to the resources folder, named "res"
    --no-snoop              disables "snooping" (= sending completly anonym information to mojang)
    --texture-pack          Path to texture pack, if none specified defaults to config or tries to find minecraft.jar


Found a bug? Submit it to the issue-tracker.

You need support on getting BraLa to run on your computer or just want to talk me? Drop me an E-Mail or contact me over IRC, I am a lot on #mcdevs.

Or do you want me help out with the development? Simply fork BraLa and submit a Pull-Request. If you don't know D, but you still want to improve BraLa, feel free to improve the Wiki.