Browse Source

formatting and clarification

master
poikilos 9 years ago
committed by Jacob Gustafson
parent
commit
12c62919b4
  1. 62
      README.md

62
README.md

@ -54,6 +54,7 @@ Because of the feature, chunkymap-regen.py must prevent duplicates based on valu
This should be hard to corrupt since id is used as the indexer for the players dict (however, extra files with no matching entry in the dict will still need to be deleted if they exist) This should be hard to corrupt since id is used as the indexer for the players dict (however, extra files with no matching entry in the dict will still need to be deleted if they exist)
* games_path, mods_path, players_path, and other subdirectories of the major ones should not be stored in minetestmeta.yml, since otherwise the values may deviate from the parent directories when the parent directories change. * games_path, mods_path, players_path, and other subdirectories of the major ones should not be stored in minetestmeta.yml, since otherwise the values may deviate from the parent directories when the parent directories change.
To avoid this problem, instead derive the paths from the parent paths using your favorite language such as in the following examples: To avoid this problem, instead derive the paths from the parent paths using your favorite language such as in the following examples:
`
games_path = os.path.join(minetestinfo.get_var("shared_minetest_path"), "games") games_path = os.path.join(minetestinfo.get_var("shared_minetest_path"), "games")
mods_path = os.path.join(minetestinfo.get_var("game_path"), "mods") mods_path = os.path.join(minetestinfo.get_var("game_path"), "mods")
players_path = os.path.join(minetestinfo.get_var("primary_world_path"), "players") players_path = os.path.join(minetestinfo.get_var("primary_world_path"), "players")
@ -62,14 +63,15 @@ To avoid this problem, instead derive the paths from the parent paths using your
if minetestinfo.contains("primary_world_path"): if minetestinfo.contains("primary_world_path"):
world_path = minetestinfo.get_var("primary_world_path") world_path = minetestinfo.get_var("primary_world_path")
world_name = os.path.basename(world_path) world_name = os.path.basename(world_path)
`
* Keep in mind that gameid (in game.conf in a subgame folder, and world.mt in a world folder) is NOT case-sensitive: for example, minetest_game has the gameid 'Minetest' (first letter capitalized) but the worlds generated by Minetest client have the gameid 'minetest' (lowercase) in their world.mt * Keep in mind that gameid (in game.conf in a subgame folder, and world.mt in a world folder) is NOT case-sensitive: for example, minetest_game has the gameid 'Minetest' (first letter capitalized) but the worlds generated by Minetest client have the gameid 'minetest' (lowercase) in their world.mt
Yet somehow for everything else, gameid in world.mt is the name of the game FOLDER (NOT the name variable in the folder's game.conf) Yet somehow for everything else, gameid in world.mt is the name of the game FOLDER (NOT the name variable in the folder's game.conf)
* the map update function is only able to detect new chunks, and only checks edge chunks if player is present in one * the map update function is only able to detect new chunks, and only checks edge chunks if player is present in one
* The following are saved to chunkymap.yml if not already set: * The following are saved to chunkymap.yml (and confirmed interactively if not already set):
www_minetest_path (such as /var/www/html/minetest) `www_minetest_path (such as /var/www/html/minetest)`
user_minetest_path `user_minetest_path`
world_name `world_name`
world_path `world_path`
## Requirements: ## Requirements:
* A minetest version compatible with minetestmapper-numpy.py Made by Jogge, modified by celeron55 * A minetest version compatible with minetestmapper-numpy.py Made by Jogge, modified by celeron55
@ -82,22 +84,22 @@ world_path
* If you are using Ubuntu * If you are using Ubuntu
* Install the git version of minetest (or otherwise install 0.4.13 or other version compatible with the map generators used by chunkymap) * Install the git version of minetest (or otherwise install 0.4.13 or other version compatible with the map generators used by chunkymap)
such as: such as:
#if you have a version before 2016-03-23: `#if you have a version before 2016-03-23:`
rm rename-deprecated.sh `rm rename-deprecated.sh`
wget https://github.com/expertmm/minetest-chunkymap/raw/master/rename-deprecated.sh `wget https://github.com/expertmm/minetest-chunkymap/raw/master/rename-deprecated.sh`
sudo sh rename-deprecated.sh `sudo sh rename-deprecated.sh`
rm install-chunkymap-on-ubuntu-from-web.sh `rm install-chunkymap-on-ubuntu-from-web.sh`
wget https://github.com/expertmm/minetest-chunkymap/raw/master/install-chunkymap-on-ubuntu-from-web.sh `wget https://github.com/expertmm/minetest-chunkymap/raw/master/install-chunkymap-on-ubuntu-from-web.sh`
chmod +x install-chunkymap-on-ubuntu-from-web.sh `chmod +x install-chunkymap-on-ubuntu-from-web.sh`
./install-chunkymap-on-ubuntu-from-web.sh `./install-chunkymap-on-ubuntu-from-web.sh`
#or later run: `#or later run:`
#rm update-chunkymap-on-ubuntu-from-web.sh `#rm update-chunkymap-on-ubuntu-from-web.sh`
#wget https://github.com/expertmm/minetest-chunkymap/raw/master/update-chunkymap-on-ubuntu-from-web.sh `#wget https://github.com/expertmm/minetest-chunkymap/raw/master/update-chunkymap-on-ubuntu-from-web.sh`
#chmod +x update-chunkymap-on-ubuntu-from-web.sh `#chmod +x update-chunkymap-on-ubuntu-from-web.sh`
#./update-chunkymap-on-ubuntu-from-web.sh `#./update-chunkymap-on-ubuntu-from-web.sh`
sudo python chunkymap/singleimage.py `sudo python chunkymap/singleimage.py`
sudo python chunkymap/generator.py `sudo python chunkymap/generator.py`
OPTION 2: IF you are using Ubuntu go to a terminal, cd to this directory, OPTION 2: IF you are using Ubuntu go to a terminal, cd to this directory,
then switch user to the one that will run minetestserver then switch user to the one that will run minetestserver
(since install-chunkymap-on-ubuntu.sh DOES replace "/home/owner" with current user's home [replace-with-current-user.py, which is automatically called by install, will change /home/owner to current user's directory in each script that install copies to $HOME/chunkymap]) (since install-chunkymap-on-ubuntu.sh DOES replace "/home/owner" with current user's home [replace-with-current-user.py, which is automatically called by install, will change /home/owner to current user's directory in each script that install copies to $HOME/chunkymap])
@ -113,13 +115,13 @@ world_path
`chmod +x set-minutely-crontab-job.sh && ./set-minutely-crontab-job.sh` `chmod +x set-minutely-crontab-job.sh && ./set-minutely-crontab-job.sh`
* IF you are using Linux * IF you are using Linux
* Rename viewchunkymap.php so it won't be overwritten on update if you want to modify it (or anything you want) then make a link to it on your website or share the link some other way. * Rename viewchunkymap.php so it won't be overwritten on update if you want to modify it (or anything you want) then make a link to it on your website or share the link some other way.
# The commands below will work if you are using the web installer, or have done mv minetest-chunkymap-master "$HOME/Downloads/minetest-chunkymap" (and if you are using /var/www/html/minetest -- otherwise change that below) `# The commands below will work if you are using the web installer, or have done mv minetest-chunkymap-master "$HOME/Downloads/minetest-chunkymap" (and if you are using /var/www/html/minetest -- otherwise change that below)`
MT_MY_WEBSITE_PATH=/var/www/html/minetest `MT_MY_WEBSITE_PATH=/var/www/html/minetest`
sudo cp -f "$HOME/Downloads/minetest-chunkymap/web/chunkymap.php" "$MT_MY_WEBSITE_PATH/chunkymap.php" `sudo cp -f "$HOME/Downloads/minetest-chunkymap/web/chunkymap.php" "$MT_MY_WEBSITE_PATH/chunkymap.php"`
sudo cp -f "$HOME/Downloads/minetest-chunkymap/web/viewchunkymap.php" "$MT_MY_WEBSITE_PATH/viewchunkymap.php" `sudo cp -f "$HOME/Downloads/minetest-chunkymap/web/viewchunkymap.php" "$MT_MY_WEBSITE_PATH/viewchunkymap.php"`
sudo cp -R --no-clobber "$HOME/Downloads/minetest-chunkymap/web/images/*" "$MT_MY_WEBSITE_PATH/images/" `sudo cp -R --no-clobber "$HOME/Downloads/minetest-chunkymap/web/images/*" "$MT_MY_WEBSITE_PATH/images/"`
#--no-clobber: do not overwrite existing `#--no-clobber: do not overwrite existing`
# after you do this, the update script will do it for you if you are using /var/www/html/minetest, otherwise edit the update script before using it to get these things updated `# after you do this, the update script will do it for you if you are using /var/www/html/minetest, otherwise edit the update script before using it to get these things updated`
* IF you are using Windows * IF you are using Windows
* Install Python 2.7 * Install Python 2.7
* Run install-chunkymap-on-windows.bat * Run install-chunkymap-on-windows.bat
@ -135,7 +137,7 @@ world_path
* numpy such as can be installed via the easy unofficial installer wheel at * numpy such as can be installed via the easy unofficial installer wheel at
http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
then: then:
cd to the folder where you downloaded the whl file `#cd to the folder where you downloaded the whl file `
`C:\python27\python -m pip install "numpy-1.10.4+mkl-cp27-cp27m-win32.whl"` `C:\python27\python -m pip install "numpy-1.10.4+mkl-cp27-cp27m-win32.whl"`
(but put your specific downloaded whl file instead) (but put your specific downloaded whl file instead)
* Pillow (instead of PIL (Python Imaging Library) which is a pain on Windows): there is a PIL installer wheel for Python such as 2.7 here: * Pillow (instead of PIL (Python Imaging Library) which is a pain on Windows): there is a PIL installer wheel for Python such as 2.7 here:
@ -145,7 +147,7 @@ world_path
`C:\python27\python -m pip install "Pillow-3.1.1-cp27-none-win32.whl"` `C:\python27\python -m pip install "Pillow-3.1.1-cp27-none-win32.whl"`
(but put your specific downloaded whl file instead, such as Pillow-3.1.1-cp27-none-win_amd64.whl) (but put your specific downloaded whl file instead, such as Pillow-3.1.1-cp27-none-win_amd64.whl)
* run (or if your python executable does not reside in C:\Python27\ then first edit the file): * run (or if your python executable does not reside in C:\Python27\ then first edit the file):
chunkymap-regen-loop.bat `chunkymap-regen-loop.bat`
(all the batch does is run C:\Python27\python chunkymap-regen.py) (all the batch does is run C:\Python27\python chunkymap-regen.py)
(chunkymap-regen.py will ask for configuration options on first run and ask for your www root) (chunkymap-regen.py will ask for configuration options on first run and ask for your www root)
@ -154,7 +156,7 @@ world_path
* Fix chunk generation and draw decachunks to canvas (so singleimage.py is not required to be run before chunkymap-regen.py) * Fix chunk generation and draw decachunks to canvas (so singleimage.py is not required to be run before chunkymap-regen.py)
* Detect exceptions in mintestmapper (such as database locked) and do NOT mark the chunk as is_empty * Detect exceptions in mintestmapper (such as database locked) and do NOT mark the chunk as is_empty
* Move the following to config dict: * Move the following to config dict:
python_exe_path `python_exe_path`
* chunkymap.php should read the size of the chunks -- see near is_file($chunk_genresult_path) in chunkymap.php * chunkymap.php should read the size of the chunks -- see near is_file($chunk_genresult_path) in chunkymap.php
* optionally hide player location * optionally hide player location
* Make a method (in chunkymap.php) to echo the map as an html5 canvas (refresh players every 10 seconds, check for new map chunks every minute) * Make a method (in chunkymap.php) to echo the map as an html5 canvas (refresh players every 10 seconds, check for new map chunks every minute)

Loading…
Cancel
Save