Page 2 of 3

PostPosted: Sun Jan 15, 2012 19:35
by sfan5
neko259 wrote:
os.execute([command])

Execute an operating system shell command. This is like the C system() function. The system dependent status code is returned.

Just execute your python script from lua.

You must restart the Game for installing Mods

PostPosted: Sun Jan 15, 2012 19:37
by neko259
Then just download them until manual restart. And make "/modmanager list" for getting mods list.

PostPosted: Sun Jan 15, 2012 19:37
by sfan5
RAPHAEL wrote:yay! seems to work so far on linux. Only issue now is with your directions. I have to do:
python mm.py install coalmod
for example instead of
./mm.py install coalmod


...now to be able to browse the repo of yours to see whats available lol

If you want more Mods on the Repo you can upload some(but only your mods).
We need more Mod-Uploaders for more Mods

PostPosted: Sun Jan 15, 2012 19:40
by sfan5
neko259 wrote:Then just download them until manual restart. And make "/modmanager list" for getting mods list.

I'll make that Mod tomorrow or later

PostPosted: Thu Feb 02, 2012 10:51
by J0nnJ0nes
neko259 wrote:Can you make a mod for upgrading or installing mods from the game console?


Ideally, something like firefox add-ons listing, with Install, Uninstall, Enable, Disable, along with version and other mod compatibilities.

PostPosted: Thu Feb 02, 2012 10:53
by rinoux
J0nnJ0nes wrote:
neko259 wrote:Can you make a mod for upgrading or installing mods from the game console?


Ideally, something like firefox add-ons listing, with Install, Uninstall, Enable, Disable, along with version and other mod compatibilities.

+1X3

PostPosted: Thu Feb 02, 2012 10:59
by neko259
J0nnJ0nes wrote:
neko259 wrote:Can you make a mod for upgrading or installing mods from the game console?


Ideally, something like firefox add-ons listing, with Install, Uninstall, Enable, Disable, along with version and other mod compatibilities.

That's called a repository :)

PostPosted: Thu Feb 02, 2012 13:00
by J0nnJ0nes
neko259 wrote:That's called a repository :)


More or less, yes, but it doesn't seem there's any way to manage versions, and I'd really like a query of whether to install each of the missing dependencies or not. Some mods already have "older" versions that are incompatible. When listing the mods available (which is missing, even though you have a file with them that you get when you run update), you're likely to get several different versions of coal-mod listed at once, along with every other mod. Sorting is important too.

In other words, it gets complicated (the firefox add-on system is more complicated than it's made to look). I certainly can't ask for something with the full intricacies like that, but do take some things into account to prevent potential future problems. I was thinking of trying to modify the manager as needed myself, including an optional, simple, light gui.

PostPosted: Thu Feb 02, 2012 13:06
by neko259
Just use dependency system. Look at portage, it's a good example. Instead of hosting all mod files, you can just make ebuilds for every version with dependencies and download links.

Of course you'll have to make a new package manager because portage isn't made for minetest, but it's very simple. I won't do that just because not all of the developers provide normal direct download links instead of indirect links to some flash and javascript pages.

But I can make an example of a 'mtbuild' file, descripting a mod package:

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
Name = "modname"
Version = "modversion"
Download = "link.tar.gz"
Description = "desc"
Minetest version >= "version"
Depends =
default && (flowers || growing)


Just make a script that watches installed mods (and has a sqlite db for holding their infos) and a mod to call that manager from the game console.

PostPosted: Thu Feb 02, 2012 13:07
by neko259
If anybody wishes to start implementing my example and can host mods with direct links and the repository itself, I can writing the manager.

PostPosted: Thu Feb 02, 2012 15:50
by sfan5
neko259 wrote:Just use dependency system. Look at portage, it's a good example. Instead of hosting all mod files, you can just make ebuilds for every version with dependencies and download links.

Of course you'll have to make a new package manager because portage isn't made for minetest, but it's very simple. I won't do that just because not all of the developers provide normal direct download links instead of indirect links to some flash and javascript pages.

But I can make an example of a 'mtbuild' file, descripting a mod package:

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
Name = "modname"
Version = "modversion"
Download = "link.tar.gz"
Description = "desc"
Minetest version >= "version"
Depends =
default && (flowers || growing)


Just make a script that watches installed mods (and has a sqlite db for holding their infos) and a mod to call that manager from the game console.

There is one Problem:
I can't detect the Minetest Version

PostPosted: Thu Feb 02, 2012 16:08
by redcrab
sfan5 wrote:
neko259 wrote:Just use dependency system. Look at portage, it's a good example. Instead of hosting all mod files, you can just make ebuilds for every version with dependencies and download links.

Of course you'll have to make a new package manager because portage isn't made for minetest, but it's very simple. I won't do that just because not all of the developers provide normal direct download links instead of indirect links to some flash and javascript pages.

But I can make an example of a 'mtbuild' file, descripting a mod package:

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
Name = "modname"
Version = "modversion"
Download = "link.tar.gz"
Description = "desc"
Minetest version >= "version"
Depends =
default && (flowers || growing)


Just make a script that watches installed mods (and has a sqlite db for holding their infos) and a mod to call that manager from the game console.

There is one Problem:
I can't detect the Minetest Version


+1 minetest version declaration should be a must ...
I guess a bit more ... may be useless until minetest v1.0 ..Minetest minimum and MAXIMUM version ... sometimes features may be availaible only in a period of time ... upward compatibility .. is not a natural mandatory feature in development ...

PostPosted: Thu Feb 02, 2012 16:21
by neko259
Minetest minimum and MAXIMUM version

In my example, you can have different constraints on minetest version:
>= version
= version
<= version

PostPosted: Fri Feb 10, 2012 11:36
by J0nnJ0nes
Since this whole game is getting very major and serious, especially modding, wouldn't it be a good idea to have its own repository ... I mean hosted more than on a personal repository. GitHub like minetest itself, sourceforge, etc. Take your pick, but if this game is to become big, there must be a good, reliable, secure way to do it. This probably means a completely separate repository on GitHub, separate from minetest itself. Each mod to be a branch probably?

The script listed here can still be used to manage all the mods, along with mod information, but the mod data itself must be hosted and managed reliably on hosting services (since they're already there). Also, for descriptions, latest versions, compatibilities, dependencies, and details about mods, maybe a specific text file or something hosted on the main/master branch, that the mod-manager script acquires when needed.

Management of mods is essential even at this point. I myself am reluctant to try that many mods because everything is so scattered and unorganized on this forum.

Besides:
"GitHub Free for open source
Unlimited public repositories and unlimited public collaborators."

P.S. Also, the wiki is not enough.

PostPosted: Sun Feb 12, 2012 18:54
by RAPHAEL
There appears to be an issue. Minor issue but breaks it. I added my industrial mod to the repo for tests of the package manager. First off issuing ./mm.y doesn't work but issuing python mm.py does.

Also it seems that uploading a package and stating that default is a dependency breaks it (see quote below).

user@host ~/Downloads $ python mm.py install industrial
ModManager 0.1.3 Alpha
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default

PostPosted: Fri Feb 24, 2012 14:52
by J0nnJ0nes
neko259 wrote:If anybody wishes to start implementing my example and can host mods with direct links and the repository itself, I can writing the manager.


http://www.freemysql.net/

and/or GitHub.

PostPosted: Sat Mar 03, 2012 14:30
by jordan4ibanez
lets throw this into my installer thing :D

PostPosted: Fri Jun 08, 2012 13:29
by sfan5
*Bump*

PostPosted: Fri Jun 08, 2012 14:15
by LolManKuba
Lol.

PostPosted: Thu Jul 19, 2012 14:33
by sfan5
RAPHAEL wrote:There appears to be an issue. Minor issue but breaks it. I added my industrial mod to the repo for tests of the package manager. First off issuing ./mm.y doesn't work but issuing python mm.py does.

Also it seems that uploading a package and stating that default is a dependency breaks it (see quote below).

user@host ~/Downloads $ python mm.py install industrial
ModManager 0.1.3 Alpha
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default
Fetching Package-Info from 'sfan.sf.funpic.de'.. OK
Installing Dependence default

Don't add default to the Dependices in the Form
Theres no Mod called default in my Repo

PostPosted: Thu Jul 19, 2012 15:04
by Calinou
Just a heads up: I uploaded my mods to the repo. :)

PostPosted: Thu Jul 19, 2012 15:17
by sfan5
Update!
New Features in 0.1.4 Alpha:
  • Fixed potential Bug with extra Newlines in PackageList Files
  • Fixed Handling of Dependices
  • Fixed Handling for inexistent Packages

PostPosted: Sat Jul 21, 2012 00:05
by lkjoel
Awesome project! Could you update the description so that the yellow is a bit darker? I cannot read that part very well...

PostPosted: Sat Jul 21, 2012 06:55
by sfan5
Ok

PostPosted: Tue Aug 07, 2012 00:47
by Neuromancer
Mauvebic and I are discussing an alternative way of automating Mod installations.

PostPosted: Sun Aug 12, 2012 16:39
by zzarko
Hello sfan5,
I downloaded 0.1.4 version of ModManager and altered it a bit. I replaced argv handling with argparse library calls and separated commands into their own functions. I cleaned the code a bit, defined some paths at the beginning, changed "/" with os.sep and added "available" command that lists avaliable mods. You can view the new version at:

http://pastebin.com/nc1fHRGU

If you like the changes I made, feel free to use them. Also, I would suggest that handling of txt files in .mm directory should be done with ConfigParser library. If you want, I can make those changes too (I'm relatively expirienced with Python and it's libraries).

Best regards,
Zarko

PostPosted: Sun Aug 12, 2012 20:17
by sfan5
I think i'll merge the Changes

PostPosted: Sun Aug 12, 2012 20:36
by TheLoLMan
GOOD

PostPosted: Fri Aug 24, 2012 15:46
by rubenwardy
I am making a mod database (mysql), can I/You modify the python code to make it work?
(you may use it on your website, when it is finished)

http://multa.bugs3.com/minetest/forum/

https://github.com/rubenwardy/minetest-forum



You can interface with my database using:

(pkg-#) mm/getmodbyname.php: http://multa.bugs3.com/minetest/forum/mm/getmodbyname.php?id=mesecons

(pkg-#) mm/getmodbyid.php: http://multa.bugs3.com/minetest/forum/mm/getmodbyid.php?id=2

(PackageList) mm/getmods.php: http://multa.bugs3.com/minetest/forum/mm/getmods.php

It writes the in the same format as the examples on the main post

Maybe do a command like
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
./mm.py add-repo mysite.com --php
to access mine....

PostPosted: Fri Aug 24, 2012 18:27
by sfan5
Parse error: syntax error, unexpected T_RETURN in /home/u372522788/public_html/minetest/forum/scripts/setup.php on line 56

Thats what your Website says