ModderBaas
ModderBaas is a Rust library to interact with installed Minetest objects (worlds, games, mods), and a accompanying CLI application to manage Minetest mods on headless installations (such as minetest-server
on Debian).
Note that ModderBaas is currently still a WIP with an unstable API. Expect changes in both the Rust library and the CLI.
Building
The build process is done through cargo
:
cargo build --release
The binary will reside in target/release/
.
For easy deployment on a server, consider building a statically linked executable, e.g. by using emk/rust-musl-builder.
Documentation
Library documentation can be built through
cargo doc -p modderbaas
Note that the crate is split into a workspace, running cargo doc
without -p
will give you the wrong documentation!
The manpage for the CLI can be built by calling make
. This requires asciidoctor to be installed. It will produce target/modderbaas.1
(the manpage) and target/modderbaas.html
(a HTML version of the manpage).
Usage
See modderbaas help
or refer to the manpage.
Caution: Make sure your Minetest server is stopped before you meddle with the installed worlds/games/mods to prevent possible data corruption!
Hacking
modderbaas
welcomes contributions, either as a PR or per email to modderbaas@kingdread.de.
- Modifications pertaining to the CLI application or the user interaction should go into the
modderbaas-cli
(binary) crate (repository root). - Modifications pertaining to the core functionality or that are useful for other applications should go into the
modderbaas
(library) crate (in./modderbaas
).
Some commands (such as cargo test
) may require you to specify the crate in which they should be run, e.g.
cargo test -p modderbaas
License
Copyright (C) 2021 Daniel Schadt
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.