mirror of
				https://bitbucket.org/s_l_teichmann/mtsatellite
				synced 2025-11-04 09:55:34 +01:00 
			
		
		
		
	Removed totally outdated README of mtredisalize.
This commit is contained in:
		@@ -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.
 | 
			
		||||
		Reference in New Issue
	
	Block a user