README.md 2.78 KB
Newer Older
1
# Modular Politics Prototype for Minetest
Nathan Schneider's avatar
Nathan Schneider committed
2

3
This is a mod for [Minetest](https://minetest.net) that enables diverse governance mechanisms. It seeks to implement the [Modular Politics](https://metagov.org/modpol) proposal. In the future, it
4 5
will be possible to use this framework to simulate governance in a
number of platform contexts.
Nathan Schneider's avatar
Nathan Schneider committed
6

7 8
This mod produces an API that can serve as a dependency for other mods that add specific governance functionalities. 

Nathan Schneider's avatar
Nathan Schneider committed
9 10
For background information and project roadmap, see [the wiki](https://gitlab.com/medlabboulder/modpol/-/wikis/home).

11
## Installation in Minetest
12

13
To use this in Minetest, simply install it in your mods/ or worldmods/ folder. Minetest will load init.lua.
14

15
In the game, open the Modular Politics interface with the command `/modpol`.
16

17

18
## Standalone Version on the Command Line
19

20
Modular Politics can also be used independently of Minetest as a command-line tool. Currently command-line use of modpol requires a Unix-style system, but it is intended to become more fully platform independent.
21

22
The command-line version is in the `modpol` subdirectory. To interact with the interpreter on Unix systems in CLI mode, install lua or luajit and execute the following command in this directory:
23

24 25 26 27 28 29 30
```
$ cd modpol/
$ lua [or luajit]
> dofile("modpol.lua")
```

For a list of global functions and tables, use `modpol.menu()`.
31

32 33 34 35 36 37
## Storage

By default, a  data  directory  named  "data" will  be created in  this directory. "/data" will contain a log file and serialized program data files.

Another storage method may be chosen in modpol.lua. A StorageRef-based method for Minetest 5.* is included: storage-mod_storage.lua.

38 39

## Credits
40 41 42

Initiated by [Nathan Schneider](https://nathanschneider.info) of the [Media Enterprise Design Lab](https://colorado.edu/lab/medlab) at the University of Colorado Boulder, as part of the [Metagovernance Project](https://metagov.org). Based on the paper "[Modular Politics: Toward a Governance Layer for Online Communities](https://metagov.org/modpol)."

43
Other contributors include:
44

45
* [Luke Miller](https://gitlab.com/lukvmil) (main control flow, object orientation, module spec)
46 47
* [MisterE](https://gitlab.com/gbrrudmin) (project refactoring, core feature development)
* Robert Kiraly [[OldCoder](https://github.com/oldcoder/)] (ocutils.lua, storage-local.lua, project refactoring)
48

49
We'd love to welcome more contributors, particularly from the Minetest community! Please join the conversation in the [Issues](https://gitlab.com/medlabboulder/modpol/-/issues) or the [Minetest.net forum](https://forum.minetest.net/viewtopic.php?f=47&t=26037).
50

Nathan Schneider's avatar
Nathan Schneider committed
51 52
We are grateful for support for this project from a residency with [The Bentway Conservancy](https://www.thebentway.ca/).

53 54
## Licenses

55
* [Project](LICENSE.mt): MIT
56
* [Lua Serpent Serializer](serpent/LICENSE.txt): MIT