百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
C

ClassiCube

> 编程语言
开源

自上而下使用 C 编写的自定义 Minecraft Classic / ClassiCube 客户端(以前称为 C# 中的 ClassicalSharp)

2.0K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

自上而下使用 C 编写的自定义 Minecraft Classic / ClassiCube 客户端(以前称为 C# 中的 ClassicalSharp)

ClassiCube is a custom Minecraft Classic compatible client written in C from scratch.

You can download ClassiCube here and the very latest builds here.

[!IMPORTANT] ClassiCube is not affiliated with (or supported by) Mojang AB, Minecraft, or Microsoft in any way.

ClassiCube is not trying to replicate modern Minecraft.
It will never support survival, Minecraft accounts, or modern Minecraft servers.

What ClassiCube is

ClassiCube aims to replicate the 2009 Minecraft Classic client while offering optional enhancements to improve gameplay. ClassiCube can run on many systems, including desktop, web, mobile, and even some consoles.

Features (click to expand)
  • Much better performance and minimal memory usage compared to original Minecraft Classic
  • Optional enhancements including custom blocks, models, and environment colors
  • Partially supports some features of Minecraft Classic versions before 0.30
  • Works with effectively all graphics cards that support OpenGL or Direct3D 9
  • Runs on Windows, macOS, Linux, Android, iOS, and in a web browser
  • Also runs on OpenBSD, FreeBSD, NetBSD, Solaris, Haiku, IRIX, SerenityOS
  • Although in various stages of early development, also runs on various consoles

We need your help

ClassiCube strives to replicate the original Minecraft Classic experience by strictly adhering to clean room reverse engineering approach.

If you're interested in documenting or verifying the behaviour of the original Minecraft Classic, please get in contact on the ClassiCube Discord

How to play

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

Note: When running from within VirtualBox, disable Mouse Integration, otherwise the in-game camera won't work properly.

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

Multiplayer mode Run ClassiCube.exe. You can connect to LAN/locally hosted servers, and classicube.net servers if you have a ClassiCube account.

Stuck on OpenGL 1.1?

The most common reason for being stuck on OpenGL 1.1 is non-working GPU drivers - so if possible, you should try either installing or updating the drivers for your GPU.

Otherwise:

  • On Windows, you can still run the OpenGL build of ClassiCube anyways.
    (You can still try using the MESA software renderer from here for slightly better performance though)
  • On other operating systems, you will have to compile the game yourself.
    Don't forget to add -DCC_BUILD_GL11 to the compilation command line so that the compiled game supports OpenGL 1.1.

Supported systems

ClassiCube runs on:

  • Windows - 95 and later
  • macOS - 10.5 or later (can be compiled for 10.3/10.4 though)
  • Linux - needs libopenal
  • Android - 2.3 or later
  • iOS - 8.0 or later
  • Most web browsers (even runs on IE11)

And also runs on:

  • Raspberry Pi - needs libopenal
  • FreeBSD - needs libexecinfo and openal-soft packages (can download from here)
  • NetBSD - needs libexecinfo and openal-soft packages (can download from here)
  • OpenBSD - needs libexecinfo and openal packages
  • Solaris - needs openal packages
  • Haiku - needs openal package (if you have a GitHub account, can download from here)
  • BeOS - untested on actual hardware
  • IRIX - needs openal packages
  • HPUX - tested on 11v3 IA64
  • SerenityOS - needs SDL2
  • Classic Mac OS (System 7 and later)
  • Dreamcast - unfinished, but usable (can download from here)
  • Saturn - unfinished, major rendering and stability issues (can download from here)
  • 32x - terrible performance and practically unusable
  • Switch - unfinished, but usable (can download from here)
  • Wii U - unfinished, major issues (can download from here)
  • Wii - unfinished, but usable (can download from here)
  • GameCube - unfinished, but usable (can download from here)
  • Nintendo 64 - unfinished, moderate rendering issues (can download from here)
  • 3DS - unfinished, but usable (can download from here)
  • DS/DSi - unfinished, rendering issues (can download from here)
  • GBA - terrible performance and practically unusable
  • PS Vita - unfinished, rendering issues (can download from here)
  • PSP - unfinished, rendering issues (can download from here)
  • PS3 - unfinished, rendering issues (can download from here)
  • PS2 - unfinished, major rendering and stability issues (can download from here)
  • PS1 - unfinished, major rendering and stability issues (can download from here)
  • Xbox 360 - completely unfinished, broken on real hardware (can download from here)
  • Xbox - unfinished, rendering issues (can download from here)
  • Symbian (S60 3rd Edition FP1 and later) - unfinished, but usable

Compiling

Note: The instructions below automatically compile ClassiCube with the recommended defaults for the platform.
If you (not recommended) want to override the defaults (e.g. to compile OpenGL build on Windows), see here for details.

Compiling - Windows

Using Visual Studio
  1. Open ClassiCube.sln (File -> Open -> Project/Solution)
  2. Compile/Build it (Build -> Build Solution).

If you get a The Windows SDK version 5.1 was not found compilation error, see here for how to fix

Using Visual Studio (command line)
  1. Use 'Developer Tools for Visual Studio' from Start Menu
  2. Navigate to the directory with ClassiCube's source code
  3. Run cl.exe src\*.c third_party\bearssl\*.c /link user32.lib gdi32.lib winmm.lib dbghelp.lib shell32.lib comdlg32.lib /out:ClassiCube.exe
Using MinGW-w64

Assuming that you used the installer from https://sourceforge.net/projects/mingw-w64/ :

  1. Install MinGW-W64
  2. Use either Run Terminal from Start Menu or run mingw-w64.bat in the installation folder
  3. Navigate to the directory with ClassiCube's source code
  4. Run either:
    • make windows - produces a simple non-optimised executable, easier to debug
    • make windows RELEASE=1 - produces an optimised executable, harder to debug
Using MinGW

Assuming that you used the installer from https://osdn.net/projects/mingw/ :

  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. Navigate to the directory with ClassiCube's source code
  4. Run either:
    • make windows - produces a simple non-optimised executable, easier to debug
    • make windows RELEASE=1 - produces an optimised executable, harder to debug
Using TCC (Tiny C Compiler)

Setting up TCC:

  1. Download and extract tcc-0.9.27-win64-bin.zip from https://bellard.org/tcc/
  2. Download winapi-full-for-0.9.27.zip from https://bellard.org/tcc/
  3. Copy winapi folder and _mingw_dxhelper.h from winapi-full-for-0.9.27.zip into TCC's include folder

Compiling with TCC:

  1. Navigate to the directory with ClassiCube's source code
  2. Run tcc.exe -o ClassiCube.exe src/*.c third_party/bearssl/*.c -lwinmm -lgdi32 -luser32 -lcomdlg32 -lshell32
    (Note: You may need to specify the full path to tcc.exe instead of just tcc.exe)
Using Open Watcom v2

Setting up Watcom:

  1. Download and install Watcom from https://open-watcom.github.io/
  2. Open the WATCOM folder in the command line where it was installed (it was probably installed in C:\WATCOM) and run owsetenv.bat.

Compiling with Watcom:

  1. Navigate to the directory with ClassiCube's source code
  2. Run wcl386 -za99 -DCC_GFX_BACKEND=CC_GFX_BACKEND_GL1 -fe=ClassiCube.exe src/*.c third_party/bearssl/*.c winmm.lib (Note: OpenGL rendering was specifically chosen because Direct3D 9 is broken in OW v2; This method written for compilation under Windows; on Linux, the steps are slightly different)

Compiling - Linux

Using gcc/clang
  1. Install X11, XInput2, and OpenGL development libraries if necessary.
    For Ubuntu, these are the libx11-dev, libxi-dev and libgl1-mesa-dev packages
  2. Run either:
    • make linux - produces a simple non-optimised executable, easier to debug
    • make linux RELEASE=1 - produces an optimised executable, harder to debug
Cross compiling for Windows (32 bit):
  1. Install MinGW-w64 if necessary. (Ubuntu: gcc-mingw-w64 package)
  2. Run make windows CC=i686-w64-mingw32-gcc
Cross compiling for Windows (64 bit):
  1. Install MinGW-w64 if necessary. (Ubuntu: gcc-mingw-w64 package)
  2. Run make windows CC=x86_64-w64-mingw32-gcc
Raspberry Pi

Although the regular linux compiliation flags will work fine, to take full advantage of the hardware:

make rpi

Compiling - macOS

  1. Install a C compiler if necessary. The easiest way of obtaining one is by installing Xcode.
  2. Run either:
    • make darwin - produces a simple non-optimised executable, easier to debug
    • make darwin RELEASE=1 - produces an optimised executable, harder to debug
Using Xcode GUI
  1. Open the misc/macOS/CCMAC.xcodeproj project in Xcode
  2. Compile the project

Compiling - for Android

NOTE: If you are distributing a modified version, please change the package ID from com.classicube.android.client to something else - otherwise Android users won't be able to have both ClassiCube and your modified version installed at the same time on their Android device

Using Android Studio GUI

Open misc/android folder in Android Studio (TODO explain more detailed)

Using command line (gradle)

Run gradlew in misc/android folder (TODO explain more detailed)

Compiling - for iOS

iOS version will have issues as it's incomplete and only tested in iOS Simulator

NOTE: If you are distributing a modified version, please change the bundle ID from com.classicube.ios.client to something else - otherwise iOS users won't be able to have both ClassiCube and your modified version installed at the same time on their iOS device

Using Xcode GUI
  1. Open the misc/ios/CCIOS.xcodeproj project in Xcode
  2. Compile the project
Using command line (Xcode)

xcodebuild -sdk iphoneos -configuration Debug (TODO explain more detailed)

Compiling - webclient

  1. Install emscripten if necessary.
  2. Run either:
    • make web - produces simple non-optimised output, easier to debug
    • make web RELEASE=1 - produces optimised output, harder to debug

The generated javascript file has some issues. See here for how to fix

For details on how to integrate the webclient into a website, s

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言