Minetest は、モッディングとゲーム作成が簡単な無料のオープンソース ボクセル ゲーム エンジンです。
Copyright (C) 2010-2022 Perttu Ahola celeron55@gmail.com および貢献者 (ソース ファイルのコメントとバージョン管理ログを参照)
このファイルが含まれている Minetest Engine ソース コードをダウンロードした場合は、Minetest ゲーム プロジェクトもダウンロードする必要があります。詳細については、その README.txt を参照してください。
すべてのコントロールは、設定を使用して再バインド可能です。一部は、設定タブのキー構成ダイアログで変更できます。
ボタン | アクション |
---|---|
マウスを動かす | 見回す |
W、A、S、D | 動く |
スペース | ジャンプ/上に移動 |
シフト | こっそり/下に移動 |
Q | ドロップアイテムスタック |
Shift + Q | 単一のアイテムをドロップ |
マウスの左ボタン | アイテムを掘る/パンチする/取る |
マウスの右ボタン | 場所・用途 |
Shift + マウスの右ボタン | ビルド (使用せずに) |
私 | 在庫メニュー |
マウスホイール | アイテムを選択 |
0-9 | アイテムを選択 |
Z | ズーム(ズーム権限が必要) |
T | チャット |
/ | 指示 |
ESC | メニューの一時停止/中止/終了 (シングルプレイヤー ゲームのみ一時停止) |
R | 全範囲表示の有効化/無効化 |
+ | 視界範囲を広げる |
- | 視界範囲を狭める |
K | フライ モードの有効化/無効化 (フライ特権が必要) |
P | ピッチ移動モードの有効化/無効化 |
J | 高速モードの有効化/無効化 (高速特権が必要) |
H | noclip モードの有効化/無効化 (noclip 権限が必要) |
え | Aux1 (高速モードですばやく移動します。ゲームは特別な機能を追加する場合があります) |
ハ | カメラモードを切り替える |
Ⅴ | ミニマップ モードを切り替える |
Shift + V | ミニマップの向きを変更する |
F1 | HUD の非表示/表示 |
F2 | チャットの非表示/表示 |
F3 | フォグを無効化/有効化 |
F4 | カメラの更新を無効化/有効化 (マップブロックは、無効化すると更新されなくなり、リリース ビルドでは無効化されます) |
F5 | デバッグ情報画面を切り替える |
F6 | プロファイラー情報画面を切り替える |
F10 | コンソールの表示/非表示 |
F12 | スクリーンショットを撮ります |
場所:
bin- コンパイルされたバイナリ
share- 配布された読み取り専用データ
user- ユーザーが作成した変更可能なデータ
各プラットフォームの各場所は次のとおりです。
bin=
bin
share=
.
user=
.
bin=
C:\Program Files\Minetest\bin (Depends on the install location)
share=
C:\Program Files\Minetest (Depends on the install location)
user=
%APPDATA%\Minetest
bin=
/usr/bin
share=
/usr/share/minetest
user=
~/.minetest
bin=
Contents/MacOS
share=
Contents/Resources
user=
Contents/User OR ~/Library/Application Support/minetest
ワールドは、次の場所にある別のフォルダーとして見つけることができます。
user/worlds/
user/minetest.conf
--config <path-to-file>
location_of_exe/../minetest.conf。
location_of_exe/../../minetest.conf
--help
依存 | バージョン | 解説 |
---|---|---|
GCC | 5.1+ | またはClang 3.5+ |
CMake | 3.5+ | |
イルリヒト山 | - | Irrlicht のカスタム バージョンについては、https://github.com/minetest/irrlichtを参照してください。 |
フリータイプ | 2.0+ | |
SQLite3 | 3+ | |
Zstd | 1.0+ | |
LuaJIT | 2.0+ | バンドルされている Lua 5.1 が存在しない場合は使用されます |
GMP | 5.0.0+ | 存在しない場合は、バンドルされた mini-GMP が使用されます |
JsonCPP | 1.0.0+ | バンドルされた JsonCPP が存在しない場合は使用されます |
Debian/Ubuntu ユーザーの場合:
sudo apt install g++ make libc6-dev cmake libpng-dev libjpeg-dev libxi-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev libzstd-dev libluajit-5.1-dev
Fedora ユーザーの場合:
sudo dnf install make automake gcc gcc-c++ kernel-devel cmake libcurl-devel openal-soft-devel libvorbis-devel libXi-devel libogg-devel freetype-devel mesa-libGL-devel zlib-devel jsoncpp-devel gmp-devel sqlite-devel luajit-devel leveldb-devel ncurses-devel spatialindex-devel libzstd-devel
Arch ユーザーの場合:
sudo pacman -S base-devel libcurl-gnutls cmake libxi libpng sqlite libogg libvorbis openal freetype2 jsoncpp gmp luajit leveldb ncurses zstd
アルパインユーザー向け:
sudo apk add build-base cmake libpng-dev jpeg-dev libxi-dev mesa-dev sqlite-dev libogg-dev libvorbis-dev openal-soft-dev curl-dev freetype-dev zlib-dev gmp-dev jsoncpp-dev luajit-dev zstd-dev
Git をインストールして、コピーを簡単に最新の状態に保つことができます。Git が必要ない場合は、Git なしでソースを取得する方法について以下をお読みください。これは、Debian/Ubuntu に Git をインストールする例です。
sudo apt install git
Fedora ユーザーの場合:
sudo dnf install git
Git を使用してソースをダウンロードします (これは最新のソース リポジトリへの URL であり、常に機能するとは限りません)。
git clone --depth 1 https://github.com/minetest/minetest.git cd minetest
Git を使用して minetest_game をダウンロードします (それ以外の場合は「開発テスト」ゲームのみが利用可能です)。
git clone --depth 1 https://github.com/minetest/minetest_game.git games/minetest_game
IrrlichtMt を にダウンロードし
lib/irrlichtmtます。これは、IrrlichtMt の依存関係を満たすために使用されます。
git clone --depth 1 https://github.com/minetest/irrlicht.git lib/irrlichtmt
Git を使用せずにソースをダウンロードします。
wget https://github.com/minetest/minetest/archive/master.tar.gz tar xf master.tar.gz cd minetest-master
Git を使用せずに minetest_game をダウンロードします。
cd games/ wget https://github.com/minetest/minetest_game/archive/master.tar.gz tar xf master.tar.gz mv minetest_game-master minetest_game cd ..
Git を使用せずに IrrlichtMt をダウンロードします。
cd lib/ wget https://github.com/minetest/irrlicht/archive/master.tar.gz tar xf master.tar.gz mv irrlicht-master irrlichtmt cd ..
ソース ディレクトリから直接実行するバージョンをビルドします。
cmake . -DRUN_IN_PLACE=TRUE make -j$(nproc)
それを実行します:
./bin/minetest
cmake . -LHすべての CMake オプションとその現在の状態を確認するために使用します。
システム全体にインストールしたい (または配布パッケージを作成している) 場合は、
-DRUN_IN_PLACE=FALSE.
を指定することでベアサーバーを構築することができます
-DBUILD_SERVER=TRUE。
を指定することで、クライアント ビルドを無効にすることができます
-DBUILD_CLIENT=FALSE。
でリリースビルドとデバッグビルドを選択できます
-DCMAKE_BUILD_TYPE=<Debug or Release>。
ベア サーバーを構築する場合、IrrlichtMt をコンパイルする必要はありません。ヘッダーだけで十分です。
-DIRRLICHT_INCLUDE_DIR=/some/where/irrlichtmt/includeください。
Minetest は、次の順序で最初に見つかった IrrlichtMt パッケージを使用します。
IRRLICHTMT_BUILD_DIRた CMake 変数
${PROJECT_SOURCE_DIR}/lib/irrlichtmt(存在する場合)
BUILD_CLIENTの場合、 のヘッダー
IRRLICHT_INCLUDE_DIRが使用されます。
rm CMakeCache.txt)
一般的なオプションとそのデフォルト値:
BUILD_CLIENT=TRUE - Build Minetest client BUILD_SERVER=FALSE - Build Minetest server BUILD_UNITTESTS=TRUE - Build unittest sources BUILD_BENCHMARKS=FALSE - Build benchmark sources CMAKE_BUILD_TYPE=Release - Type of build (Release vs. Debug) Release - Release build Debug - Debug build SemiDebug - Partially optimized debug build RelWithDebInfo - Release build with debug information MinSizeRel - Release build with -Os passed to compiler to make executable as small as possible ENABLE_CURL=ON - Build with cURL; Enables use of online mod repo, public serverlist and remote media fetching via http ENABLE_CURSES=ON - Build with (n)curses; Enables a server side terminal (command line option: --terminal) ENABLE_GETTEXT=ON - Build with Gettext; Allows using translations ENABLE_GLES=OFF - Enable extra support code for OpenGL ES (requires support by IrrlichtMt) ENABLE_LEVELDB=ON - Build with LevelDB; Enables use of LevelDB map backend ENABLE_POSTGRESQL=ON - Build with libpq; Enables use of PostgreSQL map backend (PostgreSQL 9.5 or greater recommended) ENABLE_REDIS=ON - Build with libhiredis; Enables use of Redis map backend ENABLE_SPATIAL=ON - Build with LibSpatial; Speeds up AreaStores ENABLE_SOUND=ON - Build with OpenAL, libogg & libvorbis; in-game sounds ENABLE_LUAJIT=ON - Build with LuaJIT (much faster than non-JIT Lua) ENABLE_PROMETHEUS=OFF - Build with Prometheus metrics exporter (listens on tcp/30000 by default) ENABLE_SYSTEM_GMP=ON - Use GMP from system (much faster than bundled mini-gmp) ENABLE_SYSTEM_JSONCPP=ON - Use JsonCPP from system RUN_IN_PLACE=FALSE - Create a portable install (worlds, settings etc. in current directory) USE_GPROF=FALSE - Enable profiling using GProf VERSION_EXTRA= - Text to append to version (e.g. VERSION_EXTRA=foobar -> Minetest 0.4.9-foobar) ENABLE_TOUCH=FALSE - Enable Touchscreen support (requires support by IrrlichtMt)
ライブラリ固有のオプション:
CURL_DLL - Only if building with cURL on Windows; path to libcurl.dll CURL_INCLUDE_DIR - Only if building with cURL; directory where curl.h is located CURL_LIBRARY - Only if building with cURL; path to libcurl.a/libcurl.so/libcurl.lib EGL_INCLUDE_DIR - Only if building with GLES; directory that contains egl.h EGL_LIBRARY - Only if building with GLES; path to libEGL.a/libEGL.so EXTRA_DLL - Only on Windows; optional paths to additional DLLs that should be packaged FREETYPE_INCLUDE_DIR_freetype2 - Directory that contains files such as ftimage.h FREETYPE_INCLUDE_DIR_ft2build - Directory that contains ft2build.h FREETYPE_LIBRARY - Path to libfreetype.a/libfreetype.so/freetype.lib FREETYPE_DLL - Only on Windows; path to libfreetype-6.dll GETTEXT_DLL - Only when building with gettext on Windows; paths to libintl + libiconv DLLs GETTEXT_INCLUDE_DIR - Only when building with gettext; directory that contains iconv.h GETTEXT_LIBRARY - Only when building with gettext on Windows; path to libintl.dll.a GETTEXT_MSGFMT - Only when building with gettext; path to msgfmt/msgfmt.exe IRRLICHT_DLL - Only on Windows; path to IrrlichtMt.dll IRRLICHT_INCLUDE_DIR - Directory that contains IrrCompileConfig.h (usable for server build only) LEVELDB_INCLUDE_DIR - Only when building with LevelDB; directory that contains db.h LEVELDB_LIBRARY - Only when building with LevelDB; path to libleveldb.a/libleveldb.so/libleveldb.dll.a LEVELDB_DLL - Only when building with LevelDB on Windows; path to libleveldb.dll PostgreSQL_INCLUDE_DIR - Only when building with PostgreSQL; directory that contains libpq-fe.h PostgreSQL_LIBRARY - Only when building with PostgreSQL; path to libpq.a/libpq.so/libpq.lib REDIS_INCLUDE_DIR - Only when building with Redis; directory that contains hiredis.h REDIS_LIBRARY - Only when building with Redis; path to libhiredis.a/libhiredis.so SPATIAL_INCLUDE_DIR - Only when building with LibSpatial; directory that contains spatialindex/SpatialIndex.h SPATIAL_LIBRARY - Only when building with LibSpatial; path to libspatialindex_c.so/spatialindex-32.lib LUA_INCLUDE_DIR - Only if you want to use LuaJIT; directory where luajit.h is located LUA_LIBRARY - Only if you want to use LuaJIT; path to libluajit.a/libluajit.so OGG_DLL - Only if building with sound on Windows; path to libogg.dll OGG_INCLUDE_DIR - Only if building with sound; directory that contains an ogg directory which contains ogg.h OGG_LIBRARY - Only if building with sound; path to libogg.a/libogg.so/libogg.dll.a OPENAL_DLL - Only if building with sound on Windows; path to OpenAL32.dll OPENAL_INCLUDE_DIR - Only if building with sound; directory where al.h is located OPENAL_LIBRARY - Only if building with sound; path to libopenal.a/libopenal.so/OpenAL32.lib SQLITE3_INCLUDE_DIR - Directory that contains sqlite3.h SQLITE3_LIBRARY - Path to libsqlite3.a/libsqlite3.so/sqlite3.lib VORBISFILE_LIBRARY - Only if building with sound; path to libvorbisfile.a/libvorbisfile.so/libvorbisfile.dll.a VORBIS_DLL - Only if building with sound on Windows; paths to vorbis DLLs VORBIS_INCLUDE_DIR - Only if building with sound; directory that contains a directory vorbis with vorbisenc.h inside VORBIS_LIBRARY - Only if building with sound; path to libvorbis.a/libvorbis.so/libvorbis.dll.a ZLIB_DLL - Only on Windows; path to zlib1.dll ZLIB_INCLUDE_DIR - Directory that contains zlib.h ZLIB_LIBRARY - Path to libz.a/libz.so/zlib.lib ZSTD_DLL - Only on Windows; path to libzstd.dll ZSTD_INCLUDE_DIR - Directory that contains zstd.h ZSTD_LIBRARY - Path to libzstd.a/libzstd.so/ztd.lib
vcpkg をパッケージ マネージャーとして使用することを強くお勧めします。
vcpkg を正常にビルドしたら、必要なライブラリを簡単にインストールできます。
vcpkg install zlib zstd curl[winssl] openal-soft libvorbis libogg libjpeg-turbo sqlite3 freetype luajit gmp jsoncpp opengl-registry --triplet x64-windows
lib/irrlichtmt最も簡単な方法は、Linux セクションで説明されているように、クローンを作成することです。
curlオプションですが、serverlist を読み取るために必要です。Content Store
curl[winssl]を使用するには必須です。
openal-soft、
libvorbisおよび
liboggはオプションですが、サウンドを使用するには必須です。
luajitはオプションで、統合された Lua インタープリターをより高速なジャストインタイム インタープリターに置き換えます。
gmpそれ
jsoncpp以外の場合は、バンドルされたバージョンがコンパイルされます
他にもオプションのライブラリがありますが、正しくビルドおよびリンクできるかどうかはテストされていません。
または など
--triplet、ターゲットのトリプレットを指定するために使用します。
x64-windows
x86-windows
D:/vcpkg/scripts/buildsystems/vcpkg.cmake
PowerShell で次のスクリプトを実行します。
cmake . -G"Visual Studio 15 2017 Win64" -DCMAKE_TOOLCHAIN_FILE=D:/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_GETTEXT=OFF -DENABLE_CURSES=OFF
cmake --build . --config Release
適切なコンパイラが選択されていること、および vcpkg ツールチェーンへのパスが正しいことを確認してください。
要件:
Visual Studio 2017 インストーラーでOptional Features -> WiX Toolsetを選択します。
上記のようにバイナリをビルドしますが、必ず選択を解除してください
RUN_IN_PLACE。
生成されたプロジェクト ファイルを Visual Studio で開きます。[パッケージ] を右クリックし、[生成]を選択します。インストーラーの生成には数分かかる場合があります。
自作で依存関係をインストールします。
brew install cmake freetype gettext gmp hiredis jpeg jsoncpp leveldb libogg libpng libvorbis luajit zstd
Git を使用してソースをダウンロードします (これは最新のソース リポジトリへの URL であり、常に機能するとは限りません)。
git clone --depth 1 https://github.com/minetest/minetest.git
cd minetest
Git を使用して minetest_game をダウンロードします (それ以外の場合は「開発テスト」ゲームのみが利用可能です)。
git clone --depth 1 https://github.com/minetest/minetest_game.git games/minetest_game
Irrlicht の Minetest のフォークをダウンロードします。
git clone --depth 1 https://github.com/minetest/irrlicht.git lib/irrlichtmt
mkdir build
cd build
cmake .. \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 \
-DCMAKE_FIND_FRAMEWORK=LAST \
-DCMAKE_INSTALL_PREFIX=../build/macos/ \
-DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE
make -j$(sysctl -n hw.logicalcpu)
make install
open ./build/macos/minetest.app
GitLab ミラー レジストリを使用して、Minetest サーバーの Docker イメージを提供します。
イメージはコミットごとに作成され、次のタグ スキームを使用して利用できます。
registry.gitlab.com/minetest/minetest/server:latest(最新ビルド)
registry.gitlab.com/minetest/minetest/server:<branch/tag>(現在のブランチまたは現在のタグ)
registry.gitlab.com/minetest/minetest/server:<commit-id>(現在のコミット ID)
Docker サーバーでテストしたい場合は、簡単に実行できます。
sudo docker run registry.gitlab.com/minetest/minetest/server:<docker tag>
本番環境で使用する場合は、Docker ホストにバインドされたボリュームを使用してデータを保持し、構成を変更する必要があります。
sudo docker create -v /home/minetest/data/:/var/lib/minetest/ -v /home/minetest/conf/:/etc/minetest/ registry.gitlab.com/minetest/minetest/server:master
データは
/home/minetest/dataホストに書き込まれ、構成は から読み取られ
/home/minetest/conf/minetest.confます。
注:上記のコマンドを理解できない場合は、使用する前に Docker の公式ドキュメントをお読みください。
Minetest サーバーを Kubernetes クラスター内でホストすることもできます。の実装例を参照してくださいmisc/kubernetes.yml
。
major.minor.patch5.0.0-dev から使用しています。それ以前は、 を使用してい
0.major.minorました。
5.0.0-dev および 0.4.17-dev 以降、dev 表記は次のリリースを指します。つまり、5.0.0-dev は 5.0.0 につながる開発バージョンです。それ以前は、 を使用してい
previous_version-devました。