2014-10-04 20:56:01 +02:00
|
|
|
# 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](https://bitbucket.org/s_l_teichmann/mtsatellite/src/default/COMPILE.md) how to build these.
|
|
|
|
|
|
|
|
Setting up MTSatellite takes six steps:
|
|
|
|
|
2014-10-05 12:01:41 +02:00
|
|
|
1. [Backup your world](#markdown-header-backup-your-world)
|
|
|
|
2. [Convert world database into interleaved format](#markdown-header-convert-world-database-into-interleaved-format)
|
2014-10-04 21:48:45 +02:00
|
|
|
3. [Start `mtredisalize`](#markdown-header-start-mtredisalize)
|
|
|
|
4. [Pre-compute the map tiles with `mtseeder`](#markdown-header-pre-compute-the-map-tiles-with-mtseeder)
|
|
|
|
5. [Start the web server `mtwebmapper`](#markdown-header-start-the-web-server-mtwebmapper)
|
2014-10-05 12:01:41 +02:00
|
|
|
6. [Configure and restart the Minetest server](#markdown-header-configure-and-restart-the-minetest-server)
|
|
|
|
|
|
|
|
## Backup your world
|
|
|
|
|
|
|
|
MTSatellite is still young. So stop your running Minetest server and make a backup of your world
|
|
|
|
before you will start crying.
|
2014-10-04 20:56:01 +02:00
|
|
|
|
2014-10-04 21:39:04 +02:00
|
|
|
## Convert world database into interleaved format
|
2014-10-05 08:59:11 +02:00
|
|
|
|
|
|
|
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.
|
2014-10-05 12:01:41 +02:00
|
|
|
See [Z-order curve](http://en.wikipedia.org/wiki/Z-order_curve) at Wikipedia to grasp the core ideas.
|
|
|
|
MTSatellite can run on plain LevelDB or SQLite3 world databases but this reduces the performance significantly.
|
2014-10-05 08:59:11 +02:00
|
|
|
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
|
|
|
|
|
2014-10-05 12:01:41 +02:00
|
|
|
Depending on the size of your world and the speed of your computer system this conversion will take some time.
|
2014-10-05 08:59:11 +02:00
|
|
|
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.
|
2014-10-05 12:01:41 +02:00
|
|
|
Use `mtdbconverter --help` to see all options.
|
2014-10-04 20:56:01 +02:00
|
|
|
|
2014-10-04 21:39:04 +02:00
|
|
|
## Start mtredisalize
|
2014-10-04 20:56:01 +02:00
|
|
|
**TODO: Write me!**
|
|
|
|
|
2014-10-04 21:39:04 +02:00
|
|
|
## Pre-compute the map tiles with mtseeder
|
2014-10-04 20:56:01 +02:00
|
|
|
**TODO: Write me!**
|
|
|
|
|
2014-10-04 21:39:04 +02:00
|
|
|
## Start the web server mtwebmapper
|
2014-10-04 20:56:01 +02:00
|
|
|
**TODO: Write me!**
|
|
|
|
|
2014-10-05 12:01:41 +02:00
|
|
|
## Configure and restart the Minetest server
|
2014-10-04 20:56:01 +02:00
|
|
|
**TODO: Write me!**
|