Coder Social home page Coder Social logo

communityus-branch / classicube Goto Github PK

View Code? Open in Web Editor NEW

This project forked from classicube/classicube

0.0 1.0 0.0 26.95 MB

Custom Minecraft Classic / ClassiCube client written in C (formerly ClassicalSharp in C#) from scratch.

Home Page: https://www.classicube.net/

License: Other

C# 20.45% Shell 0.06% C 79.47% Makefile 0.02%

classicube's Introduction

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

screenshot_n

You can grab the latest stable binaries from here and the very latest builds from here.

What ClassiCube is

  • Works with both minecraft.net(classic has been removed by Mojang) and classicube.net 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.

Requirements

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

Instructions

Initially, you will need to run ClassiCube.exe to download the required assets from minecraft.net. 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, minecraft.net servers, and classicube.net 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.

Tips

  • 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

Windows

Compiling with Visual Studio:

Open ClassiCube.sln and compile it.

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

Compiling with MinGW-w64

I am assuming 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. Compile with the same flags as under Cross Compiling for windows, but use gcc instead of i586-mingw32msvc-gcc
Compiling with MinGW

I am assuming you used the installer from http://www.mingw.org/

  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 MinGW-w64, but also add -DUNICODE

Linux

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

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

Cross compiling for windows:

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

Mac OSX

gcc *.c -o ClassiCube -framework Carbon -framework AGL -framework OpenAL -framework OpenGL -lcurl

FreeBSD

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

OpenBSD

Install libexecinfo package if needed.

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

NetBSD

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

Solaris

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

NOTE: You have to change entry->d_type == DT_DIR to Directory_Exists(&path) (TODO do this automatically)

Web

emcc *.c -s FETCH=1 -s ALLOW_MEMORY_GROWTH=1 --preload-file texpacks/default.zip

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

Other

You'll have to write the necessary code. You should read portability.md in misc folder.

Known compilation errors

Fixes for compilation errors when using musl or old glibc for C standard library

Documentation

Functions and variables in .h files are mostly documented.

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

classicube's People

Contributors

unknownshadow200 avatar goodlyay avatar cybertronictoon avatar igor725 avatar 123dmwm avatar andrewphorn avatar pawelsberg avatar andreasgoulas avatar jjp137 avatar dylanagreen avatar videoerror avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.