# EnlivenMinetest webapp EnlivenMinetest Node.js webapp for web management of minetest * Must run as same user as minetestserver, and neither as root Uses passport see Replaces the "write" (stdout) method of the minetest process: see ## Developer Notes ### Things webapp should deprecate * /home/owner/GitHub/EnlivenMinetest/etc/change_hardcoded_world_name_first/eauth * shell script which contains only `nano ~/.minetest/worlds/FCAGameAWorld/auth.txt` * mts-ENLIVEN and mtsenliven.py (run minetestserver with selected game and world) ``` var path = require('path'); results = {} if (!has_setting("system.minetestserver_path")): results.error="[ mtsenliven.py ] ERROR: minetestserver_path was not found in your version of minetestinfo.py"; return results; var mts = peek_setting("system.minetestserver_path") if (!has_setting("owner.primary_world_path")): results.error= "[ mtsenliven.py ] ERROR: primary_world_path was selected by minetestinfo.py"; return results; var world_path = peek_setting("owner.primary_world_path"); var world_name = path.basename(wp); //var mts_proc; //mts_proc = /*TODO: finish this*/([mts, '--gameid ENLIVEN', '--worldname ' + world_name]); mts_proc.write = mts_out; return results; ``` ### Development Log ```bash #!/bin/sh sudo apt update sudo apt install nodejs npm mongodb # NOTE: mongo daemon is called mongod target_dir=$HOME/enlivenode if [ ! -d "$target_dir" ]; then print "ERROR: Nothing done since missing $target_dir" exit 1 fi cd "$target_dir" npm init #except changed jade to pug npm install express static-favicon morgan cookie-parser body-parser debug pug passport passport-local mongoose ``` ### Old (Unused) ``` #!/bin/sh wget https://raw.githubusercontent.com/ericf/express-handlebars/master/examples/basic/server.js wget https://raw.githubusercontent.com/ericf/express-handlebars/master/examples/basic/package.json mkdir views cd views wget https://raw.githubusercontent.com/ericf/express-handlebars/master/examples/basic/views/home.handlebars mkdir layouts cd layouts wget https://raw.githubusercontent.com/ericf/express-handlebars/master/examples/basic/views/layouts/main.handlebars if [ -d ../layouts ]; then cd .. fi if [ -d ../views ]; then cd .. fi ```