Page 1 of 1

[minetest-bower] mod repository and package manager

PostPosted: Mon Aug 10, 2015 13:40
by cornernote
Minetest Bower is a Minetest mod repository. If you are familiar with CLI, you can use Minetest Bower to install specified Minetest mods and dependency mods quickly and easily under Linux, Windows, and Mac OS X. Minetest Bower needs primarily two software packages named NodeJS and Git, which are easy to install.

The repository is unmoderated. Anybody may submit mods using one of several different approaches. Different versions by different people of similar mods are permitted but each version must have different names.

Minetest-Bower Website

Browse Mods | Submit a Mod | Support & Suggestions

Re: [minetest-bower] mod repository and package manager

PostPosted: Mon Aug 10, 2015 13:47
by Evergreen
Yes! I can't +1 this enough. I think having a minetest mod package manager is a much better solution than mmdb currently is.

Re: [minetest-bower] mod repository and package manager

PostPosted: Mon Aug 10, 2015 14:30
by Minetestforfun
Great work ! I hope it will be used instead of mmdb :)

Re: [minetest-bower] mod repository and package manager

PostPosted: Mon Aug 10, 2015 15:25
by benrob0329
This is AWESOME!!!

Re: [minetest-bower] mod repository and package manager

PostPosted: Tue Aug 11, 2015 04:38
by addi
WOW! this is like the mtmdb should be!
Really great, (talking about the webpage, not the command line tool)
It would be better to have that tool as graphical widget in minetest main menu instead of moddb

Btw. your links in fist post leads both to https://minetest-bower.herokuapp.com/submit

some ideas:
some mods does already have a description.txt and a screenshot.png file, those should be taken automatically.
(Personally i would prefer your .json file could also read by minetest)
It would be great if the dependence.txt file would also read automatically and displays the list on the web page.
The web page does also need a download link, witch is maybe configurable by .json file?

Definitely great work!

Re: [minetest-bower] mod repository and package manager

PostPosted: Tue Aug 11, 2015 04:51
by cornernote
addi wrote:It would be better to have that tool as graphical widget in minetest main menu instead of moddb
(Personally i would prefer your .json file could also read by minetest)


You should checkout MTPM. rubenwardy has already added support for minetest-bower's bower.json file.

addi wrote:some mods does already have a description.txt and a screenshot.png file, those should be taken automatically.
It would be great if the dependence.txt file would also read automatically and displays the list on the web page.


Very hard with modpacks, as all the sub-directories need to be scanned. However with simple mods this will work.

addi wrote:The web page does also need a download link, witch is maybe configurable by .json file?


Yes, and a forum link (as its often different to the homepage link). See here. The downloads could however come directly from the github API. Need to think more about that.

Also, screenshots/download links could be added to the readme file (which is displayed on the mod page on minetest-bower website).

Thanks for your feedback, please post these and any other suggestions as issues on the github project.

Re: [minetest-bower] mod repository and package manager

PostPosted: Tue Aug 11, 2015 08:08
by rubenwardy
Minetest Package Manager (MTPM) is another CLI mod/subgame/tp tool I've been working on for months, it's written in pure lua and based on the main menu's mod manager code so that it could be included into Minetest.

Re: [minetest-bower] mod repository and package manager

PostPosted: Sat Aug 22, 2015 18:55
by lordtoran
Idea: How about a small and simple GUI package manager for the less computer literate, written in Java, so it can be installed directly from the page with a click or two. So someone can just go and refer a Minetest newbie to Bower.

Re: [minetest-bower] mod repository and package manager

PostPosted: Sat Aug 22, 2015 18:59
by rubenwardy
lordtoran wrote:Idea: How about a small and simple GUI package manager for the less computer literate, written in Java, so it can be installed directly from the page with a click or two. So someone can just go and refer a Minetest newbie to Bower.



A quick google: https://github.com/rakuten-frontend/bower-browser

Re: [minetest-bower] mod repository and package manager

PostPosted: Tue Aug 25, 2015 06:21
by cornernote
lordtoran wrote:Idea: How about a small and simple GUI package manager for the less computer literate, written in Java, so it can be installed directly from the page with a click or two. So someone can just go and refer a Minetest newbie to Bower.


It's not that simple. You have to support all the download mechanisms that bower supports, and you also have to support recursive dependency management with semver version numbers.

If you're looking for a GUI, check out the MTPM as that is exactly what it is. MTPM will have all the packages that are registered in minetest-bower, and will eventually be an in-game gui that you can use to browse and install mods and their dependencies.

Re: [minetest-bower] mod repository and package manager

PostPosted: Tue Dec 01, 2015 15:41
by neoascetic
I absolutely love the idea and frontend implementation. Good work, @cornernote, thank you!

I even started implementing something similar a year ago, but in lua/lapis (http://leafo.net/lapis/), here the sources if you are interested: https://github.com/krondor-game/mmdb.

Personally, I think that having everything (including masterserver page, but excluding, of course, client/server app) in lua should increase contributions number and feedback from mods writers, because... same language, you know, and also should make this pretty small language a little bit more popular.

I don't know, however, if using of bower for these purposes is OK. For me, bower is always something for frontend web-developer. Maybe a separate format must be used instead?

Re: [minetest-bower] mod repository and package manager

PostPosted: Thu Dec 03, 2015 01:25
by cornernote
It would be nice to have it all in lua, however it would mean re-writing all the code that handles dependencies and fetching the right versions using semantic versioning. It made sense to use bower as it already handles all this very nicely.

Re: [minetest-bower] mod repository and package manager

PostPosted: Fri Dec 04, 2015 06:53
by neoascetic
We may have website in lua at least :)

Re: [minetest-bower] mod repository and package manager

PostPosted: Fri Dec 04, 2015 06:57
by cornernote
Only if you make a browser in lua ;)

Re: [minetest-bower] mod repository and package manager

PostPosted: Fri Dec 04, 2015 06:59
by neoascetic
You know what I mean. I am talking about backend part of the website :)

Re: [minetest-bower] mod repository and package manager

PostPosted: Fri Dec 04, 2015 07:10
by cornernote
Why not PHP?

Re: [minetest-bower] mod repository and package manager

PostPosted: Thu Jan 21, 2016 12:08
by lordtoran
Two small things about the installation on Linux:

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
npm install -g bower


did not work for me as the command tries writing to system paths. It should probably be

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
sudo npm install -g bower


A second suggestion would be that nodejs is already a dependency of npm, so it does not need to be specified separately to apt-get/aptitude.

edit: If rating mods would be added to the online repository, it would be possible to sort the list by popularity (by a combination of rating, number of ratings and times downloaded).

Re: [minetest-bower] mod repository and package manager

PostPosted: Tue Jun 14, 2016 05:29
by Byakuren
How do I specify dependency versions for my mod?

EDIT: I guess use a normal bower config file?

Re: [minetest-bower] mod repository and package manager

PostPosted: Tue Jun 21, 2016 00:45
by cornernote
Byakuren wrote:How do I specify dependency versions for my mod?

EDIT: I guess use a normal bower config file?


Exactly! You can have a look at these 2 links that provide additional documentation on your question:

https://minetest-bower.herokuapp.com/docs/bower-format

https://minetest-bower.herokuapp.com/docs/semver

Re: [minetest-bower] mod repository and package manager

PostPosted: Thu Jun 30, 2016 16:59
by Wuzzy
How does Minetest Bower handle mods with equal directory names?

I like the project idea, I haven't tested it really. The website seems to be well implemented so far.
Good idea for automatically using the mod's metadata (like screenshot) and displaying it in a nice way, rather than requiring to manually upload this stuff seperately.

One thing which I would like to see is to display the “real” mod name on the home page (the name under which the mod is advertised, e.g. “Player Model” instead of “playermodel”) in big letters rather than the “technical” directory name which is ugly. (The technical name should still be displayed for clarity).

I would also add support for “README” files.


Edit: Okay, I noticed that the download seems to always point on the “master.zip”. Does Minetest Bower have no concept of releases? I tend to push incomplete things on master as I do more or less tested releases seperately.

Edit 2: Can you please delete the mod “minetest_hudbars”? This must have been added by mistake, there is not actually a mod called like this, to my knowledge. This seems to be just a duplicate of the “hudbars” mod uploaded under a wrong name.

Re: [minetest-bower] mod repository and package manager

PostPosted: Thu Jun 30, 2016 20:10
by rubenwardy
It does not allow mods with the same name

Re: [minetest-bower] mod repository and package manager

PostPosted: Fri Jul 01, 2016 00:13
by cornernote
Hey Wuzzy, thanks for all the positive feedback!

Wuzzy wrote:How does Minetest Bower handle mods with equal directory names?


Names are assigned on a first in first served basis. Once the name is used it cannot be used by another mod.

Wuzzy wrote:One thing which I would like to see is to display the “real” mod name on the home page (the name under which the mod is advertised, e.g. “Player Model” instead of “playermodel”) in big letters rather than the “technical” directory name which is ugly. (The technical name should still be displayed for clarity).


Bower doesn't support this, however I do a humanize (which converts "craft_guide" to "Craft Guide", however doesn't do so well at converting "playermodel" as it would become "Playermodel").

Wuzzy wrote:I would also add support for “README” files.


It supports readme files with MD and TXT formatting:

Supports the following MD filenames:
'README.md', 'readme.md', 'Readme.md'

And the following text filenames:
'README.txt', 'readme.txt', 'Readme.txt', 'README', 'readme'

See https://github.com/cornernote/minetest-bower/blob/master/src/models/Package.php#L315

Wuzzy wrote:Edit: Okay, I noticed that the download seems to always point on the “master.zip”. Does Minetest Bower have no concept of releases? I tend to push incomplete things on master as I do more or less tested releases seperately.


There is support for dependency versions, see https://minetest-bower.herokuapp.com/docs/semver. Is that what you mean?

Wuzzy wrote:Edit 2: Can you please delete the mod “minetest_hudbars”? This must have been added by mistake, there is not actually a mod called like this, to my knowledge. This seems to be just a duplicate of the “hudbars” mod uploaded under a wrong name.


I have removed it from the database.

Re: [minetest-bower] mod repository and package manager

PostPosted: Sun Jul 03, 2016 06:54
by Wuzzy
No, I am not talking about SemVer and dependencies. On the website, it seems you always get to download the master.zip, which is the latest and greatest (and buggiest) development version. This should not be the default. Is there really no way to download or at least link to an official release Zip file, like version 2.4.5 of mod XYZ, instead of whatever random and buggy development stage the mod may be in at the moment?

Re: [minetest-bower] mod repository and package manager

PostPosted: Sun Jul 03, 2016 09:02
by cornernote
Do you code php? I'd merge a PR with a feature to list all releases. If not feel free to add an issue requesting it and I'll see what I can do. Only issue is getting some time to work on it.