FAQ: Difference between revisions

From Minetest
>ROllerozxa
>ROllerozxa

Revision as of 02:12, 12 July 2023


This is a collection of some frequently asked questions about Minetest. For technical problems, refer to Troubleshooting.

What is Minetest?

Minetest is a free software game engine desgined to create voxel-based games. A detailed description can be found at Minetest.

About the Engine

How much does Minetest cost?

Nothing. It's free.

Is Minetest a clone of Minecraft?

The very first version of Minetest was intended to replicate what Minecraft Alpha had been shown to do at the time (2010)[1]. It's goals soon diverged from Minecraft and eventually became a game engine instead.

Who created Minetest?

Perttu Ahola (also known as celeron55). It is currently developed by this random bunch of lunatics as well as the community.

What is Minetest written in?

Minetest is written in C++ using a forked version of the Irrlicht rendering engine. The game and mod API uses the Lua language.

Can I change the code myself?

Yes. Minetest is freely licensed (LGPL 2.1 and others).

When will the next version of Minetest be released?

Check the GitHub milestones for a good idea of how far along the next version is.

Why did the version change from 0.4.17.1 to 5.0.0?

Minetest switched to semver after 0.4.17.1 because the leading zero was never going to change. In the old versioning system 5.0.0 would be 0.5.0.0. Semver is cleaner and is an industry standard.

How do I install and run Minetest?

See Getting_Started#Getting_Minetest.

How do I update Minetest?

This depends on your operating system and installation method. You will usually either download the newest version or run an update command. Some systems may require you to move your worlds and mods. If you are using the Git version, simply pull and compile every time you want to update.

Where and how do I find games to install?

Check out Minetest ContentDB for a list of games. You can easily install games (and other content) through the client in the Content tab ('Browse online content'). You may also manually install games you find on the forum or GitHub to the "games" folder in your Minetest data directory. For more information about games, see Games.

What is Irrlicht?

Irrlicht is a rather ancient real-time 3D engine. Currently Minetest uses it for rendering, managing the window, the underlying GUI, input handling, model and image format support.

As it's old and mostly unmaintained, there is work on moving away from Irrlicht. Currently Minetest uses its own fork of Irrlicht called IrrlichtMt, which is supposed to distill Irrlicht down to what Minetest actually uses, along with fixing issues that were previously out of reach. The goal is to reduce the reliance on Irrlicht in favour of SDL2 and our own rendering pipeline.

Why does the UI look so old?

The main menu and Minetest Game more or less uses the default Irrlicht styling from before formspec styling was introduced.

It is certainly possible to improve the UI, and some games style their GUI wonderfully, but deciding on changes to the engine's default styling that everyone can agree on is difficult. Contributions are welcome.

The main menu sucks!

We're working on it.

I have a technical problem, how to fix this?

See Troubleshooting.

Is Minetest multi-threaded?

Yes. Minetest's client and server run in different threads. The server also runs map generation in worker threads, although this is limited to a single thread currently due to issues (but can be changed in settings). The client runs mesh generation in worker threads. As of 5.7.0, mapblock rendering is done in parallel on several threads.

It's rare for games to be heavily concurrent as it's not needed for smaller games - it's usually only found in MMOs. It's a lot harder to write multi-threaded gameplay logic, which is in conflict with Minetest's aim to be an easy-to-use content creation platform. There is an API for mods to run tasks in a worker thread, however.

Why is it called "Minetest"?

Minetest started as an experiment (a test, if you will) to replicate Minecraft Alpha. The name stuck, and no one can agree on a new one.

Can you add support for iOS?

We are unable to add Minetest to the App Store as there is a license conflict. The App Store's EULA contains terms that limit software freedom, which (as far as the consensus goes) conflicts with (L)GPL licenses.

Whilst it theoretically would be possible to distribute apps outside of the App Store, iOS is generally anti software freedom. Users would need to either pay $80 a year for a developer license and have a Mac Book, or jailbreak their phone. Neither of these things are particularly desirable. Edit: looks like there are now third-party ways to sideload, and the EU may be forcing Apple to allow sideloading in the future, so this may not apply.

Another reason is that we have limited time, and we do not have a core developer that could be responsible for the development of an iOS version. See the question below.

Can you add support for X platform or console?

Minetest is a volunteer project with limited time and resources. Supporting a new platform takes a lot of effort, and we're only able to officially support platforms with a core developer using it.

In terms of consoles, if someone is willing to make a homebrew port for a game console then it can be done, and this port can be submitted to upstream given that the changes aren't intrusive and some kind of maintenance is kept. Putting Minetest onto a games console in any official capacity is not possible due to NDAs preventing an open source release, which is incompatible with the LGPLv2.1 license.

Minetest is open source. We welcome contributors to port Minetest to other platforms (providing they follow the licenses of course). Contributors are also welcome to contribute their changes back upstream as well, providing that they're not too intrusive.

Terminology

For a more complete list of Minetest terminology, see Terminology.

Mod
A "module" or "modification" to a game. See Mods.
Game
A collection of modules configured to run on the Minetest engine. See Games.
Subgame
A legacy term for game.
Texture pack
A set of client-side textures that overwrite included game or mod textures. See Texture Packs.
Node
Technical name for a single cube or block.
Mob
A moving creature. See Mobs.

About Minetest Game

What is Minetest Game?

Minetest Game is the game currently included with Minetest, mostly intended to show features and act as a base for mods. Minetest Game IS NOT Minetest, but just another game that is being officially maintained by the engine developers. See Minetest Game for more details.

In its vanilla state, it might be considered too boring of a game. It can be enough if you want to build in creative, but you will need to install additional mods for it to become a decent survival gameplay experience.

Where is [insert Minecraft feature here]?

Minetest Game is not intended to replicate Minecraft in any way. Features from Minecraft may be found in mods or other games (try out Mineclone2 for a close analog of Minecraft). If you would like to play a game with Minecraft features, we recommend playing Minecraft.

See also Differences from Minecraft.

Which Mineclone should I play?

Mineclone2 is the more popular and usually more stable version of Mineclone. Mineclone5 is a fork of Mineclone2 with a fast and loose development process resulting in more features sooner, but more instability. Nearly all features from Mineclone5 end up in Mineclone2. It is worth noting that Mineclone5 worlds may be converted to Mineclone2, but not the reverse.

Mineclonia is a somewhat inactive fork focused on stability. Mineclone (the original) was a project from 2015 intended to replicate Minecraft in Minetest, now succeeded by Mineclone2.

What is MeseCraft?

Contrary to what the name may suggest, MeseCraft is not a Minecraft clone. It is a collection of mods intended to provide a curated, ready-to-go survival experience.

Where is all the content? No mobs? No story?

Minetest Game is not designed with a story or goal in mind. It is simply a sandbox to play in. Mods or other games provide actual gameplay content. Try looking for some on the ContentDB.

You should add [insert feature here] to Minetest Game!

Minetest Game is currently in a low-development state, mostly just maintenance and bug fixes. New game features are not being considered as Minetest Game is intended to be retired from "default" status.

How does [insert item or block here] work? How do I craft it?

Refer to Blocks and Items for information on usage and crafting. You can also install a crafting guide mod to view available crafting recipes.

I was told there were dungeons. Where are they?

Make sure you enable dungeons when you create your world. They tend to spawn generally anywhere under or on the surface, you'll run into one eventually.

Community

Where can I ask questions?

You can ask in IRC (#minetest), the Forum, Discord, or Reddit. It is recommended to search history and archives first, many questions have already been answered.
Be mindful of which category (thread, channel, etc.) your question may fall under when asking on certain platforms.

Find out where you can get involved here.

How do I install third-party content?

You can find all kinds of community-made content on the Minetest ContentDB. You can find and install content from this database using "Browse online content" found in the Content tab in the main menu.

For manually installing content, see Installing Games, Installing Mods, Installing Maps, and Installing Texture Packs.

Why can't I find the mod default or [insert mod here]?

Some mods are part of games. Mods like default and wool are usually part of Minetest Game and are not meant to be installed as seperate mods. For a mod depending on e.g. default to work, you will need to use Minetest Game. Good game design practice is to prefix game-specific mods with the game name. Minetest Game is a particularly confusing case, unfortunately.

Are mods compatible with each other?

Unless otherwise noted, most mods will just work with each other (they may or may not interact perfectly). Different API implementations (such as mobs or stairs), game-specific mods, or competing content implementations may not be compatible with each other.

How do I connect to servers? Do I need a multiplayer account?

There is no globally valid multiplayer account in Minetest. For each server, you can use a different name and password. The "account" is created at first login. This way, only you can access your player and inventory on that particular server. You can always play singleplayer with no need for any username and password.

How do I make my own server?

Read Setting up a server and Server. See Server commands for a list of usual included chat commands.

How do I get an account for the Minetest Wiki?

By requesting one at https://forum.minetest.net/viewtopic.php?f=3&t=10473.

Gameplay

How do I see my coordinates or check my FPS?

Use the F5 key to toggle debug info. The top of your screen may display your FPS and coordinates, among other information. If the game or server you're playing on disables this information then it won't be visible. Pressing F5 again will toggle the profiler, and then wireframe mode if the debug privilege is possessed. A final press will toggle debug info off.

Why is my FPS so low?

There are many reasons your FPS could be low. A common culprit is having infinite viewing range enabled. This can be toggled, but there is no keybind set to do so. You can also try decreasing your regular view range using the - by default (+ to increase). Render distance is measured in nodes.

How do I enable full-screen?

On many systems your OS fullscreen key (such as alt+F11 on Ubuntu) should work just fine. Otherwise, navigate to Advanced Settings in the Settings tab in the main menu, and go to Graphics > In-Game > Advanced > Fullscreen, where you can double-click to change the value or use the Edit button. You will need to restart Minetest for this to take effect.

What are the controls? How do I change them?

See Controls.

Can I use a controller or gamepad?

Yes. It is recommended to use an external program to bind them, as the current engine implementation of them functions poorly. See Gamepads for more info.

Why can't I change settings in the pause screen?

Many settings require the game to reload anyway, but otherwise there simply isn't a menu implemented to do it. Contributions welcome.

How big is the map?

The map is a cube with a side length of 61840 node (blocks) lengths. The map has thus a volume equal to the volume of 618403 nodes = 236,487,637,504,000 nodes. The coordinates range from −30912 to 30927 in all dimensions.

See also Coordinates and World boundaries.

The map is too small! Can it be expanded?

Not currently. The current size of the world is plenty large, in addition to being approximately 62000 nodes in horizontal size, the world is also approximately 62000 nodes tall giving a lot of vertical space to expand to.

The reason the map is limited to this is due to the integer types of positions, along with float precision becoming less accurate the further from the origin one could theoretically go. The fix would require a lot of changes to the code, and cause a multiplayer netcode compatibility break which isn't something desirable right now and is of a lesser priority compared to other issues with the engine.

Can I change my skin?

Skins are implemented per-game and per-world, as there is no central authentication server where skins are managed. If you'd like to change your skin in singleplayer, try using one of the many skin mods. To change your skin on a server, use their skin mod (if any) or contact a member of management.

What format do skins use?

Minetest Game uses pre-1.8 Minecraft skins (64x32). These support regular body texture, a head overlay, 4px-wide arms, and a cape. Other skin mods implement 64x64 skin support or other formats.

How do I set my spawn point?

If you play Minetest Game, you can build a bed and sleep at night. On your next life, you will spawn on the bed.

Otherwise, you set your spawn point for all worlds using static_spawnpoint = (x,y,z) in your minetest.conf file.

How do I make the world flat?

Use the flat mapgen when creating your world and disable all the mapgen flags. If you want the world to use a single material, try the Really Flat mod.

Can I add fancy shaders?

As of 5.6.0, Minetest comes with toggleable dynamic shadows. Game support is required, if your game in particular does not support it you may use the enable_shadows mod. More advanced post-processing shaders, such as bloom or volumetric lighting, are in 5.7.0.

How do I increase the brightness?

See Troubleshooting#The_screen_is_too_dark.

How do I fly?

To fly, you first need the "fly" privilege. Use the K key to toggle flying. Ascend with the jump key (default: space bar) and descend with the sneak key (default: shift).

See also: Controls

How do I sprint?

With default Minetest behavior you can "go fast" using the "fast" privilege (toggled with the J key) and your auxilary key (default: E). This is a lot faster than natural sprinting. There are some mods and games that implement conventional sprinting.

See Controls.

How do I find my house again?

You can keep track of your coordinates (depending on the game) using debug info (F5). If you want, you can teleport to coordinates using

/teleport x y z

See Server commands#Teleportation. Requires "teleport" privilege.

In Minetest Game, you can avoid getting lost again if use /sethome at home to save your home position and /home to teleport back to it.

How do I generate a map of my world?

There are various mapping tools to generate previews of your world. There is also a fork of Amidst to preview biomes for a world seed.

Can I use WorldPainter with Minetest?

The author of WorldPainter has created a Minetest plugin for WorldPainter. Your mileage may vary.

Is there a World Edit for Minetest?

Yes. Check out other editing tools as well.

Can I convert Minecraft worlds and content to Minetest?

Yes, there are some tools to convert Minecraft content to Minetest. Your mileage may vary.

Game and Mod Development

What is a mod?

A mod (modification, alternatively can be interchanged with module in the case of Minetest) is a collection of code that can implement or change a feature. The simplest mod consists of just an init.lua inside a folder in the mods/ directory, and makes calls to Minetest Lua modding API in order to implement gameplay features or do other cool things. "Games" in Minetest consist of a collection of mods accessible from the main menu, more akin to "modpacks" in another voxel game.

What language are games and mods written in?

Minetest uses the Lua language for games and mods. It is simple, light, and fast. You can find plenty of tutorials online.

How can I learn to make games and mods?

We recommend the Minetest Modding Book to start. For more experienced users there is the Lua API reference available in the Minetest source tree, which is also available in a pretty HTML version.

If you need further help feel free to ask any questions in the forums or in any of the discussion channels (e.g. IRC, Discord...).

How fast is Lua?

Really, really fast.

Why can't I use modern Lua features?

Minetest uses LuaJIT which is based on Lua 5.1. In the future if PUC Lua ever matches JIT performance, Minetest could change to a newer version of Lua.

Can I write games or mods in [insert language here]?

If it can transpile to Lua or you connect your own interpreter, yes. E.g. Loria is written in Fennel. Otherwise, support for other languages will not be made first-class. Lua is designed for embedding and we will stick to it.

I want to use this Java mod! I need Java!

Lua can easily outperform a bridge to Java in most cases. If you really need to use another language for something like heavy data crunching, Lua can natively call C/++ libraries (only usable if a mod is trusted).

What is the Minetest API?

The Minetest API gives you access to everything the engine currently has to offer. You can find the latest API reference here. A ReadTheDocs version can be read here.

Can mods overwrite the engine?

Minetest mods must use the engine-provided API. Unlike Minecraft, Minetest mods cannot change the engine. If you think the engine is missing a feature, consider opening an issue or write the feature yourself.

What is a formspec?

Formspec is the name of Minetest's UI toolkit, and is used to make dialogs and forms for mods. For more information see the Lua API documentation.

What is a listring?

Listrings are a convenience feature in Minetest to allow quick transfer of an itemstack from one inventory list to another with Shift+Click. Basically, listrings group several inventory lists together in a “ring” data structure. A shift-click will transfer an itemstack from one inventory list to the next inventory list in the listrings, and, if it is the final inventory list in the listring, it will be sent to the first inventory list. (see Lua API documentation)

How do I do biomes?

Biomes are distributed according to their heat and humidity values. These values generally range between 0 and 100. A voronoi diagram can be used to visualise the distribution, see the modding book.

What is devtest?

Development Test (devtest) is a game for testing engine features and doing mod development. It provides a minimal set of game content along with an extensive library of content for testing engine features. It is included with the engine.

What is mod security?

Mod security prevents mods from executing insecure methods without user approval. A mod needs to be explicitly specified as HTTP to utilize the HTTP API. A mod needs to be trusted to run many OS-level methods.

How do I debug my Lua code?

The "lua" interpreter is not very useful for debugging mod code, because mods are built to run in an environment specific to Minetest (they expect to be loaded after their dependencies, have access to the Minetest API, etc.). However, you may be able to break pieces of your logic into separate, stand-alone Lua library files that are not specific to Minetest. Where you have an opportunity to do this, testing outside of Minetest (using Lua 5.1's "lua" interpreter or LuaJIT's "luajit" interpreter) can be helpful. This might work for some utility functions and "class libraries".

There is no built-in debugger in Minetest, apart from "printf-style debugging" with functions like minetest.log() and dump(). There exists mods such as dbg which gives more advanced debugging capabilities than are available by default.

I get an error or warning message, what does it mean?

See Troubleshooting#Error messages without crashes.

Why can't I make other keybinds?

This is a missing feature. Contributions welcome.

How do I make models for my mods?

We recommend using Blender to create models.

Can I use Blockbench to make models?

Yes, but you will need to export and convert your models to a format Minetest supports using Blender. Converting animations from Blockbench is not known to work well (if at all).

Can I distribute games outside of Minetest?

Yes, but this is not officially supported in the engine, you will need to maintain a rebranded fork of the engine. See Distributing Minetest Games for notes on how to do so.

Can I sell games I make with Minetest?

As long as you comply with the license, yes. For the engine, you will need to publish the source code to any modifications you've made to it. If you use others' mods in the game then make sure you comply with their license terms and that they don't contain non-free assets that prevent commercial usage.