ClassiCube es un cliente personalizado compatible con Minecraft Classic escrito en C desde cero.
Importante
ClassiCube no está afiliado (ni respaldado por) Mojang AB, Minecraft o Microsoft de ninguna manera.
ClassiCube no intenta replicar el Minecraft moderno.
Nunca admitirá supervivencia, cuentas de Minecraft ni servidores modernos de Minecraft.
ClassiCube tiene como objetivo replicar el cliente Minecraft Classic 2009 al tiempo que ofrece mejoras opcionales para mejorar el juego. ClassiCube puede ejecutarse en muchos sistemas, incluidos escritorio, web, dispositivos móviles e incluso algunas consolas.
Puede descargar ClassiCube aquí y las últimas versiones aquí.
ClassiCube se esfuerza por replicar la experiencia original de Minecraft Classic adhiriendo estrictamente al enfoque de ingeniería inversa de sala limpia .
Si está interesado en documentar o verificar el comportamiento del Minecraft Classic original, póngase en contacto en ClassiCube Discord.
Inicialmente, deberá ejecutar ClassiCube.exe para descargar los recursos necesarios de minecraft.net y classicube.net.
Simplemente haga clic en "Aceptar" en el menú de diálogo que aparece cuando inicia el iniciador.
Nota: Cuando se ejecute desde VirtualBox, desactive la integración del mouse; de lo contrario, la cámara del juego no funcionará correctamente.
Modo para un jugador Ejecute ClassiCube.exe, luego haga clic en Un jugador en el menú principal.
Modo multijugador Ejecute ClassiCube.exe. Puede conectarse a servidores LAN/alojados localmente y a servidores classicube.net si tiene una cuenta ClassiCube.
La razón más común para quedarse atascado en OpenGL 1.1 es que los controladores de GPU no funcionan; por lo tanto, si es posible, debería intentar instalar o actualizar los controladores de su GPU.
De lo contrario:
-DCC_BUILD_GL11
a la línea de comando de compilación para que el juego compilado sea compatible con OpenGL 1.1.ClassiCube se ejecuta en:
libcurl
y libopenal
Y también se ejecuta en:
libcurl
y libopenal
libexecinfo
, curl
y openal-soft
(se pueden descargar desde aquí)libexecinfo
, curl
y openal-soft
(se pueden descargar desde aquí)libexecinfo
, curl
y openal
curl
y openal
openal
(si tiene una cuenta de GitHub, puede descargarlo desde aquí)curl
y openal
SDL2
Nota: Las instrucciones a continuación compilan automáticamente ClassiCube con los valores predeterminados recomendados para la plataforma.
Si (no recomendado) desea anular los valores predeterminados (por ejemplo, para compilar la versión OpenGL en Windows), consulte aquí para obtener más detalles.
Si recibe un error de compilación The Windows SDK version 5.1 was not found
, consulte aquí cómo solucionarlo
cl.exe *.c /link user32.lib gdi32.lib winmm.lib dbghelp.lib shell32.lib comdlg32.lib /out:ClassiCube.exe
Suponiendo que utilizó el instalador de https://sourceforge.net/projects/mingw-w64/:
gcc -fno-math-errno *.c -o ClassiCube.exe -mwindows -lwinmm
Suponiendo que utilizó el instalador de https://osdn.net/projects/mingw/:
gcc -fno-math-errno *.c -o ClassiCube.exe -mwindows -lwinmm
Configuración de TCC:
tcc-0.9.27-win64-bin.zip
de https://bellard.org/tcc/winapi-full-for-0.9.27.zip
desde https://bellard.org/tcc/winapi
y _mingw_dxhelper.h
de winapi-full-for-0.9.27.zip
a la carpeta include
de TCCCompilando con TCC:
ExtMath.c
, cambie fabsf
a fabs
y sqrtf
a sqrt
tcc.exe -o ClassiCube.exe *.c -lwinmm -lgdi32 -luser32 -lcomdlg32 -lshell32
tcc.exe
en lugar de solo tcc.exe
). libx11-dev
, libxi-dev
y libgl1-mesa-dev
make linux
occ -fno-math-errno src/*.c -o ClassiCube -rdynamic -lpthread -lX11 -lXi -lGL -ldl
gcc-mingw-w64
)i686-w64-mingw32-gcc -fno-math-errno src/*.c -o ClassiCube.exe -mwindows -lwinmm
gcc-mingw-w64
)x86_64-w64-mingw32-gcc -fno-math-errno src/*.c -o ClassiCube.exe -mwindows -lwinmm
Aunque los indicadores de compilación habituales de Linux funcionarán bien, para aprovechar al máximo el hardware:
gcc -fno-math-errno src/*.c -o ClassiCube -DCC_BUILD_RPI -rdynamic -lpthread -lX11 -lXi -lEGL -lGLESv2 -ldl
make darwin
occ -fno-math-errno src/*.c src/*.m -o ClassiCube -framework Cocoa -framework OpenGL -framework IOKit -lobjc
misc/macOS/CCMAC.xcodeproj
en Xcode NOTA: Si está distribuyendo una versión modificada, cambie el ID del paquete de com.classicube.android.client
a otro ; de lo contrario, los usuarios de Android no podrán tener ClassiCube y su versión modificada instaladas al mismo tiempo en su dispositivo Android
Abra la carpeta android
en Android Studio (TODO se explica con más detalle)
Ejecute gradlew
en la carpeta de Android (TODO se explica con más detalle)
La versión de iOS tendrá problemas porque está incompleta y solo se prueba en el Simulador de iOS
NOTA: Si está distribuyendo una versión modificada, cambie el ID del paquete de com.classicube.ios.client
a otro ; de lo contrario, los usuarios de iOS no podrán tener ClassiCube y su versión modificada instaladas al mismo tiempo en su dispositivo iOS
misc/ios/CCIOS.xcodeproj
en Xcode xcodebuild -sdk iphoneos -configuration Debug
(TODO explicar más detalladamente)
make web
oemcc src/*.c -s ALLOW_MEMORY_GROWTH=1 -s TOTAL_STACK=1Mb --js-library interop_web.js
El archivo javascript generado tiene algunos problemas. Vea aquí cómo solucionarlo.
Para obtener detalles sobre cómo integrar el cliente web en un sitio web, consulte aquí
Todos los ports de consola necesitan la ayuda de alguien con experiencia en el desarrollo de cerveza casera. Si está interesado, póngase en contacto en ClassiCube Discord.
Ejecute make switch
. Necesitarás libnx y mesa
NOTA: Se recomienda encarecidamente que instale los paquetes devkitpro precompilados desde aquí (necesita el grupo switch-dev
y los paquetes switch-mesa switch-glm
).
Ejecute make wiiu
. Necesitarás eso.
NOTA: Se recomienda encarecidamente que instale los paquetes devkitpro precompilados desde aquí (necesita el grupo wiiu-dev
).
Ejecute make 3ds
. Necesitarás libctru
NOTA: Se recomienda encarecidamente que instale los paquetes devkitpro precompilados desde aquí (necesita el grupo 3ds-dev
).
Ejecute make wii
. Necesitarás libogc
NOTA: Se recomienda encarecidamente que instale los paquetes devkitpro precompilados desde aquí (necesita el grupo wii-dev
).
Ejecute make gamecube
. Necesitarás libogc
NOTA: Se recomienda encarecidamente que instales los paquetes devkitpro precompilados desde aquí (necesitas el grupo gamecube-dev
).
Ejecute make ds
. Necesitarás BlocksDS
Ejecute make n64
. Necesitarás la rama opengl de libdragon
Ejecute make vita
. Necesitarás vitasdk
Ejecute make psp
. Necesitarás pspsdk
NOTA: Se recomienda instalar la versión precompilada de pspsdk desde aquí
Ejecute make ps3
. Necesitarás PSL1GHT
Ejecute make ps2
. Necesitarás ps2sdk
Ejecute make ps1
. Necesitarás PSn00bSDK
Ejecute make 360
. Necesitarás libxenon
Ejecute make xbox
. Necesitarás nxdk
Ejecute make dreamcast
. Necesitarás KallistiOS
Corre, make saturn
. Necesitarás Libiaul
libxi
, libexecinfo
, curl
y openal-soft
si es necesariomake freebsd
occ src/*.c -o ClassiCube -I /usr/local/include -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lexecinfo
libexecinfo
, curl
y openal
si es necesariomake opensd
occ src/*.c -o ClassiCube -I /usr/X11R6/include -I /usr/local/include -L /usr/X11R6/lib -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lexecinfo
libexecinfo
, curl
y openal-soft
si es necesariomake netbsd
occ src/*.c -o ClassiCube -I /usr/X11R7/include -I /usr/pkg/include -L /usr/X11R7/lib -L /usr/pkg/lib -lpthread -lX11 -lXi -lGL -lexecinfo
libxi
, libexecinfo
, curl
y openal-soft
si es necesariomake dragonfly
occ src/*.c -o ClassiCube -I /usr/local/include -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lexecinfo
make sunos
ogcc -fno-math-errno src/*.c -o ClassiCube -lsocket -lX11 -lXi -lGL
gcc
, haiku_devel
, openal_devel
si es necesariomake haiku
occ -fno-math-errno src/*.c src/*.cpp -o ClassiCube -lGL -lnetwork -lstdc++ -lbe -lgame -ltracker
make beos
occ -fno-math-errno src/*.c src/*.cpp -o ClassiCube -lGL -lbe -lgame -ltracker
make irix
omake serenityos
occ src/*.c -o ClassiCube -lgl -lSDL2
make macclassic_68k
(Para una compilación M68k)make macclassic_ppc
(Para una compilación de PPC)La compilación de PowerPC normalmente funcionará mucho mejor
Tendrás que escribir el código necesario. Deberías leer portability.md
en la carpeta doc.
Las funciones y variables en archivos .h están en su mayoría documentadas.
Puede encontrar más información (por ejemplo, estilo) sobre el código fuente de ClassiCube en las carpetas doc y misc.
Correcciones de errores de compilación al usar musl o glibc antiguo para la biblioteca estándar de C
Pulsa Escape (después de unirte a un mundo) o pausa para cambiar al menú de pausa.
Menú de pausa -> Opciones -> Controles enumera todas las combinaciones de teclas utilizadas por el cliente.
Tenga en cuenta que activar 'vsync' minimizará el uso de la CPU, mientras que desactivarlo maximizará la velocidad de carga de fragmentos.
Presione F para recorrer la distancia de visualización. Las distancias de visión más bajas pueden mejorar el rendimiento.
Si el servidor ha desactivado los hacks, las combinaciones de teclas como volar y velocidad no harán nada.
Para ver la lista de comandos integrados, escriba /client
.
Para ver la ayuda para un comando integrado determinado, escriba /client help <command name>
.
ClassiCube utiliza sonidos de Freesound.org
Los créditos completos se enumeran en doc/sound-credits.md