Repository navigation
QtCraft 0.1.0
QtCraft 0.1.0 – first public release
A voxel sandbox game in the spirit of Minecraft, written from scratch in C++23 with Qt 6.8. Everything you see and hear – textures, sounds, music – is generated by the game itself; the content is plain JSON that mods can extend. This is an early release: broad and playable, with rough edges.
What's in it
- World generation: 18 biomes on a continuous climate map (with transition biomes such as snowy taiga and forest steppe), mountain ranges, caves, ores, winding rivers with deltas, lakes and rare lava lakes; villages, temples, mineshafts, dungeons, coastal towers. World types: normal, flat, void and a showcase world that shows everything the game and its mods contain. World options (biome size, caves, ore amount, villages …) are set per world.
- Survival and creative: mining, crafting, furnaces, hunger and food, farming and breeding, armour, bows, explosives, experience, enchanting and anvils, maps, a backpack, boats, beds; game modes survival, creative, adventure and spectator; game rules; advancements that guide a new player through the handbook.
- Building and Signal Dust: stairs, slabs, doors, fences, signs, frames and paintings; Signal Dust circuits with levers, buttons, repeaters, comparators, observers, pistons, dispensers and hoppers; rails and minecarts.
- Creatures and villages: more than 25 kinds of creatures, from farm animals and pets to monsters by night; villagers with professions, workplaces and trading.
- Multiplayer: a dedicated server (
qtcraft-headless --server) or a world opened for the LAN, over TCP with TLS (the client pins the server's certificate on first contact); passwords, operators, whitelist, chat, backups and an administration screen. Single player uses the same protocol with a local server. - Modding and texture packs: data-only mods (blocks, items, recipes, creatures, biomes, structures, villages, sounds, translations) and texture packs including HD packs and a realistic mode with material maps; the in-game handbook covers mods too.
- Interface: gamepad support, freely bindable keys, first- and third-person views, a character editor, interface scaling, English and German.
- Tools:
qtcraft-headlessruns servers and bots and offers a JSON control interface for scripts and agents.
Documentation: the handbook (also in the game with H or F1), the API reference, and the README with the guides under docs/ (playing, multiplayer and server hosting, modding, texture packs, control interface, building).
Worlds and compatibility
- A world remembers the version of the world generator it was created with and keeps generating new chunks as that version did, on the same system. Generator version 1 ships with 0.1.0 and is frozen: later releases change the generator only through new versions, so 0.1.0 worlds keep their look where new terrain meets old.
- Worlds from development builds before 0.1.0 may be refused with a message.
- For multiplayer, client and server must speak the same protocol version; use the same release on both sides.
Known limitations
- macOS: the app is not notarised. Open it the first time with right-click → Open (macOS 13 and 14), or allow it under System Settings → Privacy & Security → Open Anyway (macOS 15 and later).
- Windows: the program is not signed; SmartScreen asks on the first start (More info → Run anyway). The automated tests run on Windows in a VM, and the release package was played on a Windows 11 PC; the release workflow also checks the package itself (imported DLLs, a dedicated server with TLS and a bot that joins it). Windows is newer ground than macOS, so crash reports are especially welcome: the game writes them to the
logsfolder of its data folder. - Linux: no package; Linux builds only in an experimental CI job.
- Sound: the generated sounds and music have not had a dedicated listening review yet; that follows after the first playtest.
- API reference: QDoc reference for the libraries
common,worldgen,network,audio,worldsandheadless; the server, client core, app and QML follow later. - Same world on the same system: generated worlds are checked to be the same on the same system (the development Mac, and macOS in CI); between platforms (macOS versions, Windows, Linux, x86-64, ARM) details may differ by rounding.
- Intel Macs: the app is universal, but its Intel half has only been started under Rosetta on an Apple silicon Mac, never on a real Intel Mac.
- Qt version: the packages use open-source Qt 6.8.3; the game builds with any Qt 6.8 release.
Downloads and licences
Checked on the build machines: tests (macOS), package contents, licence texts, signature and
universal binaries (macOS), imported DLLs (Windows) and a start of the dedicated server, on
Windows with TLS and a bot that joins it. The game itself was not started there.
macOS (Apple silicon and Intel, macOS 13.3 or newer): QtCraft-*-macOS.zip or .dmg. The app is
not notarised, so macOS refuses its first start. On macOS 15 and later try to open it once,
then click Open Anyway under System Settings, Privacy & Security; on macOS 13 and 14
right-click (Control-click) the app in Finder, choose Open and confirm.
Windows 10 or 11, x64: QtCraft-0.1.0-Windows-x64.zip. Unpack it completely and
start qtcraft.exe; README-Windows.txt explains the SmartScreen warning (the program is not
signed). The -pdb.zip holds the debug symbols for crash reports and is not needed to play.
QtCraft is licensed under GPL-3.0-or-later. The packages contain Qt 6.8.3, used under
the GNU LGPL version 3, and the FFmpeg libraries of Qt Multimedia (GNU LGPL version 2.1 or
later); the licence texts and a notice are in QtCraft.app/Contents/Resources/licenses (macOS)
and in the folder licenses of the Windows package.
Corresponding source:
- Qt 6.8.3: https://download.qt.io/archive/qt/6.8/6.8.3/single/qt-everywhere-src-6.8.3.tar.xz
- FFmpeg: the tag named in coin/provisioning/common/unix/install-ffmpeg.sh (Windows:
common/windows/install-ffmpeg.ps1) of the repository qt/qt5 at the tag v6.8.3 (n7.1 for Qt 6.8.3),
https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n7.1.tar.gz; the build options are in that script.
The maintainers also send these sources on request.