This is an experimental copy for testing Poikilos' issue mirroring system. Note that Gitea's migration tool can import issues, but the "Issues" checkbox is disabled when "This repository will be a mirror" is enabled (it is for this repo).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
poikilos 4e90ec054e Add a world sync script. 3 years ago
Bucket_Game-base prepare for unified_hunger patch 5 years ago
Bucket_Game-branches add preliminary patch (has nil hunger issue on globalstep) 5 years ago
doc Try to get cmake working under Python. 4 years ago
mods-known-issues working on new player model issues 6 years ago
notes Add a line splitter. 4 years ago
overrides/CenterOfTheSun enable_leaf_decay 5 years ago
palettes/16-color Add reference photos for palette standardization 5 years ago
patches Add a proposed amhi_game icon. 4 years ago
procedures/testing Improve heading. 4 years ago
projects Add notes on iss script status and design. 4 years ago
utilities Add comments regarding potential string arguments. 4 years ago
.gitignore Add a line splitter. 4 years ago
archive-minetest-debug.sh improve log archiver script 5 years ago
branch.sh Rename functions. 4 years ago
build-MultiCraft.sh Rename functions. 4 years ago
build-minetest-here.sh Make the RUN_IN_PLACE warning more clear. 4 years ago
changelog.md Migrate installers to minetestenv-in-place.rc 4 years ago
chat-history-minetest.sh chmod sh files 5 years ago
deploy.py Conform EnlivenMinetest scripts to PEP8 fully. 5 years ago
du-show-big.sh chmod sh files 5 years ago
filever.py Conform EnlivenMinetest scripts to PEP8 fully. 5 years ago
forwardfilesync.py Conform EnlivenMinetest scripts to PEP8 fully. 5 years ago
generate-mt5-share-fix.py Add script to clean up accidental make install after RUN_IN_PLACE. 5 years ago
install-dev-NodeBoxEditor.sh chmod sh files 5 years ago
install-dev-minetest-autocomplete-zerobrane.sh reorganized files, improved minetest installers 6 years ago
install-dev-zerobrane.sh reorganized files, improved minetest installers 6 years ago
install-minetest-build-deps.sh use preset dir for build-MultiCraft.sh and improve dependency script output 5 years ago
install-minetest.sh Rename functions. 4 years ago
install-minimal.sh Rename functions. 4 years ago
install-mts-oneshot.sh Add a missing backslash. 4 years ago
install-mts.sh Improve configurability and comments. 4 years ago
install-subgametest.py Conform EnlivenMinetest scripts to PEP8 fully. 5 years ago
install.py Improve python2 support. 4 years ago
license.txt Stop shouting, FLOSS world. 5 years ago
meld-upstream.sh mark scripts deprecated by prepatch.sh changes 5 years ago
minetestenv-in-place.rc Improve spacing of git output. 4 years ago
minetestenv.rc Reduce mod metadata. Reduce console output... 4 years ago
minetestmapper-deps.sh Rename functions. 4 years ago
minetestmapper-web-install.sh Rename functions. 4 years ago
mounter.sh chmod sh files 5 years ago
mtbuild.rc Fix faulty use of '&&' within variable-based shell commands. 4 years ago
mtsenliven.py Improve python2 support. 4 years ago
noscreen-startweb.sh GitHub exodus, bones merge, find v5 via player_api 6 years ago
prepatch.sh Rename functions. 4 years ago
pull-world.sh Add a world sync script. 3 years ago
quality.sh Conform EnlivenMinetest scripts to PEP8 fully. 5 years ago
readme.md Do not depend on pwd. Add more config--see Changelog. 5 years ago
reset-minetest-install-source.sh Fix package manager detection. 4 years ago
startweb.sh detect backend, screen, nodejs, v5 in mts-ENLIVEN 6 years ago
stop-mts.sh chmod sh files 5 years ago
technic-enable-flashlights.sh add script to enable flashlights 6 years ago
uninstall-minetestserver-git-leftovers.sh chmod sh files 5 years ago
uninstall-minetestserver-git.py Conform EnlivenMinetest scripts to PEP8 fully. 5 years ago
unmounter.sh chmod sh files 5 years ago
update-Bucket_Game.sh Add a Bucket_Game update script. 4 years ago
update-minetest-linux64.sh Reduce mod metadata. Reduce console output... 4 years ago
update-minetest_game-mods-in-ENLIVEN reorganized files, improved minetest installers 6 years ago
update-minetestserver-git.sh reorganized files, improved minetest installers 6 years ago
versionize.sh Fix a missing dep and detect ver correctly in versionize.sh. 4 years ago

readme.md

EnlivenMinetest

(see also webapp/README.md) by Poikilos

  1. ENLIVEN is a subgame for minetest with the goals of providing immersion and lessons for humanity.
  2. The ENLIVEN project (aka EnlivenMinetest) includes tools for installing and maintaining the server and client for internet and LAN use, and now includes the mtanalyze (formerly minetest-chunkymap) project which includes many tools including chunkymap. The server and client are just the Minetest server and client repackaged (or just web installer scripts in the case of the server), and therefore 100% compatible with other copies of Minetest server and client of the same version--including using other subgames, which client will download from servers as usual.

Primary Features of EnlivenMinetest Project

  • Server installer for ENLIVEN on linux server (Ubuntu so far)
  • Client installer for single-player ENLIVEN, including on Windows
  • automatically install Minetest client with a usable minetest.conf (for improved graphics)

Primary Features of ENLIVEN subgame

Planned Features

There are several improvements I may implement in new or existing mods. See the Issues section of the GitHub project.

  • See also install-ENLIVEN-minetest_game.sh for a full list of mods from the old ENLIVEN that will probably be added to the new ENLIVEN which is based on Bucket_Game (many of the mods are already present because they are in Bucket_Game!)
  • Issues not yet added to the GitHub project's Issues are at Minetest Kanboard

Planned Removals

Disable or remove these Bucket_Game mods/features potentially (not matching theme):

  • codermobs gems (see codermobs_gem_*.png such as codermobs_gem_fire.png)
  • lmb_blocks
  • mychisel

node.js server manager

DISCLAIMERS

  • Please read the Sources and License section of this document. You must agree to the licenses mentioned in order to use and copy this program.
  • Any script code related to redis has not been successfully tested.
  • Make sure you convert your world to leveldb and place it in your server's worlds folder $HOME/.minetest/worlds/, as this set of scripts hasn't been tested with any other database nor worlds folder location, and nightly backup scripts cater to leveldb.

Install

Linux

  • Open terminal, then:
if [ ! -d webapp ]; then
    echo "ERROR: this will only work from the extracted or cloned EnlivenMinetest directory"
    echo "Press Ctrl C, or this terminal will exit..."
    sleep 1
    echo "3..."
    sleep 1
    echo "2..."
    sleep 1
    echo "1..."
    sleep 1
    exit 1
fi
cd webapp
# the next command downloads the latest linux-build-kit, CLEARS the
# webapp/linux-build-kit/minetest directory, and compiles the libraries.
# Do not put anything important in that directory--the latter install
# script installs the game to $HOME/minetest and that is the copy of
# minetest you should use (such as via the icon).
bash reset-minetest.sh
bash install-mts.sh --client
  • Icon will be added as: $HOME/.local/share/applications/org.minetest.minetest.desktop (your window manager should automatically detect the change--if not, you may need to restart your window manager. If it still doesn't show, contact the maintainer of your window manager. This works in KDE on Fedora 29. Workaround: copy the icon from there to your desktop.)

Linux Server Install or Upgrade

cd ~/git/EnlivenMinetest
./reset-minetest-install-source.sh && ./versionize && ./install-mts.sh
# You can leave out `&& ./versionize` if you don't want to keep old
# copies.

Using install-mts.sh

You must first run reset-minetest-install-source.sh to compile the libraries automatically, or otherwise have run the compile libraries script in ~/.config/EnlivenMinetest/linux-minetest-kit, or at least have already compiled Minetest there. If the minetest or minetestserver binary (or just minetestserver if client is not enabled) is not present there (in ~/.config/EnlivenMinetest/linux-minetest-kit/minetest/bin/), the script will try to compile the program before installing or stop if it cannot.

Arguments

  • --clean is the recommended option, and is the default. It erases Bucket_Game and causes ENLIVEN to be remade using Bucket_Game.
  • --client installs the client too. Since "install-mts.sh" stands for "Install minetestserver," the --client option is off by default (See the "Configuration Files" section for how to change the default).

Configuration Files

You can place zero or more of the following variables in $HOME/.config/EnlivenMinetest/scripting.rc:

CUSTOM_SCRIPTS_PATH
MT_POST_INSTALL_SCRIPT_2  # relative to CUSTOM_SCRIPTS_PATH
REPO_PATH  # Set this if your copy of the repo is not ~/git/EnlivenMinetest
ENABLE_CLIENT  # =true if you want install-mts.sh to install the client.
  • If ~/minetest/bin/minetest is present, that has the same effect as ENABLE_CLIENT=true.

You can place a script called mts.sh in your home (or CUSTOM_SCRIPTS_PATH) directory to run it after install (you can put archive-minetestserver-debug.sh there too to run first). A suggested use is to put a line in mts.sh that starts the server, so that the server starts after the installation or upgrade is complete.

How to use

Windows Client

Click "Releases" for the installer, which has the singleplayer and multiplayer client for ENLIVEN.

  • alternate download site is expertmultimedia.com
  • you must install to C:\Games\ENLIVEN (or possibly other path without spaces, as long as you don't move the launcher) in order for ENLIVEN to run.

ENLIVEN subgame is a subgame of Minetest

The ENLIVEN client runs Minetest, which can be used as a client for other Minetest servers with different subgames, but has these advantages:

  • is able to be installed automatically
  • comes with high quality OpenGL graphics settings in minetest.conf for modern computers
  • is able to run ENLIVEN subgame in singleplayer mode without any changes

Server

Install on linux server

  • open terminal (root NOT recommended)
  • IF you are a decicated server, first run touch $HOME/i_am_dedicated_minetest_server then run:
if [ ! -d webapp ]; then
    echo "ERROR: this will only work from the extracted or cloned EnlivenMinetest directory"
    echo "Press Ctrl C, or this terminal will exit..."
    sleep 1
    echo "3..."
    sleep 1
    echo "2..."
    sleep 1
    echo "1..."
    sleep 1
    exit 1
fi
cd webapp
bash reset-minetest.sh
bash install-mts.sh
# If you want to install the client, you should instead run
# bash install-mts.sh --client
# (defaults to client if $HOME/Desktop/org.minetest.minetest.desktop
# file exists)

mtanalyze

(not maintained, kept for legacy use--if you fix anything, please submit a pull request)

  • mtanalyze is a set of tools including a live map for Minetest servers and singleplayer if using LevelDB
  • for more information, see README.md in mtanalyze folder.

Customization

  • The farming plugin is overwritten with farming redo in the minetest_game based install script. Bucket_Game already has something good, apparently based on farming redo.
  • Before using anything in the change_world_name_manually_first and subfolders, change the values of the variables in the folder name as noted before using.
  • If you have a dedicated server, the value server_dedicated = false should be changed to server_dedicated = true in your SERVER's minetest.conf in the ENLIVEN folder that the installer creates.

Security and Performance Notes

  • The root installer script (deprecated) changes owner and group for ENLIVEN's world.mt and world.mt.1st if present to $USER
  • The included minetest.conf recommended for your clients (patches/subgame/minetest.*client.conf) includes the line enable_local_map_saving = true, which will cache the world locally on their machines. You can feel free to change that according to your preference.

Naming conventions:

  • The filenames without extensions
  • The abbreviation "mts" is for minetest server-specific scripts or variables
  • du-show-big searches your hard drive for big files, in case $HOME/.minetest/debug.txt fills your drive, or a log rotate utility fails (going into a cumulative copy loop, or not) in regard to debug.txt, filling up your drive
  • The network folder contains some stuff for networks, which is usually only useful for using Minetest in a network cafe or school. (The purpose of minetest_userscript_localENLIVEN_server_only.vbs is to make sure the user only uses the hostname localENLIVEN, however this only changes the default, and cannot be enforced in any way as far as I know without recompiling the client.)

Changes

see CHANGELOG.md

Network Deployment

  • minetest_userscript_localENLIVEN_server_only.vbs logon script in network folder only works if you make C:\games\Minetest writable to Authenticated Users, in order for minetest.conf to be created via this script (feel free to offer comments on how to avoid making the entire Minetest folder writable to Authenticated Users [I haven't experimented with which of the files and subfolders can be set to do not inherit])
  • minetest_userscript_localENLIVEN_server_only.vbs does not read the recommended minetest.conf, so it echoes the lines manually. Ideally it would analyze the recommended one and change the server settings.

Building

Further steps needed to recreate:

  • extract entire zip from sfan5
  • run postinstall.bat
  • change version number in %USERPROFILE%\Documents\GitHub\EnlivenMinetest\winclient\install ENLIVEN.iss
  • change version number in %USERPROFILE%\Documents\GitHub\EnlivenMinetest\winclient\launcher-src\ENLIVEN.pro

additional notes

  • The recommended minetest.conf for subgame, including for server, is in the ENLIVEN subgame folder (also available at EnlivenMinetest on GitHub

Sources and License

Authors: poikilos (Jake Gustafson) ENLIVEN project (aka EnlivenMinetest), including launcher (ENLIVEN application) and ENLIVEN subgame, is released under the LGPL v2.1 license (see LICENSE), except media which is released under the CC BY-SA 3.0 license (see LICENSE). There are other exceptions to this license and authorship where specified below and in subfolders. Source code is available at https://github.com/poikilos/EnlivenMinetest.

Additional Media

subgame icon

  • by erlehmann and Poikilos
  • Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
  • based on minetest/misc/minetest.svg by erlehmann

Minetest

Minetest is included with releases--for Minetest license, please read README.txt in Minetest's doc folder which is provided in releases.

Windows Releases

Differences from sfan5's build

(changed by EnlivenMinetest project)

  • removed Voxelgarden subgame
  • added minetest.conf similar to the one generated by ENLIVEN scripts for schools vbscript, except with public servers enabled
  • added files specific to ENLIVEN, including launcher (ENLIVEN application), ENLIVEN subgame (including optional child-friendly changes for schools), other files, and licenses of added files.

Qt

  • Qt 5.7.0 files are under the LGPLv3 unless required by licenses in qtlicenses folder.
  • Sources for Qt 5.7.0 are available via http://www.qt.io
  • The following files belong to Qt 5.7.0:
iconengines\*
imageformats\*
platforms\*
translations\*
D3Dcompiler_47.dll
libEGL.dll
libgcc_s_dw2-1.dll
libGLESV2.dll
libstdc++-6.dll
libwinpthread-1.dll
opengl32sw.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Svg.dll
Qt5Widgets.dll

Developer Notes

Not tried yet

minetest.org build speeds

  • Intel i7-4770K
    • libraries ~3m
    • program ~4m

Regression Tests

  • Use of input in python, where should never be used except in poikilos.py and minetestinfo.py for first-time setup or when interactive_enable is True

C++ Debugging

These steps are only needed for debug builds:

  • build minetest with --debug option
  • cd to linux-minetest-kit/minetest/bin directory
  • type (you must put ./ before minetest to ensure that gdb will use your debug build instead of a version your system path): gdb ./minetest
  • After the symbols finish loading, complete the following within gdb: run
    • If the program terminates, gdb will tell you what debug symbol packages are needed for your distro.
    • When you are done debugging, type: quit
  • Try debugging again after the proper packages are installed.