ClassiCube เป็นไคลเอนต์ที่รองรับ Minecraft Classic แบบกำหนดเองที่เขียนด้วยภาษา C ตั้งแต่เริ่มต้น
สำคัญ
ClassiCube ไม่มีส่วนเกี่ยวข้องกับ (หรือสนับสนุนโดย) Mojang AB, Minecraft หรือ Microsoft แต่อย่างใด
ClassiCube ไม่ได้พยายามจำลอง Minecraft สมัยใหม่
มันจะไม่รองรับการเอาชีวิตรอด บัญชี Minecraft หรือเซิร์ฟเวอร์ Minecraft สมัยใหม่
ClassiCube มุ่งหวังที่จะจำลองไคลเอนต์ Minecraft Classic ปี 2009 ในขณะที่เสนอการปรับปรุง เพิ่มเติม เพื่อปรับปรุงการเล่นเกม ClassiCube สามารถทำงานได้บนหลายระบบ รวมถึงเดสก์ท็อป เว็บ มือถือ และแม้แต่คอนโซลบางเครื่อง
คุณสามารถ ดาวน์โหลด ClassiCube ได้ที่นี่ และเวอร์ชันล่าสุดได้ที่นี่
ClassiCube มุ่งมั่นที่จะจำลองประสบการณ์ Minecraft Classic ดั้งเดิมโดย ยึดมั่นในแนวทางวิศวกรรมย้อนกลับของห้องคลีนรูมอย่างเคร่งครัด
หากคุณสนใจที่จะบันทึกหรือตรวจสอบพฤติกรรมของ Minecraft Classic ดั้งเดิม โปรดติดต่อได้ที่ ClassiCube Discord
ในตอนแรก คุณจะต้องเรียกใช้ ClassiCube.exe เพื่อดาวน์โหลดเนื้อหาที่จำเป็นจาก minecraft.net และ classicube.net
เพียงคลิก 'ตกลง' ไปยังเมนูโต้ตอบที่ปรากฏขึ้นเมื่อคุณเริ่มตัวเรียกใช้งาน
หมายเหตุ: เมื่อเรียกใช้จากภายใน VirtualBox ให้ปิดการใช้งาน Mouse Integration ไม่เช่นนั้นกล้องในเกมจะทำงานไม่ถูกต้อง
โหมดผู้เล่นคนเดียว เรียกใช้ ClassiCube.exe จากนั้นคลิกผู้เล่นคนเดียวที่เมนูหลัก
โหมดผู้เล่นหลายคน เรียกใช้ ClassiCube.exe คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ LAN/โฮสต์ภายในเครื่อง และเซิร์ฟเวอร์ classicube.net ได้ หากคุณมีบัญชี ClassiCube
สาเหตุที่พบบ่อยที่สุดในการติดค้างอยู่บน OpenGL 1.1 คือไดรเวอร์ GPU ที่ไม่ทำงาน ดังนั้นหากเป็นไปได้ คุณควรลองติดตั้งหรืออัปเดตไดรเวอร์สำหรับ GPU ของคุณ
มิฉะนั้น:
-DCC_BUILD_GL11
ลงในบรรทัดคำสั่งการคอมไพล์ เพื่อให้เกมที่คอมไพล์รองรับ OpenGL 1.1ClassiCube ทำงานบน:
libcurl
และ libopenal
และยังดำเนินการต่อไป:
libcurl
และ libopenal
libexecinfo
, curl
และ openal-soft
(สามารถดาวน์โหลดได้จากที่นี่ )libexecinfo
, curl
และ openal-soft
(สามารถดาวน์โหลดได้จากที่นี่ )libexecinfo
, curl
และ openal
curl
และ openal
openal
(หากคุณมีบัญชี GitHub สามารถดาวน์โหลดได้จากที่นี่)curl
และ openal
SDL2
หมายเหตุ: คำแนะนำด้านล่างนี้จะคอมไพล์ ClassiCube โดยอัตโนมัติด้วยค่าเริ่มต้นที่แนะนำสำหรับแพลตฟอร์ม
หากคุณ (ไม่แนะนำ) ต้องการแทนที่ค่าเริ่มต้น (เช่น คอมไพล์ OpenGL build บน Windows) ดูรายละเอียดที่นี่
หากคุณได้รับข้อผิดพลาดในการคอมไพล์ The Windows SDK version 5.1 was not found
โปรดดูวิธีการแก้ไขที่นี่
cl.exe *.c /link user32.lib gdi32.lib winmm.lib dbghelp.lib shell32.lib comdlg32.lib /out:ClassiCube.exe
สมมติว่าคุณใช้ตัวติดตั้งจาก https://sourceforge.net/projects/mingw-w64/ :
gcc -fno-math-errno *.c -o ClassiCube.exe -mwindows -lwinmm
สมมติว่าคุณใช้ตัวติดตั้งจาก https://osdn.net/projects/mingw/ :
gcc -fno-math-errno *.c -o ClassiCube.exe -mwindows -lwinmm
การตั้งค่า TCC:
tcc-0.9.27-win64-bin.zip
จาก https://bellard.org/tcc/winapi-full-for-0.9.27.zip
จาก https://bellard.org/tcc/winapi
และ _mingw_dxhelper.h
จาก winapi-full-for-0.9.27.zip
ลงในโฟลเดอร์ include
ของ TCCรวบรวมกับ TCC:
ExtMath.c
ให้เปลี่ยน fabsf
เป็น fabs
และ sqrtf
เป็น sqrt
tcc.exe -o ClassiCube.exe *.c -lwinmm -lgdi32 -luser32 -lcomdlg32 -lshell32
tcc.exe
แทนที่จะเป็นเพียง tcc.exe
) libx11-dev
, libxi-dev
และ libgl1-mesa-dev
make linux
หรือcc -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
แม้ว่าแฟล็กการคอมไพล์ Linux ปกติจะทำงานได้ดี แต่เพื่อใช้ประโยชน์จากฮาร์ดแวร์อย่างเต็มที่:
gcc -fno-math-errno src/*.c -o ClassiCube -DCC_BUILD_RPI -rdynamic -lpthread -lX11 -lXi -lEGL -lGLESv2 -ldl
make darwin
หรือcc -fno-math-errno src/*.c src/*.m -o ClassiCube -framework Cocoa -framework OpenGL -framework IOKit -lobjc
misc/macOS/CCMAC.xcodeproj
ใน Xcode หมายเหตุ: หากคุณกำลังแจกจ่ายเวอร์ชันแก้ไข โปรดเปลี่ยน ID แพ็คเกจจาก com.classicube.android.client
เป็นอย่างอื่น - ไม่เช่นนั้นผู้ใช้ Android จะไม่สามารถติดตั้งทั้ง ClassiCube และเวอร์ชันแก้ไขของคุณพร้อมกันบนเครื่องได้ อุปกรณ์แอนดรอยด์
เปิดโฟลเดอร์ android
ใน Android Studio (TODO อธิบายรายละเอียดเพิ่มเติม)
เรียกใช้ gradlew
ในโฟลเดอร์ android (TODO อธิบายรายละเอียดเพิ่มเติม)
เวอร์ชัน iOS จะมีปัญหาเนื่องจากไม่สมบูรณ์และทดสอบใน iOS Simulator เท่านั้น
หมายเหตุ: หากคุณกำลังแจกจ่ายเวอร์ชันแก้ไข โปรดเปลี่ยน ID บันเดิลจาก com.classicube.ios.client
เป็นอย่างอื่น - ไม่เช่นนั้นผู้ใช้ iOS จะไม่สามารถติดตั้งทั้ง ClassiCube และเวอร์ชันแก้ไขของคุณพร้อมกันบนเครื่องได้ อุปกรณ์ iOS
misc/ios/CCIOS.xcodeproj
ใน Xcode xcodebuild -sdk iphoneos -configuration Debug
(TODO อธิบายรายละเอียดเพิ่มเติม)
make web
หรือemcc src/*.c -s ALLOW_MEMORY_GROWTH=1 -s TOTAL_STACK=1Mb --js-library interop_web.js
ไฟล์จาวาสคริปต์ที่สร้างขึ้นมีปัญหาบางประการ ดูวิธีการแก้ไขที่นี่
สำหรับรายละเอียดเกี่ยวกับวิธีการรวมเว็บไคลเอ็นต์เข้ากับเว็บไซต์ โปรดดูที่นี่
พอร์ตคอนโซลทั้งหมดต้องการความช่วยเหลือจากผู้ที่มีประสบการณ์ในการพัฒนาโฮมบรูว์ - หากคุณสนใจ โปรดติดต่อที่ ClassiCube Discord
เรียก make switch
คุณจะต้องมี libnx และ mesa
หมายเหตุ: ขอแนะนำอย่างยิ่งให้คุณติดตั้งแพ็คเกจ devkitpro ที่คอมไพล์แล้วจากที่นี่ - คุณต้องมีกลุ่ม switch-dev
และแพ็คเกจ switch-mesa switch-glm
)
วิ่ง make wiiu
คุณจะต้องมีวุฒิ
หมายเหตุ: ขอแนะนำอย่างยิ่งให้คุณติดตั้งแพ็คเกจ devkitpro ที่คอมไพล์แล้วจากที่นี่ - คุณต้องมีกลุ่ม wiiu-dev
)
รัน make 3ds
. คุณจะต้องมี libctru
หมายเหตุ: ขอแนะนำอย่างยิ่งให้คุณติดตั้งแพ็คเกจ devkitpro ที่คอมไพล์แล้วจากที่นี่ - คุณต้องมีกลุ่ม 3ds-dev
)
เรียกใช้ make wii
คุณจะต้องมี libogc
หมายเหตุ: ขอแนะนำอย่างยิ่งให้คุณติดตั้งแพ็คเกจ devkitpro ที่คอมไพล์แล้วจากที่นี่ - คุณต้องมีกลุ่ม wii-dev
)
เรียกใช้ make gamecube
คุณจะต้องมี libogc
หมายเหตุ: ขอแนะนำอย่างยิ่งให้คุณติดตั้งแพ็คเกจ devkitpro ที่คอมไพล์แล้วจากที่นี่ - คุณต้องมีกลุ่ม gamecube-dev
)
เรียกใช้ make ds
คุณจะต้องมี BlocksDS
เรียกใช้ make n64
คุณจะต้องมีสาขา opengl ของ libdragon
วิ่ง make vita
คุณจะต้องมี vitasdk
รัน make psp
. คุณจะต้องมีpspsdk
หมายเหตุ: ขอแนะนำให้คุณติดตั้งเวอร์ชัน pspsdk ที่คอมไพล์แล้วจากที่นี่
วิ่ง make ps3
. คุณจะต้องมี PSL1GHT
วิ่ง make ps2
. คุณจะต้องมี ps2sdk
วิ่ง make ps1
. คุณจะต้องมี PSn00bSDK
วิ่ง make 360
. คุณจะต้องมี libxenon
เรียก make xbox
. คุณจะต้องมี nxdk
วิ่ง make dreamcast
คุณจะต้องใช้ KallistiOS
วิ่ง make saturn
คุณจะต้องมีลิบยอล
libxi
, libexecinfo
, curl
และแพ็คเกจ openal-soft
หากจำเป็นmake freebsd
หรือcc src/*.c -o ClassiCube -I /usr/local/include -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lexecinfo
libexecinfo
, curl
และ openal
หากจำเป็นmake opensd
หรือcc 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
และ openal-soft
หากจำเป็นmake netbsd
หรือcc 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
และแพ็คเกจ openal-soft
หากจำเป็นmake dragonfly
หรือcc src/*.c -o ClassiCube -I /usr/local/include -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lexecinfo
make sunos
หรือgcc -fno-math-errno src/*.c -o ClassiCube -lsocket -lX11 -lXi -lGL
gcc
, haiku_devel
, openal_devel
หากจำเป็นmake haiku
หรือcc -fno-math-errno src/*.c src/*.cpp -o ClassiCube -lGL -lnetwork -lstdc++ -lbe -lgame -ltracker
make beos
หรือcc -fno-math-errno src/*.c src/*.cpp -o ClassiCube -lGL -lbe -lgame -ltracker
make irix
หรือmake serenityos
หรือcc src/*.c -o ClassiCube -lgl -lSDL2
make macclassic_68k
(สำหรับรุ่น M68k)make macclassic_ppc
(สำหรับการสร้าง PPC)โดยปกติแล้ว PowerPC build จะทำงานได้ดีกว่ามาก
คุณจะต้องเขียนโค้ดที่จำเป็น คุณควรอ่าน portability.md
ในโฟลเดอร์ doc
ฟังก์ชันและตัวแปรในไฟล์ .h ส่วนใหญ่จะบันทึกไว้
ข้อมูลเพิ่มเติม (เช่น สไตล์) สำหรับซอร์สโค้ดของ ClassiCube สามารถพบได้ในโฟลเดอร์ doc และ misc
แก้ไขข้อผิดพลาดในการคอมไพล์เมื่อใช้ musl หรือ glibc เก่าสำหรับไลบรารีมาตรฐาน C
กด Escape (หลังจากเข้าร่วมโลก) หรือหยุดชั่วคราวเพื่อสลับไปที่เมนูหยุดชั่วคราว
เมนูหยุดชั่วคราว -> ตัวเลือก -> การควบคุมแสดงรายการชุดคีย์ทั้งหมดที่ไคลเอนต์ใช้
โปรดทราบว่าการสลับเป็นเปิด 'vsync' จะลดการใช้งาน CPU ในขณะที่ปิดจะเพิ่มความเร็วในการโหลดสูงสุด
กด F เพื่อหมุนดูระยะทาง ระยะการมองที่ต่ำลงสามารถปรับปรุงประสิทธิภาพได้
หากเซิร์ฟเวอร์ปิดใช้งานการแฮ็ก การใช้คีย์ผสมเช่นการบินและความเร็วจะไม่ทำอะไรเลย
หากต้องการดูรายการคำสั่งในตัว ให้พิมพ์ /client
หากต้องการดูความช่วยเหลือสำหรับคำสั่งในตัว ให้พิมพ์ /client help <command name>
ClassiCube ใช้เสียงจาก Freesound.org
เครดิตเต็มแสดงอยู่ใน doc/sound-credits.md