Skip to content
Custom Minecraft Classic / ClassiCube client written in C (formerly ClassicalSharp in C#) from scratch.
Branch: master
Clone or download
Latest commit 4ea2aca Mar 19, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
ClassicalSharp fix not showing command line args when failing to start due 'missing … Feb 28, 2019
src Add EGL backend Mar 19, 2019
credits.txt move classicalsharp source into sub-directory Feb 1, 2019
license.txt Fix saying 'very build' instead of 'very latest build' in readme Mar 11, 2019

ClassiCube is a custom Minecraft Classic and ClassiCube client written in C that works on Windows, Linux and OSX. It is not affiliated with (or supported by) Mojang AB, Minecraft, or Microsoft in any way.


You can grab the latest stable binaries here.

You can grab the very latest builds here

What ClassiCube is

  • Works with both has been removed by Mojang) and accounts.
  • Lightweight, minimal memory usage compared to the standard client.
  • Works with effectively all graphics cards that support OpenGL or Direct3D 9.
  • Provides single-player support, and both a flatgrass and vanilla-type map generator.

It does not work with 'modern/premium' Minecraft servers.


  • Windows: XP or later.
  • OSX: Only tested on OSX 10.5, may or may not work on later versions.
  • Linux: libcurl and libopenal.


Initially, you will need to run ClassiCube.exe to download the required assets from Just click 'OK' to the dialog menu that appears when you start the launcher.

Singleplayer Run ClassiCube.exe, then click Singleplayer at the main menu.

Multiplayer Run ClassiCube.exe. You can connect to LAN/locally hosted servers, servers, and servers through the launcher.

Windows specific

If you are stuck using the built-in OpenGL 1.1 software renderer, you can use the MESA software renderer from either here or here for slightly better performance. Typically though, this occurs because you have not installed GPU drivers.

Linux specific

*You will likely need to do chmod +x ClassiCube before running the game.


  • Press escape (after joining a world) or pause to switch to the pause menu.

  • Pause menu -> Options -> Controls lists all of the key combinations used by the client.

  • Note that toggling 'vsync' to on will minimise CPU usage, while off will maximimise chunk loading speed.

  • Press F to cycle view distance. A smaller number of visible chunks can improve performance.

  • If the server has disabled hacks, key combinations such as fly and speed will not do anything.

  • To see the list of built in commands, type /client.

  • To see help for a given built in command, type /client help <command name>.



Compiling with Visual Studio:

Open ClassiCube.sln and compile it.

Compiling with MinGW

I am assuming you used the installer from

  1. Install MinGW. You need mingw32-base-bin and msys-base-bin packages.
  2. Run msys.bat in the C:\MinGW\msys\1.0 folder.
  3. Compile with the same flags as under Cross Compiling for windows, but use gcc instead of i586-mingw32msvc-gcc
Compiling with MinGW-w64

I am assuming you used the installer from

  1. Install MinGW-W64
  2. Use either Run Terminal from Start Menu or run mingw-w64.bat in the installation folder
  3. Compile with the same flags as under Cross Compiling for windows, but use gcc instead of i586-mingw32msvc-gcc


Install appropriate libs as required. For ubuntu this means: libx11-dev, libgl1-mesa-dev, libopenal-dev, libcurl4-gnutls-dev or libcurl4-openssl-dev

Compiling for linux:

gcc *.c -o ClassiCube -lX11 -lpthread -lGL -lm -lcurl -lopenal -ldl

Cross compiling for windows:

i586-mingw32msvc-gcc *.c -o ClassiCube.exe -mwindows -lws2_32 -lwininet -lwinmm -limagehlp -lcrypt32 -ld3d9


i586-mingw32msvc-gcc *.c -DCC_BUILD_MANUAL -DCC_BUILD_WIN -DCC_BUILD_D3D9 -o ClassiCube.exe -mwindows -lws2_32 -lwininet -lwinmm -limagehlp -lcrypt32 -ld3d9

i586-mingw32msvc-gcc *.c -DCC_BUILD_MANUAL -DCC_BUILD_WIN -o ClassiCube.exe -mwindows -lws2_32 -lwininet -lwinmm -limagehlp -lcrypt32 -lopengl32


Install libexecinfo package if needed.

gcc *.c -o ClassiCube -isystem /usr/X11R6/include -isystem /usr/local/include -L /usr/X11R6/lib -L /usr/local/lib -lX11 -lGL -lcurl -lopenal -lexecinfo


gcc *.c -o ClassiCube -I /usr/X11R7/include -I /usr/pkg/include -L /usr/X11R7/lib -L /usr/pkg/lib -lX11 -lGL -lcurl -lopenal -lpthread -lexecinfo


Functions and variables in .h files are mostly documented.

General information (e.g. portablity) for the game's source code can be found in the misc folder.

You can’t perform that action at this time.