Page 1 of 1

Experimental Mod Repository (ATTN all mod developers)

PostPosted: Tue Dec 20, 2011 19:34
by RAPHAEL
Status: On-Hold to see how sfan5s mod repo works out.

I decided it's time for a simple mod repository for Minetest, so being like I am I just jumped right in and made it.

How it works:
* Mod developer contacts me to make an FTP account to a mod folder of their mod(s). One FTP account per mod.
* The mod developer downloads the mod-example-folder.zip file and replicate it to their mod.
* Upload the result to the mod folder via the FTP.

Mod repo URL: http://minetest.weareonesoul.com/mods/


This setup allows a simple to use interface for a user, a simple organized way of keeping up with all mods in a uniform manner, and the devs themselves can keep the mod repo page up to date without interference.

PostPosted: Wed Dec 21, 2011 01:31
by MarkTraceur
I should note that I'll be making a repository/package manager/GUI installer for mods during the spring (it will be done before April), so perhaps you and I should coordinate on a format?

My original thought was similar to the Debian structure--mods will consist of
* tarball with the mod itself
* meta-info in a text file

The whole repository, then, can consist of two directories (tarballs and meta-info) and one file (list of mods).

With that in mind, it's easy enough to add, remove, and update mods, and implementing a package manager would be stupid-simple (as opposed to parsing an entire HTML document to find version numbers, etc.)

Let me know what your thoughts are!

PostPosted: Wed Dec 21, 2011 15:58
by RAPHAEL
MarkTraceur wrote:I should note that I'll be making a repository/package manager/GUI installer for mods during the spring (it will be done before April), so perhaps you and I should coordinate on a format?

My original thought was similar to the Debian structure--mods will consist of
* tarball with the mod itself
* meta-info in a text file

The whole repository, then, can consist of two directories (tarballs and meta-info) and one file (list of mods).

With that in mind, it's easy enough to add, remove, and update mods, and implementing a package manager would be stupid-simple (as opposed to parsing an entire HTML document to find version numbers, etc.)

Let me know what your thoughts are!

Well honestly my mod setup would work with a few additions. Add an extra file to the mod directory for an updater to fetch and read. That extra file will have all the needed data to let the updater know the version author download link and such. Then of course need the updater. The reason I chose zip over other formats is it can be decompressed on Linux and Windows without any need of special software usually. Personally I'd prefer a tar.bz2 or a 7zip based archive since they would reduce the overall bandwidth use of any repo.

Yea it's a little work for the mod developer but it isn't too hard. With the setup I described the updater could use it as well as end users who want to know how to use a mod and what it looks like.

PostPosted: Wed Dec 21, 2011 17:34
by MarkTraceur
Well, since I'll be using Python for the package manager, I could probably extract the archives without any external software. See http://docs.python.org/library/bz2.html. But zip files are definitely not ideal for any purpose!

I'd probably do more work on the repository server software, too, so if you transfer to this format, your site will probably be nicer-looking within a month :)

PostPosted: Thu Dec 22, 2011 04:23
by RAPHAEL
MarkTraceur wrote:Well, since I'll be using Python for the package manager, I could probably extract the archives without any external software. See http://docs.python.org/library/bz2.html. But zip files are definitely not ideal for any purpose!

I'd probably do more work on the repository server software, too, so if you transfer to this format, your site will probably be nicer-looking within a month :)

You saying you are going to use Python for the package manager that people run on their systems with Minetest? Seems a bit heavy and troublesome to use Python. I'm not familiar with Lua but could it be used to make an updater? If so that would be pretty cool lol. Otherwise KISS (keep it simple silly) so that it runs with minimal issue.

As for my mod site it's just me throwing it out there. It's design and layout is likely to change at some point.

PostPosted: Thu Dec 22, 2011 05:11
by MarkTraceur
Python isn't all that heavy--certainly not when it's just a CLI utility, or a small and simple GUI for user-friendliness. I'm not sure if Lua has a standalone interpreter, but I'm sure it wouldn't be significantly lighter than Python (and if it were lighter, it would be so due to lack of features). Of course I'll be keeping it simple, both out of respect for Pythonic development and so that nothing more than the Python STL is required for the basic CLI utility. Of course, GTK+ and PyGTK will be required for the GUI, but that's inescapable.

I'm hoping that I can be a part of helping with the redesign/relayout of your repository, because I really want this to be a universal standard, so it's easier for users to understand how repositories are run, and easier for them to use them!

PostPosted: Thu Dec 22, 2011 07:06
by Hackeridze
packages need to have this parameters: version, dependencies and exeptions(expungements),
For example my mod pack can't work with not-modified flowers mod, cement mod, etc.

PostPosted: Thu Dec 22, 2011 07:18
by MarkTraceur
Hackeridze wrote:packages need to have this parameters: version, dependencies and exeptions(expungements),
For example my mod pack can't work with not-modified flowers mod, cement mod, etc.


It would be the responsibility of the repository owner and, more importantly, the mod authors to ensure no breakages based on other mods.

PostPosted: Thu Dec 22, 2011 07:26
by Hackeridze
MarkTraceur wrote:
Hackeridze wrote:packages need to have this parameters: version, dependencies and exeptions(expungements),
For example my mod pack can't work with not-modified flowers mod, cement mod, etc.


It would be the responsibility of the repository owner and, more importantly, the mod authors to ensure no breakages based on other mods.

So this repositoy not for modpackers like me? =(

PostPosted: Thu Dec 22, 2011 09:56
by ironzorg
RAPHAEL wrote:I decided it's time for a simple mod repository for Minetest, so being like I am I just jumped right in and made it.

How it works:
* Mod developer contacts me to make an FTP account to a mod folder of their mod(s). One FTP account per mod.
* The mod developer downloads the mod-example-folder.zip file and replicate it to their mod.
* Upload the result to the mod folder via the FTP.

Mod repo URL: http://minetest.weareonesoul.com/mods/


This setup allows a simple to use interface for a user, a simple organized way of keeping up with all mods in a uniform manner, and the devs themselves can keep the mod repo page up to date without interference.


Why not make it use-able upon registration through a web interface ?

PostPosted: Thu Dec 22, 2011 15:06
by MarkTraceur
Hackeridze: Packs would be like the meta-packages--they would just list several dependencies to be installed at once.

ironzorg: That'll be one of the first things I add, yes.

PostPosted: Thu Dec 22, 2011 15:54
by Hackeridze
MarkTraceur wrote:Hackeridze: Packs would be like the meta-packages--they would just list several dependencies to be installed at once.

ironzorg: That'll be one of the first things I add, yes.

I MADE a lot changes in mods, and mod pack need all of they to correct work.

PostPosted: Fri Dec 23, 2011 01:33
by MarkTraceur
Hackeridze, if you make changes to a mod, it's no longer the same mod--so you would add your mods to the repo under a different name, and make a metapackage with all of them included.

Of course, if you have to change different mods for them to work together, those mod developers are probably doing something wrong. What did you change, exactly?

PostPosted: Fri Dec 23, 2011 08:16
by Hackeridze
You may see readme file of rutrue mod pack

PostPosted: Fri Dec 23, 2011 10:02
by MarkTraceur
OK, those changes aren't to make the mods work together--they're just changes you made to the mods. Those changes would be included in different packages (i.e., flowers and flowers_easypots). Metapackages would still be easy to make.

PostPosted: Sun Jan 15, 2012 17:08
by sapier
What's the status of this idea?
If it's still alive why do you expect textures in 50x50 format? This isn't a multiple of 16x16, the size of all default textures?

PostPosted: Sun Jan 15, 2012 18:30
by MarkTraceur
sapier: There is a more complete idea in the works by sfan5, search for ModManager. 50x50 is not for a texture, it's for an icon to explain the additions. 16x16 wouldn't be terribly visible to users of the site.

PostPosted: Sun Jan 15, 2012 19:01
by RAPHAEL
Yea I need to edit the first post... been a bit awol recently. My mod repo is on hold to see how sfan5s repo thing works out.