mtsatellite/SETUP.md

2.4 KiB

SETUP MTSatellite [WIP]

You will need a Minetest server with Redis support compiled in. Consult the Minetest documentation to figure out how to get such build. Furthermore you need the binaries mtdbconverter, mtseeder, mtredisalize and mtwebmapper in your PATH. Consult COMPILE how to build these.

Setting up MTSatellite takes six steps:

  1. Convert world database into interleaved format
  2. Configure the Minetest server
  3. Start mtredisalize
  4. Pre-compute the map tiles with mtseeder
  5. Start the web server mtwebmapper
  6. Start the Minetest server

Convert world database into interleaved format

MTSatellite operates best if the block data of the world is stored in a LevelDB database with a key scheme called interleaved. With this key scheme you can pick up sets of neighbored blocks a lot quicker than with a plain database. See Z-order curve at Wikipedia for grasping the core ideas. MTSatellite can run on plain LevelDB or SQlite3 world databases but this reduces the performance significantly. This is also not tested very well and will likely break your database. So do not use it! Stay with the interleaved format!

To convert your original plain SQLite3 or LevelDB database (Redis is not supported atm) to the interleaved LevelDB format you have to use mtdbconverter:

mtdbconverter -source-backend=sqlite /path/to/your/world/map.sqlite /path/to/your/world/map.db

Depending on the size of your world and the speed this conversion will take some time. Change -source-backend=sqlite to -source-backend=leveldb if your world is stored as a LevelDB. mtdbconverter can also be used to convert your world back to the plain key scheme. See mtdbconverter --help for all options.

Configure the Minetest server

TODO: Write me!

Start mtredisalize

TODO: Write me!

Pre-compute the map tiles with mtseeder

TODO: Write me!

Start the web server mtwebmapper

TODO: Write me!

Start the Minetest server

TODO: Write me!