Browse Source

Revamp the documentation to account for project's new focus (as opposed to old versions with scope creep)--Fix #593.

master
poikilos 2 years ago
parent
commit
a966065c86
  1. 57
      doc/building-minetest.md
  2. 98
      doc/development.md
  3. 477
      readme.md

57
doc/building-minetest.md

@ -0,0 +1,57 @@
# Building Minetest
EnlivenMinetest is mostly oriented around building ENLIVEN, which is
available as a "game" (Lua game for the Minetest engine binary) and
release (Lua+binary+conf)), but you can also use some of the scripts to
build basically any version Minetest (engine) from source.
## Linux
* Open terminal (root is *not* recommended).
* IF you are a decicated server, first run
`touch $HOME/i_am_dedicated_minetest_server`
* Then (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
bash reset-minetest.sh
bash install-mts.sh --client
# defaults to client if $HOME/Desktop/org.minetest.minetest.desktop exists
```
The Minetest 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.
- It backs up skins, but that is not necessary anymore since
coderskins uses world storage (follow this issue at
<https://github.com/Poikilos/EnlivenMinetest/issues/382>).
- `--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).

98
doc/development.md

@ -0,0 +1,98 @@
# Developer Notes
## Building
* scripts and sources for recreating ENLIVEN subgame are at the
EnlivenMinetest project page:
https://github.com/Poikilos/EnlivenMinetest
### 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](https://github.com/Poikilos/EnlivenMinetest)
## Planning
- [ ] Review octacian's [Per-player
Gamemodes](https://github.com/octacian/gamemode) and see if still
relevant.
- [ ] Fix attribution for Fireball:
Copyright (c) 2010-2011 Perttu Ahola <celeron55@gmail.com>
(CC BY-SA 3.0) according to
https://github.com/minetest/minetest/blob/stable-0.3/README.txt
- Found
[here](https://github.com/minetest/minetest/blob/stable-0.3/data/fireball.png)
thanks to [PilzAdam](https://github.com/PilzAdam/mobs/issues/11)
- [ ] optimize or improve decoblocks
- Is it the same as the one from decoblocks game? See:
<https://minetest.org/forum/viewtopic.php?f=15&t=6420&sid=21c1c7e61a1b4e61661ceaae3b41519a>
- [ ] recommend fork of misfit model 3d to modders, if it works
- <https://github.com/zturtleman/mm3d/issues?q=is%3Aopen+is%3Aissue>
- Blender 2.8 replaces 2.79 on Fedora 30 now, so export plugins for
Blender to b3d do not work yet
- [ ] See if Joric's is easier to port or already ported.
- [ ] make new non-magical items based on traxie21 potions if that is a good start.
- [ ] Review the state of
[More-creeps-and-weirdoes-blender-models](https://github.com/Poikilos/More-creeps-and-weirdoes-blender-models)
and see if any more work is necessary
- [ ] Read <https://oldcoder.org/general/artwork/watercodia.html>
- [ ] Review armor settings and ensure they don't interfere with
[Kinetic Combat](https://wiki.minetest.org/main/ideas/kinetic_combat.html) plans.
- <https://github.com/stujones11/minetest-3d_armor/blob/master/settingtypes.txt>
- [[Modpack] 3D Armor [0.4.8] [minetest-3d_armor]](https://forum.minetest.org/viewtopic.php?t=4654)
- [ ] Review MineClone2's ["Missing features in
Minetest..."](https://repo.or.cz/MineClone/MineClone2.git/blob_plain/HEAD:/MISSING_ENGINE_FEATURES.md)
- See which were implemented in MineClone2 and how.
- [ ] Review user-submitted mob textures at [Post your - Textures for
Mobs](https://forum.minetest.org/viewtopic.php?f=4&t=10623) and use
any that are better.
- [ ] Review textures packs and consider using one instead of default,
or including one or more, or adding interface to add more
automatically.
- [PixelPerfection - By XSSheep](https://forum.minetest.org/viewtopic.php?t=14289)
- [[16x] PixelBOX Reloaded](https://forum.minetest.org/viewtopic.php?t=14132)
- Only on .net site: [[16x] VILJA PIX 2.0 (modified by Jozet)](https://forum.minetest.net/viewtopic.php?t=19881)
- [mini8x](https://forum.minetest.org/viewtopic.php?t=14633)
- Only on .net site: [[16px] Isabella II - Minetest Community Edition](https://forum.minetest.net/viewtopic.php?t=21523)
- [ ] Try Jordach's [[Game] Big Freaking Dig
[0.5]](https://forum.minetest.org/viewtopic.php?f=15&t=9036) on Final
Minetest.
- [ ] (only on .net site) Review issues regarding
[damage_per_second](https://forum.minetest.net/viewtopic.php?f=6&t=18369)
### minetest.org build speeds
#### linux-minetest-kit ~200527
* Intel i7-4770K
* libraries ~3m
* program ~4m
### Regression Tests
* Use of input in python, where should never be used except in
poikilos.py (some/all of that may be moved to parsing.py in
<https://github.com/Poikilos/pycodetool>) and minetestinfo.py for
first-time setup or when `interactive_enable` is `True`
### C++ Debugging
These steps are only needed for debug builds.
GUI:
* Try the "Scope" Geany plugin (`geany-plugins-scope`) which is a "Graphical GDB frontend".
CLI (Command-Line Interface):
* 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.

477
readme.md

@ -1,28 +1,106 @@
# EnlivenMinetest # EnlivenMinetest
(see also webapp/README.md) by [Poikilos](https://github.com/Poikilos)
by [Poikilos](https://github.com/poikilos)
ENLIVEN is a subgame for minetest with the goals of providing
1. ENLIVEN is a subgame for minetest with the goals of providing immersion and lessons for humanity.
immersion and lessons for humanity.
2. The [ENLIVEN project](https://github.com/poikilos/EnlivenMinetest) ENLIVEN is a work in progress, but the goals are:
(aka EnlivenMinetest) includes tools for installing and maintaining - Immersion: Create an experience where UI and UX are intuitive so that
the server and client for internet and LAN use, and now includes the they don't distract from storytelling or in other cases the "feeling"
mtanalyze (formerly minetest-chunkymap) project which includes many (such as survival or creativity).
tools including chunkymap. The server and client are just the - [Ramping](https://poikilos.org/2019/08/17/ramping-in-sandbox-games/):
Minetest server and client repackaged (or just web installer scripts What is done so far includes making minor changes to mods to make
in the case of the server), and therefore 100% compatible with other a clear techtree that can't be short-circuited in "cheap" (both
copies of Minetest server and client of the same version--including economically and in terms of fairness) ways. There is more work to be
using other subgames, which client will download from servers as done here.
usual. - Better combat: Not much is done here yet other than mod integration
and some minor tweaks and workarounds. There are many very specific
changes that would improve "immersion" and "ramping" of combat as
## Primary Features of EnlivenMinetest Project those terms are defined above. The biggest challenge has been
* Server installer for ENLIVEN on linux server (Ubuntu so far) breaking down the problem into concrete and specific issues that can
* Client installer for single-player ENLIVEN, including on Windows actually be solved, rather than a general feeling of being "not
* automatically install Minetest client with a usable minetest.conf (for immersive" or not having "ramping". For progress on this process of
improved graphics) identifying and solving combat issues, see:
[Improve Mob Behaviors, AI, Combat, Pathing a.k.a. Pathfinding](https://github.com/Poikilos/EnlivenMinetest/issues/64).
The [Issues](https://github.com/poikilos/EnlivenMinetest/issues) page
The [EnlivenMinetest project](https://github.com/Poikilos/EnlivenMinetest)
(a.k.a. ENLIVEN project) includes tools for installing, building, and
maintaining (such as developer scripts) the ENLIVEN and Minetest
(engine) itself.
To better understand what the issue board covers, see
[Project Status](#project-status) below.
For notes on current development discussions, see the
"[Work in Progress](#work-in-progress)" section.
## Compatibility
If you build ENLIVEN yourself, you may be able to get it working with
several versions of Minetest but probably not ones from the .net site.
Bucket_Game from minetest.org is now the basis, so Final Minetest and
Finetest (and probably MultiCraft 2 on which Finetest is based) are the
targets for game compatibility.
- See also: "Why not make it compatible with..." under [Frequently Asked Questions](#frequently-asked-questions).
## Frequently Asked Questions
**Q**: What is included?
**A**: The installer includes the Minetest engine, the ENLIVEN "game"
(Lua mods) and configuration file(s). ENLIVEN tries to emphasize
Minetest as an engine, whereas ENLIVEN is the game. One way this
approach improves the user experience is that ENLIVEN includes
minetest.conf settings that should probably be default. For example,
tone mapping and other graphical improvements that are basically
universal to gaming and intuitively expected (such as is clear from
vision biology in the case of tone mapping).
* See also overrides/worlds/CenterOfTheSun/world.conf
**Q**: "Why not make it compatible with versions from the .net site to get [feature x]?"
**A**: The Minetest 5 (.net site) core devs have decided to reduce
compatibility and be the tail wagging the dog, not the many people who
enjoy or used to enjoy making mods and games. If you want to be
associated with that team, you are free to use their software. This
project is for single player and people who want to play games with our
community at [minetest.io](https://minetest.io/) and the Final Minetest
engine community [minetest.org](https://minetest.org/). MultiCraft (and
hence Finetest) aimed for dual compatibility with MT4 and MT5 but
successive versions of 5.x even hindered that (as predicted here) by
breaking mod (and network protocol) compatibility multiple times. It
doesn't just harm dozens or perhaps hundreds of mods, but also harms
and increases development and maintenance cost for the many copies of
those mods in games, and for the many copies of those games on servers
and those for single-player use. When the API is changed, the problem
isn't in x number of mods, it is in that times the number of games,
times the number of servers (often customized further), and all of
those innumerable people have to make up for the tail trying to wag the
dog, or all that work simply gets discarded if they are unavailable or
unwilling to make up for it and perform all of that work that is
redundant (or doubly redundant in the case of servers). See also:
- [Minetest's Scope Issue](https://poikilos.org/2020/05/09/minetest-scope-issue/)
- [Ramping in Sandbox Games](https://poikilos.org/2019/08/17/ramping-in-sandbox-games/)
- [Use animalmaterials and basic_materials for Minetest mods: low-level dependencies for better architecture](https://poikilos.org/2022/05/04/use-animalmaterials-and-basic_materials-for-minetest-mods-low-level-dependencies-for-better-architecture/)
- and comments related to API stability at [A Technical Explanation of the Minetest.org and Minetest.net Split](https://poikilos.org/2019/05/06/minetest-org-and-minetest-net-split/)
## Related Projects
- https://github.com/Poikilos/b3view: My fork of b3view is required to use the utilities/blender/count_objects.py script.
The following subprojects were moved to other repos for clarity and better git practices:
- https://github.com/Poikilos/node-enliven-minetest: deferred, core feature replaced by in-game skin changing; uploading new skins may be re-added, but with a moderator approval system.
- https://github.com/Hierosoft/hierosoft (WIP Minetest "launcher" backend)
- replaces deprecated https://github.com/Poikilos/launch-enliven
- https://github.com/Poikilos/mtanalyze
- mostly used for upgrading run-in-place installs of any Minetest version, but has some WIP code for live maps that should be upgraded to work with Leaflet.js or replaced by MTSatellite.
- also has some code for editing conf files using Python
- This part will be moved to https://github.com/Poikilos/voxboxor
## Project Status
The [Issues](https://github.com/Poikilos/EnlivenMinetest/issues) page
of the repo's web interface is used to track issues in ENLIVEN, the of the repo's web interface is used to track issues in ENLIVEN, the
Center of the Sun server that uses it, Bucket_Game on which it is Center of the Sun server that uses it, Bucket_Game on which it is
based, and Final Minetest which runs it. In many cases the issues are based, and Final Minetest which runs it. In many cases the issues are
@ -32,18 +110,43 @@ upstream mod related to the issue is no longer maintained or only works
with backward compatibility present in Final Minetest or MultiCraft2 with backward compatibility present in Final Minetest or MultiCraft2
code. code.
For notes on current development discussions, see the "Work in However, this project has led to upstream improvements.
Progress" section at the bottom of this file.
Several patches here have been accepted to upstream mods, such as:
- https://github.com/minetest/minetest_game/pull/2082
## Primary Features of ENLIVEN subgame - https://notabug.org/TenPlus1/farming/pulls/11
* birthstones, improved fork: <https://github.com/poikilos/birthstones> - https://github.com/D00Med/vehicles/pull/62#issuecomment-1368081408
(also part of Bucket_Game) - https://github.com/minetest-mods/ts_furniture/pull/6
* See also overrides/worlds/CenterOfTheSun/world.conf - https://github.com/minetest-mobs-mods/dmobs/pull/4
- https://github.com/minetest-mods/loot/pull/2
- https://github.com/Napiophelios/LapisLazuli/pull/4
- https://github.com/Kilarin/compassgps/pull/16
- https://github.com/minetest-mods/hbsprint/pull/11
- https://github.com/minetest-mods/technic/pull/318
or proposed such as:
- https://github.com/Poikilos/animalmaterials/blob/master/readme.md
or rejected for unspecified reasons :), such as:
- https://notabug.org/TenPlus1/mobs_monster/issues/1
- https://github.com/minetest-mods/unified_inventory/issues/187#issuecomment-1300311311
- redcrab issue #1 deleted by rubenwardy :( [missing license](https://github.com/rubenwardy/redcrab/issues/1)
- https://github.com/Skandarella/animalworld/pull/7
or I'm uncredited for unspecified reasons :), such as:
- https://notabug.org/TenPlus1/pie/commits/master/textures/pie_inv.png
- fixes https://notabug.org/TenPlus1/pie/issues/1
You can apply whatever patches here you want (if applicable), but they
are already in ENLIVEN (at least if you build it, otherwise the old
installer may not have the latest changes). Most of the patches are
also in Bucket_Game. The newest build script uses Bucket_Game as a
content database. It has specific goals that make it small (such as in
node definition count) in comparison to Bucket_Game.
### Planned Features ### Planned Features
There are several improvements I may implement in new or existing mods. There are several improvements I may implement in new or existing mods.
See the [Issues](https://github.com/poikilos/EnlivenMinetest/issues) See the [Issues](https://github.com/Poikilos/EnlivenMinetest/issues)
section of the GitHub project. section of the GitHub project.
* See also install-ENLIVEN-minetest_game.sh for a full list of mods from * 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 the old ENLIVEN that will probably be added to the new ENLIVEN which
@ -54,92 +157,25 @@ section of the GitHub project.
#### Planned Removals #### Planned Removals
Disable or remove these Bucket_Game mods/features potentially (not matching theme): Disable or remove these Bucket_Game mods/features potentially (not matching theme):
- codermobs gems (see codermobs_gem_*.png such as - codermobs gems (see codermobs_gem_*.png such as codermobs_gem_fire.png)
codermobs_gem_fire.png)
- lmb_blocks - lmb_blocks
- mychisel - mychisel
#### node.js server manager
* capture log
* do not store redundant messages such as hunger_ng debug mode (see
<https://pastebin.com/dDBg40vf>) or saving playereffects
* detect restarts (even if no 'separator'--see
<https://pastebin.com/Jv3vkhFA>)
## DISCLAIMERS ## DISCLAIMERS
* Please read the Sources and License section of this document. You must * 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. agree to the licenses mentioned in order to use and copy this program.
* Any script code related to redis has not been successfully tested. * Any script code related to redis has not been successfully tested.
* Make sure you convert your world to leveldb and place it in your * https://github.com/Poikilos/EnlivenMinetest/issues/594
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:
```bash
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 ## Building Minetest
``` This project is mostly for building ENLIVEN, but there are some scripts
cd ~/git/EnlivenMinetest here to help build the engine as well: See [doc/building-minetest.md](doc/building-minetest.md).
./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 ## Configuration Files
You must first run reset-minetest-install-source.sh to compile the (configuring the build of ELIVEN [the mod set only, not binaries])
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.
- It backs up skins, but that is not necessary anymore since
coderskins uses world storage (follow this issue at
<https://github.com/poikilos/EnlivenMinetest/issues/382>).
- `--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 You can place zero or more of the following variables in
$HOME/.config/EnlivenMinetest/scripting.rc: $HOME/.config/EnlivenMinetest/scripting.rc:
``` ```
@ -163,64 +199,24 @@ starts after the installation or upgrade is complete.
### Windows Client ### Windows Client
Click "Releases" for the installer, which has the singleplayer and Click "Releases" for the installer, which has the singleplayer and
multiplayer client for ENLIVEN. multiplayer client for ENLIVEN.
* alternate download site is * You must install to C:\Games\ENLIVEN (or possibly other path without
[expertmultimedia.com](http://www.expertmultimedia.com/index.php?htmlref=tutoring.html "Expert Multimedia")
* 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 spaces, as long as you don't move the launcher) in order for ENLIVEN
to run. 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 ### Server
#### Install on linux server For Linux servers, place the "ENLIVEN" directory from "Releases" into
* open terminal (root NOT recommended) your "games" directory in minetest if you have a run-in-place version.
* IF you are a decicated server, first run If not, place it in ~/.minetest/games/. For what Minetest versions are
`touch $HOME/i_am_dedicated_minetest_server` then run: compatible, see the first part of this document.
```bash
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 #### Customization
* The farming plugin is overwritten with farming redo in the * The farming plugin is overwritten with farming redo in the
minetest_game based install script. Bucket_Game already has something minetest_game based install script. Bucket_Game already has something
good, apparently based on farming redo. good, apparently based on farming redo.
* Before using anything in the change_world_name_manually_first and * Before using anything in the `change_world_name_manually_first` and
subfolders, change the values of the variables in the folder name as its subfolders, change the values of the variables in the folder name
noted before using. as noted before using.
* If you have a dedicated server, the value server_dedicated = false * If you have a dedicated server, the value server_dedicated = false
should be changed to server_dedicated = true in your SERVER's should be changed to server_dedicated = true in your SERVER's
minetest.conf in the ENLIVEN folder that the installer creates. minetest.conf in the ENLIVEN folder that the installer creates.
@ -234,7 +230,8 @@ a pull request)
on their machines. You can feel free to change that according to your on their machines. You can feel free to change that according to your
preference. preference.
## Naming conventions:
## Naming conventions
* The filenames without extensions * The filenames without extensions
* The abbreviation "mts" is for minetest server-specific scripts or * The abbreviation "mts" is for minetest server-specific scripts or
variables variables
@ -243,14 +240,17 @@ a pull request)
fails (going into a cumulative copy loop, or not) in regard to fails (going into a cumulative copy loop, or not) in regard to
debug.txt, filling up your drive debug.txt, filling up your drive
* The network folder contains some stuff for networks, which is usually * The network folder contains some stuff for networks, which is usually
only useful for using Minetest in a network cafe or school. only useful for using Minetest on a managed LAN such as a network
(The purpose of minetest_userscript_localENLIVEN_server_only.vbs is to cafe or school.
make sure the user only uses the hostname localENLIVEN, however this - The purpose of minetest_userscript_localENLIVEN_server_only.vbs is
only changes the default, and cannot be enforced in any way as far as to make sure the user only uses the hostname localENLIVEN, however
I know without recompiling the client.) this only changes the default, and cannot be enforced in any way as
far as I know without recompiling the client.
## Changes ## Changes
see CHANGELOG.md See [changelog.md](changelog.md).
## Network Deployment ## Network Deployment
* minetest_userscript_localENLIVEN_server_only.vbs logon script in * minetest_userscript_localENLIVEN_server_only.vbs logon script in
@ -264,20 +264,6 @@ see CHANGELOG.md
recommended minetest.conf, so it echoes the lines manually. Ideally it recommended minetest.conf, so it echoes the lines manually. Ideally it
would analyze the recommended one and change the server settings. would analyze the recommended one and change the server settings.
## Building
* scripts and sources for recreating ENLIVEN subgame are at the
EnlivenMinetest project page:
https://github.com/poikilos/EnlivenMinetest
### 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](https://github.com/poikilos/EnlivenMinetest)
## Sources and License ## Sources and License
Authors: poikilos (Jake Gustafson) Authors: poikilos (Jake Gustafson)
@ -287,7 +273,7 @@ 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 3.0 license (see LICENSE). There are other exceptions to this license
and authorship where specified below and in subfolders. and authorship where specified below and in subfolders.
Source code is available at Source code is available at
[https://github.com/poikilos/EnlivenMinetest](https://github.com/poikilos/EnlivenMinetest). [https://github.com/Poikilos/EnlivenMinetest](https://github.com/Poikilos/EnlivenMinetest).
### Additional Media ### Additional Media
@ -314,132 +300,8 @@ README.txt in Minetest's doc folder which is provided in releases.
application), ENLIVEN subgame (including optional child-friendly application), ENLIVEN subgame (including optional child-friendly
changes for schools), other files, and licenses of added files. changes for schools), other files, and licenses of added files.
### Qt ## Development
* Qt 5.7.0 files are under the LGPLv3 unless required by licenses in For future plans and how you can contribute or build the game (Lua) or package (Lua+engine+conf) see [doc/development.md](doc/development.md) and [issues](https://github.com/Poikilos/EnlivenMinetest/issues).
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
- [ ] icomoon.io: (generates a font using symbols you choose) has
symbols for websites and applications (more consistent and bold than
many in the noun project).
- [ ] LineAwesome: outline version of FontAwesome's symbols
- [ ] ForkAwesome: infinitely scalable vector graphics; 744 icons
- [ ] github.com/RyanZim/EJS-Lint: add it to a quality script
- [ ] How to save form data to MongoDB with Node.js [UPDATED]
<https://youtube.com/watch?v=rOfT83_eKWk>
- [ ] getbootstrap.com/docs/4.3/components/badge/
- [ ] Review octacian's [Per-player
Gamemodes](https://github.com/octacian/gamemode) and see if still
relevant.
- [ ] Link to database(s) directly:
<https://itnext.io/express-knex-objection-painless-api-with-db-74512c484f0c>
- handles PostgreSQL/MySQL/SQLite/others
- [ ] Fix attribution for Fireball:
Copyright (c) 2010-2011 Perttu Ahola <celeron55@gmail.com>
(CC BY-SA 3.0) according to
https://github.com/minetest/minetest/blob/stable-0.3/README.txt
- Found
[here](https://github.com/minetest/minetest/blob/stable-0.3/data/fireball.png)
thanks to [PilzAdam](https://github.com/PilzAdam/mobs/issues/11)
- [ ] [MERN stack A to Z: Part 1](https://blog.logrocket.com/mern-stack-a-to-z-part-1/)
- [ ] Strapi: open-source headless Node.js CMS
- [ ] augmented-ui: "Futuristic, cyberpunk-inspired UI shaping for any
element; Add the "augmented-ui" attribute to equip the augs"
- [ ] optimize or improve decoblocks
- Is it the same as the one from decoblocks game? See:
<https://minetest.org/forum/viewtopic.php?f=15&t=6420&sid=21c1c7e61a1b4e61661ceaae3b41519a>
- [ ] recommend fork of misfit model 3d to modders, if it works
- <https://github.com/zturtleman/mm3d/issues?q=is%3Aopen+is%3Aissue>
- Blender 2.8 replaces 2.79 on Fedora 30 now, so export plugins for
Blender to b3d do not work yet
- [ ] See if Joric's is easier to port or already ported.
- [ ] Unblock launcher automatically during install
- <https://stackoverflow.com/questions/6374673/unblock-file-from-within-net-4-c-sharp>
- [ ] make new non-magical items based on traxie21 potions if that is
a good start.
- [ ] Review the state of
[More-creeps-and-weirdoes-blender-models](https://github.com/poikilos/More-creeps-and-weirdoes-blender-models)
and see if any more work is necessary
- [ ] Work on X import plugin. See
Blender API [Best
Practice](https://docs.blender.org/api/current/info_best_practice.html)
- [ ] Read <https://oldcoder.org/general/artwork/watercodia.html>
- [ ] Review armor settings and ensure they don't interfere with
[Kinetic Combat](https://wiki.minetest.org/main/ideas/kinetic_combat.html) plans.
- <https://github.com/stujones11/minetest-3d_armor/blob/master/settingtypes.txt>
- [[Modpack] 3D Armor [0.4.8] [minetest-3d_armor]](https://forum.minetest.org/viewtopic.php?t=4654)
- [ ] Review MineClone2's ["Missing features in
Minetest..."](https://repo.or.cz/MineClone/MineClone2.git/blob_plain/HEAD:/MISSING_ENGINE_FEATURES.md)
- See which were implemented in MineClone2 and how.
- [ ] Review user-submitted mob textures at [Post your - Textures for
Mobs](https://forum.minetest.org/viewtopic.php?f=4&t=10623) and use
any that are better.
- [ ] Review textures packs and consider using one instead of default,
or including one or more, or adding interface to add more
automatically.
- [PixelPerfection - By XSSheep](https://forum.minetest.org/viewtopic.php?t=14289)
- [[16x] PixelBOX Reloaded](https://forum.minetest.org/viewtopic.php?t=14132)
- Only on .net site: [[16x] VILJA PIX 2.0 (modified by Jozet)](https://forum.minetest.net/viewtopic.php?t=19881)
- [mini8x](https://forum.minetest.org/viewtopic.php?t=14633)
- Only on .net site: [[16px] Isabella II - Minetest Community Edition](https://forum.minetest.net/viewtopic.php?t=21523)
- [ ] Review free part of LinkedIn "The Composite Pattern" course:
<https://www.linkedin.com/learning/node-js-design-patterns/the-composite-pattern>
- [ ] Try Jordach's [[Game] Big Freaking Dig
[0.5]](https://forum.minetest.org/viewtopic.php?f=15&t=9036) on Final
Minetest.
- [ ] (only on .net site) Review issues regarding
[damage_per_second](https://forum.minetest.net/viewtopic.php?f=6&t=18369)
- [ ] Review notes from "Node.js Design Patterns" course:
~/ownCloud/Student/LinkedIn/Node.js-DesignPatterns/notes.md
### minetest.org build speeds
#### linux-minetest-kit ~200527
* Intel i7-4770K
* libraries ~3m
* program ~4m
### Regression Tests
* Use of input in python, where should never be used except in
poikilos.py (some/all of that may be moved to parsing.py in
<https://github.com/poikilos/pycodetool>) 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.
### Work in Progress ### Work in Progress
This section is a temporary dev discussion record for the purpose of tracking meta (issues about issues). In other words, this section has version-specific points that clarify reasoning such as prioritization, difficulty, or impact of issues or solutions. It may clarify why some issues are undecided, need feedback, are lowered in priority (such as via "Bucket_Game-future", "non-trivial"), etc. This section is a temporary dev discussion record for the purpose of tracking meta (issues about issues). In other words, this section has version-specific points that clarify reasoning such as prioritization, difficulty, or impact of issues or solutions. It may clarify why some issues are undecided, need feedback, are lowered in priority (such as via "Bucket_Game-future", "non-trivial"), etc.
@ -503,7 +365,7 @@ On 1/10/22 6:31 PM, Jake Gustafson wrote:
> Factoring it out would be like factoring out default or basic_materials. Factoring it out would make several mods much more complex to maintain. Such mods exist for good reasons: See my comments at the two links ... > Factoring it out would be like factoring out default or basic_materials. Factoring it out would make several mods much more complex to maintain. Such mods exist for good reasons: See my comments at the two links ...
1. #517 1. #517
2. [readme.md](https://github.com/poikilos/animalmaterials/blob/master/readme.md) in https://github.com/poikilos/animalmaterials.git 2. [readme.md](https://github.com/Poikilos/animalmaterials/blob/master/readme.md) in https://github.com/Poikilos/animalmaterials.git
Issues deferred pending a previous issue but ready to address: Issues deferred pending a previous issue but ready to address:
@ -517,6 +379,11 @@ On 1/10/22 6:31 PM, Jake Gustafson wrote:
Issues deferred pending a current issue: Issues deferred pending a current issue:
- #508 (requires a decision on #517) - #508 (requires a decision on #517)
See also:
- [Planning](doc/development.md#planning) in doc/development.md.
#### copypasta #### copypasta
(This section provides out-of-context copypasta lines that have no meaning relevant to this document except to prevent retyping them over and over) (This section provides out-of-context copypasta lines that have no meaning relevant to this document except to prevent retyping them over and over)
```
This is resolved in bucket_game snapshot 220114. This is resolved in bucket_game snapshot 220114.
```

Loading…
Cancel
Save