https://github.com/afcms/minetest-collection-manager

WIP

https://github.com/afcms/minetest-collection-manager

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary

Keywords

minetest python python-rich

Keywords from Contributors

interactive projection archival sequences observability autograding hacking shellcodes modular network-simulation
Last synced: 6 months ago · JSON representation

Repository

WIP

Basic Info
  • Host: GitHub
  • Owner: AFCMS
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 182 KB
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • Open Issues: 5
  • Releases: 0
Topics
minetest python python-rich
Created over 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Minetest Collection Manager

Screenshot

This project aims to help maintaining a collection of Minetest content (mods, games, etc) outside a Minetest user directory. It allows sharing this collection with multiple Minetest installs.

You just need to provide a JSON config file containing which ContentDB and Git packages you want and an output folder and it will clone and update everything. It will be also able to sync with a specific folder with your own development stuff.

It is done with the idea that all the mods must be updated when possible. It is suitable for personnal collection if you stay updated to latest Minetest versions, not for maintaining servers.

Installation

Make sure to have Python3 and PIP installed (tested with version 3.10 and above)

Go to the source code folder:

shell pip3 install -r requirements.txt

Then you can run the script:

shell python3 ./main.py --help

Usage exemples:

```shell

Create a configuration file

schema: the "$schema" JSON tag will be filled with the absolute path of the JSON schema (will not be updated if the script is moved around)

auto-sort: the entries in the config file are automatically sorted alphabetically when modified from CLI

python3 ./main.py create-config ./config_file.json --schema --auto-sort

Add a package to the config file

The package is a mod and uses git

This only modify the config file, mod isn't downloaded

The availlable package categories are: "mods", "clientmods", "games", "texturepacks"

python3 ./main.py add-package ./config_file.json mods git https://notabug.org/tenplus1/bonemeal

Add a package to the config file and sort the entries (useful when autosort disabled)

python3 ./main.py add-package ./config_file.json mods git https://github.com/AFCMS/Subway-Miner --sort

Add a Git package to the config file and pull from specific branch

python3 ./main.py add-package ./configfile.json mods git https://github.com/AFCMS/Subway-Miner --git-remote-branch=otherbranch

Add a package from CDB (work with any up-to-date instances)

python3 ./main.py add-package ./config_file.json mods cdb https://content.minetest.net/packages/davidthecreator/rangedweapons

Remove a package from the config file

python ./main.py remove-package ./config.json mods git https://notabug.org/tenplus1/bonemeal

Update the collection folder with the config file

Packages that are present will be updated (including submodules for Git repositories)

Other packages will be cloned/downloaded

If any package has been removed from the config file, it's folder WONT BE REMOVED and should be done by hand

python3 ./main.py update ./configfile.json ~/minetestcollection

Sync a collection folder with a Minetest installation

Will symlink folders from the collection folder to the Minetest installation

Will report folders that cannot be symlinked without removing existing folder

python3 ./main.py sync ~/minetest_collection ~/.minetest

Sync a development folder with a collection folder

Will symlink folders from the development folder to the collection folder

You will need to run the sync command to update your Minetest installs

python3 ./main.py sync-dev ~/minetestcollection ~/minetestdevelopment ```

Owner

  • Login: AFCMS
  • Kind: user
  • Location: France

👨‍🎓 16 years old french student

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 48
  • Total Committers: 2
  • Avg Commits per committer: 24.0
  • Development Distribution Score (DDS): 0.146
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
AFCMS a****t@g****m 41
dependabot[bot] 4****] 7

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 5
  • Total pull requests: 32
  • Average time to close issues: about 23 hours
  • Average time to close pull requests: 8 days
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.63
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 32
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • AFCMS (4)
Pull Request Authors
  • dependabot[bot] (29)
Top Labels
Issue Labels
enhancement (4)
Pull Request Labels
dependencies (29) python (27) github_actions (2)

Dependencies

.github/workflows/python-app.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
requirements.txt pypi
  • GitPython ==3.1.31
  • click *
  • jsonschema *
  • rich *