Final Minetest "assemble" tree Revision: 231217 ---------------------------------------------------------------------- 1. What is this file? This file is the documentation for software referred to as the Final MineTest Assemble Tree. ---------------------------------------------------------------------- 2. Licenses: This content is open source. Multiple FOSS licenses are used, includ- ing GNU GPL 2 and 3, Creative Commons, BSD, MIT/X, WTFPL, and others. For details, see the license files and other documentation provided with individual components in the directory tree. ---------------------------------------------------------------------- 3. Introduction: The Final Minetest Assemble Tree is the master source tree for soft- ware known as Final Minetest. Minetest is a free game engine. Think of Minetest as a collection of blocky game worlds. Both offline worlds and communal worlds on the Internet are supported. The blocky game worlds have themes such as Old West, post apocalypse, ordinary cities, and many more. The client automatically downloads as- sets. Gameplay is defined by Lua mods which usually run on the server. This type of game is referred to as voxel. One well-known part of many voxel games is that you can acquire ores and other materials, often by mining them, and use them to "craft" objects such as tools. However, Minetest offers more than this. Final Minetest is the Minetest of choice for gamedevs and edutech and academic voxel work. No other Minetest meets all of the following cri- teria: * Free and Open Source * Not a walled garden * Compatible with both MT4 and MT5 protocols * Avoids breaking compatibility with old maps * Developers are public figures and not anonymous * Developers are attentive to license issues * Customizable through new modset APIs * Includes highly polished modsets from super-light to heavy * Includes multiple starter worlds ---------------------------------------------------------------------- 4. Websites and contact information: (a) As of Fall 2023, the home page for the software was located at: https://minetest.org/ The primary documentation was a wiki site located at: https://wiki.minetest.org/ The websites may or may not still exist. (b) The following email addresses may or may not still work: me@minetest.org tertiary@expertmultimedia.com ---------------------------------------------------------------------- 5. How is the "Assemble" tree used? The "Assemble" tree is used to build a set of files that go into its "prod/" subdirectory. Note: Your copy of this tree may or may not include previously built files in "prod/". The output files that are placed in "prod/" can be used to build, in- stall, or manage various pieces of Final Minetest. The most important "prod/" file, once things are built, is the Linux Minetest kit: prod/linux-minetest-kit.zip The Linux Minetest Kit can be used, under most Linux distros, to build Final Minetest servers and clients for both Linux and Windows. Windows isn't required to build the Windows parts. The Linux software is current. The Windows software is older but will be updated. ---------------------------------------------------------------------- 6. To get started: This is the first iteration of the Final MT "assemble" documentation. So, it's just a draft, but more will be added here. Dependencies to build the Final Minetest "assemble/prod/" components include basic Linux tools such as: bash, perl, tar, zip, unzip, etc. Dependencies to build Final Minetest servers and clients are document- ed in the Linux Minetest Kit [which the procedure below can be used to rebuild]. You should have a large tarball with a name similar to "assemble.tgz" or "minetest-assemble-231122.tgz". The digits will vary. Copy the tarball to a Linux box, preferably Debian 11, but other dis- tros should work with tweaks to the software. Create a directory named: /opt/minebest Unpack the tarball somewhere on the box. This should create a large directory tree. Move the top-level directory of that tree to: /opt/minebest/assemble So, for example, a developer might do this: mkdir -p /opt/minebest mv minetest-assemble*/ /opt/minebest/assemble Create a user and group named "minebest". Note: The "assemble" tree doesn't need to chown'd or chgrp'd to that. Try to rebuild the contents of the "prod/" subdirectory as follows: cd /opt/minebest/assemble/util/ bash -e buildskipwin.sh These commands should rebuild the "prod/" files except for the Windows Minetest Kit. If you'd like to include that, try these commands in- stead: cd /opt/minebest/assemble/util/ bash -e buildarch.sh Note: If the Windows Minetest Kit is included, the build process will take much longer. ---------------------------------------------------------------------- 7. In this directory: "changes/CHANGES" is the change-log file. Edit this file as appropri- ate. "linux-minetest-kit/" holds an unpacked copy of the current official snapshot or release copy of the Final MT Linux Minetest kit. "bucket_game/" holds an unpacked copy of the current snapshot or re- lease copy of Bucket Game. "bytesize_game/" holds an unpacked copy of the current snapshot or re- lease copy of ByteSize Game. "meselite_game/" holds an unpacked copy of the current snapshot or re- lease copy of Bucket Game. "mxe-minetest/" holds an unpacked copy of the current snapshot or re- lease copy of "mxe-minetest", the Final Minetest Linux to Windows cross-build kit. It may or may not include some pre-built Windows lib- raries and/or executables. "git-trees/" holds the following source trees, including "git" histor- ies: finetest-newline/ minetest-newline/ trolltest-newline/ The preceding trees must, and should, match the contents of the corre- sponding tarballs in: linux-minetest-kit/mtsrc/newline/ The following file is a snapshot or release ZIP file copy of the Linux Minetest kit suitable for distribution: prod/linux-minetest-kit.zip The following file is a snapshot or release ZIP file copy of the Windows Minetest Kit: prod/mxe-minetest.zip The Windows Minetest Kit is also known as the Final Minetest Linux to Windows cross-build kit: The following script rebuilds the preceding ZIP files: util/buildarch.sh Note: The following script rebuilds the preceding ZIP files except for the Windows Minetest Kit: util/buildskipwin.sh The general process for updating the "prod/" files is as follows: * Update the modsets in "*_game/" * Update the worlds in "linux-minetest-kit/mtsrc/worlds/" * Update the "git" trees in "git-trees/" * Update other files in "linux-minetest-kit/" * Update "changes/CHANGES" * Update "*/release.txt" * Execute "buildarch.sh" or "buildskipwin.sh" in "util/" ---------------------------------------------------------------------- End of document.