mirror of
https://bitbucket.org/s_l_teichmann/mtsatellite
synced 2024-12-24 17:20:18 +01:00
Removed totally outdated README of mtredisalize.
This commit is contained in:
parent
7f82d482f5
commit
f6b5f9ce97
@ -1,80 +0,0 @@
|
|||||||
mtredisalize
|
|
||||||
------------
|
|
||||||
|
|
||||||
A simple server that offers a TCP/Redis interface for LevelDB and SQLite3 based
|
|
||||||
Minetest worlds.
|
|
||||||
|
|
||||||
Disclaimer:
|
|
||||||
|
|
||||||
!!! This software is very young and not well tested! Use at your own risk.
|
|
||||||
!!! If you want to try it out backup your original databases, please!
|
|
||||||
|
|
||||||
Motivation:
|
|
||||||
|
|
||||||
The Redis backend is nice if you want to do use the backend for other
|
|
||||||
purposes than backing the Minetest server at the same time, e.g. do
|
|
||||||
some mapping. On the other hand Redis is - by its nature as an in-memory
|
|
||||||
database - quiet a memory hungry beast. This is fine if you have smaller
|
|
||||||
worlds or a lot of hardware to throw on it.
|
|
||||||
|
|
||||||
The other two backends (SQLite3 and LevelDB) are embedded database
|
|
||||||
which are hard to work with if you want to access them from another
|
|
||||||
process.
|
|
||||||
|
|
||||||
The idea of mtredisalize is to wrap a server around the embedded databases
|
|
||||||
and offer a TCP Redis interface a Minetest server and other
|
|
||||||
processes can connect with.
|
|
||||||
|
|
||||||
Beware! This is _not_ a fully featured Redis server with all of its commands.
|
|
||||||
Only the subset of Redis commands is implemented which is needed to run Minetest
|
|
||||||
on top of it.
|
|
||||||
|
|
||||||
To build mtredisalize a Go 1.x (x >= 1) environment is needed. By now
|
|
||||||
it is only tested on Ubuntu 14.04/amd64.
|
|
||||||
|
|
||||||
Obtain:
|
|
||||||
|
|
||||||
$ go get bitbucket.org/s_l_teichmann/mtsatellite/cmd/mtredisalize
|
|
||||||
|
|
||||||
Development:
|
|
||||||
|
|
||||||
$ go get -u github.com/mattn/go-sqlite3
|
|
||||||
$ go install github.com/mattn/go-sqlite3
|
|
||||||
$ go get -u github.com/jmhodges/levigo
|
|
||||||
$ go install github.com/jmhodges/levigo
|
|
||||||
$ hg clone https://s_l_teichmann@bitbucket.org/s_l_teichmann/mtsatellite
|
|
||||||
$ cd mtsatellite/cmd/mtredisalize
|
|
||||||
$ go build
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
|
|
||||||
$ mtredisalize [<options>] /path/to/database
|
|
||||||
|
|
||||||
with options:
|
|
||||||
-cache=32: cache size in MB # Cache size for LevelDB
|
|
||||||
-driver="leveldb": type of database (leveldb, sqlite)
|
|
||||||
-host="": host to bind
|
|
||||||
-gc-duration="24h": Duration between forced GCs.
|
|
||||||
-port=6379: port to bind
|
|
||||||
-version=false: Print version and exit.
|
|
||||||
|
|
||||||
To use mtredisalize with your particular world you have to modify the
|
|
||||||
world.mt of the world.
|
|
||||||
|
|
||||||
You have to set the backend to redis and redis_address, the redis_port and the
|
|
||||||
redis_hash to match the start options of mtredisalize. The hash is ignored by
|
|
||||||
mtredisalize but has to be in the world.mt to make Minetest happy.
|
|
||||||
redis_port defaults to 6379.
|
|
||||||
|
|
||||||
gameid = minetest
|
|
||||||
backend = redis
|
|
||||||
redis_address = localhost
|
|
||||||
redis_port = 6380
|
|
||||||
redis_hash = IGNORED
|
|
||||||
|
|
||||||
would e.g. matches:
|
|
||||||
|
|
||||||
$ mtredisalize --port=6380 --host=localhost ..
|
|
||||||
|
|
||||||
The mandatory path is the path to the database file: map.sqlite in case
|
|
||||||
of SQLite3 and the directory map.db in case of LevelDB right beside the world.mt file.
|
|
Loading…
Reference in New Issue
Block a user