3m - Minetest Mod Manager

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

3m - Minetest Mod Manager

by Phitherek_ » Post

I' ve just started a new project, the 3m - Minetest Mod Manager, which is meant to become kind of Package Manager for Minetest mods with official mod list, ability to sync it from network, check versions, update, install and remove mods.

If you want to contribute, just let me know. I will prefer the "shared repository" model of contribution rather than forks + pull requests.

Github here: https://github.com/Phitherek/3m

EDIT: Do not expect fast development, as I do not have so much time to do this, but it will slowly get its shape.
Last edited by Phitherek_ on Thu Sep 06, 2012 21:40, edited 1 time in total.
---
Posted by Phitherek_

User avatar
Jeija
Member
Posts: 686
Joined: Fri Dec 23, 2011 21:46
Location: Nürtingen, Germany

by Jeija » Post

There are two modmanagers (those I know) right now:
Ingame: http://minetest.net/forum/viewtopic.php?id=2568
In python: http://minetest.net/forum/viewtopic.php?id=618

What's different about your mod manager?
I thought mine sounds pretty much the same, you would maybe have to add a little more functionality (only update which is basically check if new version is out-->remove mod-->install mod)
It already syncs modlists from a server.
The only bug about is that I didn't suceed in porting it to MS Windows, but that is just because I don't have a lot of experience with Windows.
Last edited by Jeija on Fri Sep 07, 2012 04:52, edited 1 time in total.
Redstone for minetest: Mesecons (mesecons.net)

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

My idea for 3m is slightly different. Although I really appreciate your work (especially in-game mod manager), my mod manager won' t have a "central repo" with zip files which will be maintained by me, but instead there is meant to be a single modlist file, which will point on the modinfo files managed by the mod developers, which are meant to point on the ORIGINAL repositories. Then, although the mod contributors will have to host and manage the modinfo files themselves, the main manager will depend only on one modlist file with a list of modinfo files and the updates could be done straightly by mod contributors. The main program is meant to gather information from all modinfo files (but not with every run, only by the "sync" option) and writing it to a "local modlist" and then compare versions and use the mods from this local modlist and local repo info file.

It will be also a chance for me to learn more. For most of my projects this is a main goal yet.
Last edited by Phitherek_ on Fri Sep 07, 2012 07:15, edited 1 time in total.
---
Posted by Phitherek_

sfan5
Moderator
Posts: 4095
Joined: Wed Aug 24, 2011 09:44
GitHub: sfan5
IRC: sfan5
Location: Germany

by sfan5 » Post

Phitherek_ wrote:[...]Although I really appreciate your work (especially in-game mod manager), [...]
The Python Mod Manager was written by me
Mods: Mesecons | WorldEdit | Nuke & Minetest builds for Windows (32-bit & 64-bit)

User avatar
rubenwardy
Moderator
Posts: 6978
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: Bristol, United Kingdom
Contact:

by rubenwardy » Post

Phitherek_ wrote:My idea for 3m is slightly different. Although I really appreciate your work (especially in-game mod manager), my mod manager won' t have a "central repo" with zip files which will be maintained by me, but instead there is meant to be a single modlist file, which will point on the modinfo files managed by the mod developers, which are meant to point on the ORIGINAL repositories. Then, although the mod contributors will have to host and manage the modinfo files themselves, the main manager will depend only on one modlist file with a list of modinfo files and the updates could be done straightly by mod contributors. The main program is meant to gather information from all modinfo files (but not with every run, only by the "sync" option) and writing it to a "local modlist" and then compare versions and use the mods from this local modlist and local repo info file.

It will be also a chance for me to learn more. For most of my projects this is a main goal yet.
See my mod database.

http://tinyurl.com/mtmdfrm

It could work as your "modlist".

You can use the existing APIs or tell me the format for a new one.
Last edited by rubenwardy on Fri Sep 07, 2012 16:45, edited 1 time in total.
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

For now, the idea for the format of the modlist is:
- regular text file, filename "modlist.3mml" - and this file is to be maintained by me on the official server and maybe by others (I think I will make it configurable). The format is for now like this:
{mod_name}
[server]
address_of_the_server_with_modinfo
[modinfo]
/path/to/modinfo/on/the/server
{end}
for every mod. I will tell you the final version when it will be working ;).

And also I will have a look on your APIs. I would love to make 3m compatible with your DB ;).

EDIT: I see that your APIs are for Python and Lua, but I will code the whole thing in C++, so... I don' t know how I could use your APIs in that, sadly :(.

EDIT 2: The modlist is finally in the format that I described in this post, there is a parser that checks format for this - branch master, directory filetesters, file modlistparser.cpp.
Last edited by Phitherek_ on Wed Sep 12, 2012 22:43, edited 1 time in total.
---
Posted by Phitherek_

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

Current status of the project:
I wrote all the most important parsers (for configuration, remote modlist list, remote modlist and modinfo files), they are all included in the main 3m file and also as separate file testers in the "filetesters" subdirectory of main repo. This means that I have defined format for all the files created by users, mod developers and modlist hosters. This also means that I finally got the external data into the program and this is in my opinion one of most important things to do for a start ;).

Next thing: the -S option - connecting to the modlist and modinfo files and gathering information.
---
Posted by Phitherek_

User avatar
rubenwardy
Moderator
Posts: 6978
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: Bristol, United Kingdom
Contact:

by rubenwardy » Post

You can use any language with sockets (internet download) capability to access the api's.

It is called "python" and "ingame" because it is sent in the format those programs/mods require, which you can easily use as well.

All it is is a file on my server that you download.

eg: api/python/getmodbyname.php?id=mesecons

(Actual Link)

will return this:

Code: Select all

Name:Mesecons
Depends:default
File:https://github.com/Jeija/minetest-mod-mesecons/zipball/master
Version:20120824
Last edited by rubenwardy on Thu Sep 13, 2012 12:21, edited 1 time in total.
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

This is really great! However, for this format I would need a separate parser (when I already have 4 written and 2 more in plans), which will be harder to implement for me than the parsers that I have now. Also, there are two problems with this format, because 3m will need more information. Firstly, 3m will natively support not only archive files, but also git repositories, so there need to be a repository type information (already defined in my modinfo format). Also, 3m is not meant to analyze the versions as they are - there is something that I call "package release" instead, and it is a regular int number that tells 3m if there was another package release for it to upgrade (and it is release 1, 2, 3 etc.). I can also add a information-only and non-functional "version" field, how about that?
One thing for me: DEPENDENCIES! How could I forget to define dependencies in modinfo?! I am going to add it as soon as possible.
EDIT: So if you could make another, separate version of getmodbyname script that will generate output in modinfo format, I would be really grateful (eg. api/3m/getmodbyname.php). For testing you can use the modinfoparser.cpp from 3m repo (I will update it with dependencies soon). If not, you can send me the code and I will try to modify it to suit my modinfo format (I know PHP quite good, just look at my GitHub to know, that I had been playing with it a little ;)).
EDIT 2: Dependencies added ;). Now I need your opinions about the "version" field idea.
Last edited by Phitherek_ on Thu Sep 13, 2012 13:22, edited 1 time in total.
---
Posted by Phitherek_

User avatar
rubenwardy
Moderator
Posts: 6978
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: Bristol, United Kingdom
Contact:

by rubenwardy » Post

I look in ideas, and saw three format types

modlist.3mml
modlist.3mmi
modlist.3mlm
modlist.3mri

Can you give me an example?

At a guess, i would say the format is like this for getmods.php:

Code: Select all

{mod_name}
[server]
address_of_the_server_with_modinfo - my server
[modinfo]
/path/to/modinfo/on/the/server - eg getmodbyname?id=mod name
{end}
And then a modinfo for each (getmodbyname.php?id=name):

Code: Select all

[name]
mod_name
[version]
current_version
[repotype]
repository_type (zip/git)
[repoaddr]
repository_address_or_path_to_a_remote_zip_file
Last edited by rubenwardy on Thu Sep 13, 2012 16:32, edited 1 time in total.
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

There are 6 files to be used by 3m: config - to store configuration, remote_modlists - to configure the modlists (one or many), modlist.3mml (the remote modlist), modlist.3mlm (the local modlist), modinfo.3mmi (remote modinfo, for every mod), and repoinfo.3mri (information of local repository). The 2 of them are for your interest: modlist.3mml and modinfo.3mmi. The names and extensions are just my invention, what is really important is what' s inside the file. And here are the formats:

For remote modlist (modlist.3mml) you got it right. Format for modinfo (modinfo.3mmi) slightly changed though:

Code: Select all

{modname}
[description]
Description of the mod.
[release]
release_number (do not mistake it with version, this is release of the 3m modinfo and has nothing to do with mod version, only that it increases on every update, but this is the job of modinfo file maintainer to make it increase, so this one must be converted in some way in the PHP script itself)
[deps]
dependency1
dependency2
...
dependency_n
[depsend]
[repotype]
archive/git/whatever_else_will_I_add_to_be_supported
[repoaddr]
address/of/the/repository (and this is either a file, or a git repository, or...)
{end}
So, the real example on which am I going to test 3m looks like this:
modlist.3mml:

Code: Select all

{testmod}
[server]
3m.phitherek.cba.pl
[modinfo]
/files/testmod/modinfo.3mmi
{end}
This is only one test mod, which modinfo looks like this:
modinfo.3mmi:

Code: Select all

{testmod}
[description]
This is a test mod created for 3m.
[release]
1
[deps]
none
[depsend]
[repotype]
archive
[repoaddr]
http://3m.phitherek.cba.pl/files/testmod/testmod.7z
{end}
EDIT: The parsers from the filetesters directory are already updated to these formats, you can use them for testing.
Last edited by Phitherek_ on Fri Sep 14, 2012 10:45, edited 1 time in total.
---
Posted by Phitherek_

User avatar
rubenwardy
Moderator
Posts: 6978
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: Bristol, United Kingdom
Contact:

by rubenwardy » Post

I have done it.

(modlist.3mml) api/3m/getmods.php
(modinfo.3mmi) api/3m/getmodbyname.php?id=mod_name

Please check over it for me, and test it.

At the moment release = version.

Question:
If the user changes the description is the release number increased? or is it only increased when the version is changed or the download changed? (like a linear (integer) version of the version number)
Last edited by rubenwardy on Fri Sep 14, 2012 16:10, edited 1 time in total.
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

1. I would rather have a modname like in the Minetest' s mods folder (i mean e.g. mesecons, moreores, mobf etc.), and real mod name and description should be in the description field. In othere words, my modname is your ID ;). And it is for both modlist and modinfo. It will be also better for your scripts, because "minetest/forum/api/3m/getmodbyname?id=Minecraft like item drop/pick up" would be rather problematic URL... Also, my parsers are quite strict ;).
2. The default dependency should also be listed in modinfo. Or "none" if it really depends on nothing.
3. The repotypes. Since mesecons is on a Github, the best solution would be setting repotype to git and a public clone URL as its address.
4. And I really need those releases. And release changes ONLY when content of the mod changes.

Project status: SYNC IS WORKING! I would be grateful if someone else would test it. Here is a quick guide to configuration (currently only for Linux):
1. In your home directory create a .3m directory.
2. In ~/.3m create two files: config and remote_modlists
3. In config write your settings in the following format:

Code: Select all

[localpath]
/path/to/your/local/minetest/mods/repository/
[modlist]
/path/to/your/local/modlist.3mlm
[repoinfo]
/path/to/your/local/repoinfo.3mri
Note: The files above don' t have to exist, but their directories must be writeable.
4. In remote_modlists write your remote modlist list in the following format:

Code: Select all

{modlistname}
[server]
server.with.your.modlist.3mml
[path]
/path/to/modlist.3mml/on/the/server
{end}
5. Compile 3m - "make" or "make 3m"
6. run ./3m -S
7. If everything is set up correctly, you should find a generated local modlist.3mlm in the directory, that you choosed.
File examples:
config:

Code: Select all

[localpath]
/home/phitherek/Pobrane/minetest/mods/3m/
[modlist]
/home/phitherek/Pobrane/minetest/mods/3m/modlist.3mlm
[repoinfo]
/home/phitherek/Pobrane/minetest/mods/3m/repoinfo.3mri
[end]
remote_modlists:

Code: Select all

{local}
[server]
phitherek.dyndns.org
[path]
/3m/files/modlist.3mml
{end}
Rubenwardy, you can now test your API yourself, just see if and how is the local modlist generated ;). And thank you for collaboration, because with your DB is one more, easy to maintain repository and the mod developers are more likely to register there than create modinfos for 3m themselves ;).
---
Posted by Phitherek_

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

Rubenwardy: I need your help, because your server gives me unexpected response... It may be your hosting. See, when I give 3m following data in remote_modlists:

Code: Select all

{rubenwardy}
[server]
multa.bugs3.com
[path]
/minetest/forum/api/3m/getmods.php
{end}
and then run sync, it outputs me a HTTP 302 on your server:

Code: Select all

Getting modlist: rubenwardy
getmodlist: Trying to get modlist: rubenwardy
getmodlist: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
49 bytes sent
Receiving modlist...
HTTP Error! Response: 302 Found
Error in getting modlist: rubenwardy
Do you know how to handle this?

EDIT: From Wikipedia: The HTTP response status code 302 Found is a common way of performing a redirection. - I need a direct address...

EDIT 2: Worse, it' s 404

Code: Select all

phitherek@phitherek-eee-pc nettests $ ./http_test_uni 
HTML getting by HTTP - test client
Enter hostname or IP address: multa.bugs3.com
Enter the path of the html file after main hostname (/filename.html) or n to display index: /minetest/forum/api/3m/getmods.php
Connection to: 31.170.166.101
Connection successful!
Sending HTTP GET request...
50 bytes sent
Receiving data from server...
450 bytes received
Received data:
HTTP/1.1 302 Found
Date: Sat, 15 Sep 2012 18:48:00 GMT
Server: Apache
Location: http://redirect.main-hosting.com/error404.php/6
Content-Length: 231
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="http://redirect.main-hosting.com/error404.php/6">here</a>.</p>
</body></html>


Processed data:
Protocol: HTTP/1.1
Response: 302 Found
Request timestamp: Sat, 15 Sep 2012 18:48:00 GMT
Server identification: Apache
Additional information: 
---
Location: http://redirect.main-hosting.com/error404.php/6
---
Content length:  231
Connection status: close
Content type: text/html; charset=iso-8859-1
Received content: 

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="http://redirect.main-hosting.com/error404.php/6">here</a>.</p>
</body></html>

Saving received content to file...
EDIT 3: It' s all right, one admin from my hosting (cba.pl) gave me the correct HTTP request clue for this kind of hostings and now it works with everything after last update (yes, it connects with rubenwardy' s API for 3m!).

Code: Select all

phitherek@phitherek-eee-pc nettests $ ./http_test_uni_whost 
HTML getting by HTTP - test client
Enter hostname or IP address: multa.bugs3.com
Enter the path of the html file after main hostname (/filename.html) or n to display index: minetest/forum/api/3m/getmods.php
Request:
GET /minetest/forum/api/3m/getmods.php HTTP/1.0
Host: multa.bugs3.com


Request end
Connection to: 31.170.166.101
Connection successful!
Sending HTTP GET request...
71 bytes sent
Receiving data from server...
1460 bytes received
Received data:
HTTP/1.1 200 OK
Date: Sat, 15 Sep 2012 23:32:43 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
Set-Cookie: PHPSESSID=27ba886610f0f354944b7d8ee6790fa0; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 1870
Connection: close
Content-Type: text/plain

{traps}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=traps
{end}

{mesecons}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=mesecons
{end}

{moreblocks}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=moreblocks
{end}

{worldedit}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=worldedit
{end}

{homedecor}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=homedecor
{end}

{animatedtorches}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=animatedtorches
{end}

{moreores}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=moreores
{end}

{snow}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=snow
{end}

{nether}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=nether
{end}

{food}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=food
{end}

{nature}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=nature
{end}

{f

Processed data:
Protocol: HTTP/1.1
Response: 200 OK
Request timestamp: Sat, 15 Sep 2012 23:32:43 GMT
Server identification: Apache
Additional information: 
---
X-Powered-By: PHP/5.2.17
Set-Cookie: PHPSESSID=27ba886610f0f354944b7d8ee6790fa0; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache
---
Content length: re, no-cache, must-revalidate, post-check=0, pre-check=0
Connection status: ache
Content type: : 1870
Additional information: 
---
Connection: close
Content-Type: text/plain
---
Received content: 


{traps}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=traps
{end}

{mesecons}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=mesecons
{end}

{moreblocks}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=moreblocks
{end}

{worldedit}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=worldedit
{end}

{homedecor}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=homedecor
{end}

{animatedtorches}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=animatedtorches
{end}

{moreores}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=moreores
{end}

{snow}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=snow
{end}

{nether}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=nether
{end}

{food}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=food
{end}

{nature}
[server]
multa.bugs3.com
[modinfo]
minetest/forum/api/3m/getmodbyname?id=nature
{end}

{f
Saving received content to file...
(to clear it out: 3m downloads the whole modlist, not only this part).
Last edited by Phitherek_ on Sat Sep 15, 2012 23:35, edited 1 time in total.
---
Posted by Phitherek_

User avatar
rubenwardy
Moderator
Posts: 6978
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: Bristol, United Kingdom
Contact:

by rubenwardy » Post

Phitherek_ wrote:Rubenwardy: I need your help, because your server gives me unexpected response... It may be your hosting. See, when I give 3m following data in remote_modlists:

Code: Select all

{rubenwardy}
[server]
multa.bugs3.com
[path]
/minetest/forum/api/3m/getmods.php
{end}
file...
(to clear it out: 3m downloads the whole modlist, not only this part).
Must be cause the links are wrong, and it goes to multa.bugs3.com//minetest/forum/api/3m/getmodbyname.php, and so a 404 error is activated which redirects the page to multa.bugs3.com/error.php?id=404
Last edited by rubenwardy on Sun Sep 16, 2012 12:41, edited 1 time in total.
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

Ok, on 3m' s side all bugs has been resolved so far (these were mostly incomplete requests and uninitialized strings and so on).

Rubenwardy' s Mod Forum / Browser compatibility notice:
For your mod to work, do NOT follow rubenwardy' s guidelines in description, but rather just add a simple one-line description. In other case, 3m parser will not accept the format and your mod will not get into the local modlist and as a result it won' t be on 3m' s "database"!

Rubenwardy: Sorry for this notice to ignore your guidelines, but that is true. 3m requires short one-line description instead of the HTML or BB or WHATEVERcode (I created e. g. SMPBNS Code that looks identically for my SMPBNS project). Keep in mind that it is a commandline program and it won' t parse the code in description. Also - because of modinfo format, the [] are PART OF THIS FORMAT and obviously are not allowed elsewhere. And one more thing - 3m reads only one line of the description, descriptions with more lines are treated as not in the right format (because they are). From your database only my TestModPh and the item_drop were parsed successfully. The other ones - failed. I recommend separating the "Description" and the (proposed by me) new field "Overwiew". Description should be short, one-lined. Overwiew will be in this code of yours and can be displayed as HTML.

EDIT: Latest -S (sync) run with remote modlists: local - my local modlist, official - 3m official modlist and rubenwardy - Rubenwardy' s Mod Forum / Browser:

3m console output:

Code: Select all

phitherek@phitherek-eee-pc 3m $ ./3m -S
3m - Minetest Mod Manager v. 0.1-indev (C) 2012 by Phitherek_
Config parsed successfully!
DEBUG: localrepo: /home/phitherek/Pobrane/minetest/mods/3m/
DEBUG: localml: /home/phitherek/Pobrane/minetest/mods/3m/modlist.3mlm
DEBUG: localri: /home/phitherek/Pobrane/minetest/mods/3m/repoinfo.3mri
Syncing local modlist with information from remote modlists and modinfos...
Parsing remote modlist list...
Getting modlist: official
getmodlist: Trying to get modlist: official
getmodlist: Connecting to: 3m.phitherek.cba.pl
Connection to 85.17.25.236 has been successfully established!
Sending HTTP GET request...
60 bytes sent
Receiving modlist...
287 bytes received
Received modlist! Starting modlist parser...
getmodinfo: Trying to get modinfo for: testmod
getmodinfo: Connecting to: 3m.phitherek.cba.pl
Connection to 85.17.25.236 has been successfully established!
Sending HTTP GET request...
68 bytes sent
Receiving modinfo...
364 bytes received
Received modinfo! Starting modinfo parser...
Getting modlist: local
getmodlist: Trying to get modlist: local
getmodlist: Connecting to: phitherek.dyndns.org
Connection to 89.78.152.237 has been successfully established!
Sending HTTP GET request...
64 bytes sent
Receiving modlist...
385 bytes received
Received modlist! Starting modlist parser...
getmodinfo: Trying to get modinfo for: testmod
getmodinfo: Connecting to: phitherek.dyndns.org
Connection to 89.78.152.237 has been successfully established!
Sending HTTP GET request...
72 bytes sent
Receiving modinfo...
484 bytes received
Received modinfo! Starting modinfo parser...
Getting modlist: rubenwardy
getmodlist: Trying to get modlist: rubenwardy
getmodlist: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
71 bytes sent
Receiving modlist...
1460 bytes received
871 bytes received
Received modlist! Starting modlist parser...
getmodinfo: Trying to get modinfo for: traps
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
85 bytes sent
Receiving modinfo...
1460 bytes received
1608 bytes received
Received modinfo! Starting modinfo parser...
 although {end} or action in [] was expected.y traps to minetest, I made it especially for the Hunger Games Server.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: mesecons
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
88 bytes sent
Receiving modinfo...
1460 bytes received
413 bytes received
Received modinfo! Starting modinfo parser...
 although {end} or action in [] was expected.christmas present for you all: (This post was published last Christmas)
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: moreblocks
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
90 bytes sent
Receiving modinfo...
597 bytes received
Received modinfo! Starting modinfo parser...
Modinfo parse error: Found url although description/release/deps/repotype/repoaddr was expected.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: worldedit
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
89 bytes sent
Receiving modinfo...
806 bytes received
Received modinfo! Starting modinfo parser...
 although {end} or action in [] was expected.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: homedecor
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
89 bytes sent
Receiving modinfo...
1460 bytes received
Received modinfo! Starting modinfo parser...
Modinfo parse error: Found A although { was expected.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: animatedtorches
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
95 bytes sent
Receiving modinfo...
1460 bytes received
2 bytes received
Received modinfo! Starting modinfo parser...
 although {end} or action in [] was expected.a build or git pull of Minetest dated June 17, 2012 or later.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: moreores
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
88 bytes sent
Receiving modinfo...
1460 bytes received
1553 bytes received
Received modinfo! Starting modinfo parser...
 although {end} or action in [] was expected.h the latest snapshot and Git.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: snow
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
84 bytes sent
Receiving modinfo...
1324 bytes received
Received modinfo! Starting modinfo parser...
 although {end} or action in [] was expected.ob)
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: nether
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
86 bytes sent
Receiving modinfo...
1509 bytes received
Received modinfo! Starting modinfo parser...
 although {end} or action in [] was expected.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: food
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
84 bytes sent
Receiving modinfo...
1460 bytes received
245 bytes received
Received modinfo! Starting modinfo parser...
Modinfo parse error: Found [ although string was expected.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: nature
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
86 bytes sent
Receiving modinfo...
1460 bytes received
340 bytes received
Received modinfo! Starting modinfo parser...
 although {end} or action in [] was expected.unglegrass, bushes, cacti, papyrus. Cobble turns into moss.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: farming
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
87 bytes sent
Receiving modinfo...
1460 bytes received
632 bytes received
Received modinfo! Starting modinfo parser...
Modinfo parse error: Found img although description/release/deps/repotype/repoaddr was expected.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: throwing
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
88 bytes sent
Receiving modinfo...
1007 bytes received
Received modinfo! Starting modinfo parser...
 although {end} or action in [] was expected.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: carts
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
85 bytes sent
Receiving modinfo...
1460 bytes received
1486 bytes received
Received modinfo! Starting modinfo parser...
Modinfo parse error: Found img although description/release/deps/repotype/repoaddr was expected.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: beds
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
84 bytes sent
Receiving modinfo...
1025 bytes received
Received modinfo! Starting modinfo parser...
Modinfo parse error: Found You always place the bottom part of the bed and the top part appears in your view direction (Attention! It will replace every node that was there although {end} or action in [] was expected.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: item_drop
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
89 bytes sent
Receiving modinfo...
633 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: streets
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
87 bytes sent
Receiving modinfo...
1255 bytes received
Received modinfo! Starting modinfo parser...
Modinfo parse error: Found [ although string was expected.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: saxx
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
84 bytes sent
Receiving modinfo...
967 bytes received
Received modinfo! Starting modinfo parser...
 although {end} or action in [] was expected.late on how you should layout mod pages.
Modinfo parse error!
Getmodinfo error: 6
getmodinfo: Trying to get modinfo for: testmodph
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
89 bytes sent
Receiving modinfo...
644 bytes received
Received modinfo! Starting modinfo parser...
Got all modlists and modinfos, generating local modlist...
Sync finished successfully!
Generated local modlist.3mlm:

Code: Select all

phitherek@phitherek-eee-pc 3m $ cat modlist.3mlm 
{testmod}
[rmodlist]
official
[description]
This is a test mod created for 3m.
[release]
1
[deps]
none
[depsend]
[repotype]
archive
[repoaddr]
http://3m.phitherek.cba.pl/files/testmod/testmod.7z
{end}
{testmod}
[rmodlist]
local
[description]
This is a test mod created for 3m.
[release]
1
[deps]
none
[depsend]
[repotype]
archive
[repoaddr]
http://phitherek.dyndns.org/3m/files/testmod/testmod.7z
{end}
{item_drop}
[rmodlist]
rubenwardy
[description]
I have made a mod that adds Minecraft like item drop/pick up to Minetest. All you have to do is download and install the mod. Thats it!
[release]
1
[deps]
[depsend]
[repotype]
archive
[repoaddr]
http://ompldr.org/vZXpnNw/item_drop.zip
{end}
{testmodph}
[rmodlist]
rubenwardy
[description]
This is a test mod entry created for 3m API and compatibility testing. After testing is completed, this mod will be removed from database.
[release]
1
[deps]
none
[depsend]
[repotype]
archive
[repoaddr]
http://3m.phitherek.cba.pl/files/testmod.7z
{end}
Last edited by Phitherek_ on Sun Sep 16, 2012 22:35, edited 1 time in total.
---
Posted by Phitherek_

User avatar
rubenwardy
Moderator
Posts: 6978
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: Bristol, United Kingdom
Contact:

by rubenwardy » Post

Phitherek_ wrote:Ok, on 3m' s side all bugs has been resolved so far (these were mostly incomplete requests and uninitialized strings and so on).

Rubenwardy' s Mod Forum / Browser compatibility notice:
For your mod to work, do NOT follow rubenwardy' s guidelines in description, but rather just add a simple one-line description. In other case, 3m parser will not accept the format and your mod will not get into the local modlist and as a result it won' t be on 3m' s "database"!

Rubenwardy: Sorry for this notice to ignore your guidelines, but that is true. 3m requires short one-line description instead of the HTML or BB or WHATEVERcode (I created e. g. SMPBNS Code that looks identically for my SMPBNS project). Keep in mind that it is a commandline program and it won' t parse the code in description. Also - because of modinfo format, the [] are PART OF THIS FORMAT and obviously are not allowed elsewhere. And one more thing - 3m reads only one line of the description, descriptions with more lines are treated as not in the right format (because they are). From your database only my TestModPh and the item_drop were parsed successfully. The other ones - failed. I recommend separating the "Description" and the (proposed by me) new field "Overwiew". Description should be short, one-lined. Overwiew will be in this code of yours and can be displayed as HTML.

EDIT: Latest -S (sync) run with remote modlists: local - my local modlist, official - 3m official modlist and rubenwardy - Rubenwardy' s Mod Forum / Browser:

3m console output:
I am going to add a new entry called "overview" and it will not support BBCode. So you can use it.
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

I need just what you call a "Simple description" in your guidelines to be one-line and in another field, that can be used in API. Then I could finally make the API fully compatible with 3m.

EDIT: After adding the field, I completed overview for all mods and finally got a full modlist in 3m. Here are the last -S results:
Console output:

Code: Select all

phitherek@phitherek-eee-pc 3m $ ./3m -S
3m - Minetest Mod Manager v. 0.1-indev (C) 2012 by Phitherek_
Config parsed successfully!
DEBUG: localrepo: /home/phitherek/Pobrane/minetest/mods/3m/
DEBUG: localml: /home/phitherek/Pobrane/minetest/mods/3m/modlist.3mlm
DEBUG: localri: /home/phitherek/Pobrane/minetest/mods/3m/repoinfo.3mri
Syncing local modlist with information from remote modlists and modinfos...
Parsing remote modlist list...
Getting modlist: official
getmodlist: Trying to get modlist: official
getmodlist: Connecting to: 3m.phitherek.cba.pl
Connection to 85.17.25.236 has been successfully established!
Sending HTTP GET request...
60 bytes sent
Receiving modlist...
287 bytes received
Received modlist! Starting modlist parser...
getmodinfo: Trying to get modinfo for: testmod
getmodinfo: Connecting to: 3m.phitherek.cba.pl
Connection to 85.17.25.236 has been successfully established!
Sending HTTP GET request...
68 bytes sent
Receiving modinfo...
387 bytes received
Received modinfo! Starting modinfo parser...
Getting modlist: local
getmodlist: Trying to get modlist: local
getmodlist: Connecting to: phitherek.dyndns.org
Could not connect to this address: Connection refused
Could not connect to the server: Connection refused
Error in getting modlist: local
Getting modlist: rubenwardy
getmodlist: Trying to get modlist: rubenwardy
getmodlist: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
71 bytes sent
Receiving modlist...
1460 bytes received
1067 bytes received
Received modlist! Starting modlist parser...
getmodinfo: Trying to get modinfo for: traps
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
85 bytes sent
Receiving modinfo...
582 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: mesecons
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
88 bytes sent
Receiving modinfo...
582 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: moreblocks
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
90 bytes sent
Receiving modinfo...
560 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: worldedit
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
89 bytes sent
Receiving modinfo...
536 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: modf
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
84 bytes sent
Receiving modinfo...
565 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: homedecor
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
89 bytes sent
Receiving modinfo...
732 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: animatedtorches
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
95 bytes sent
Receiving modinfo...
689 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: moreores
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
88 bytes sent
Receiving modinfo...
625 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: snow
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
84 bytes sent
Receiving modinfo...
557 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: nether
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
86 bytes sent
Receiving modinfo...
568 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: food
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
84 bytes sent
Receiving modinfo...
669 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: nature
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
86 bytes sent
Receiving modinfo...
595 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: farming
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
87 bytes sent
Receiving modinfo...
548 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: throwing
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
88 bytes sent
Receiving modinfo...
565 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: carts
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
85 bytes sent
Receiving modinfo...
675 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: beds
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
84 bytes sent
Receiving modinfo...
588 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: item_drop
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
89 bytes sent
Receiving modinfo...
571 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: streets
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
87 bytes sent
Receiving modinfo...
620 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: saxx
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
84 bytes sent
Receiving modinfo...
463 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: testmodph
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
89 bytes sent
Receiving modinfo...
528 bytes received
Received modinfo! Starting modinfo parser...
getmodinfo: Trying to get modinfo for: asasa
getmodinfo: Connecting to: multa.bugs3.com
Connection to 31.170.166.101 has been successfully established!
Sending HTTP GET request...
85 bytes sent
Receiving modinfo...
488 bytes received
Received modinfo! Starting modinfo parser...
Got all modlists and modinfos, generating local modlist...
Sync finished successfully!
Generated local modlist:

Code: Select all

phitherek@phitherek-eee-pc 3m $ cat ~/Pobrane/minetest/mods/3m/modlist.3mlm 
{testmod}
[rmodlist]
official
[description]
This is a test mod created for 3m.
[release]
1
[deps]
none
[depsend]
[repotype]
archive
[repoaddr]
http://3m.phitherek.cba.pl/files/testmod/testmod.7z
{end}
{traps}
[rmodlist]
rubenwardy
[description]
This mod adds booby traps to Minetest.
[release]
1
[deps]
default
moreblocks
[depsend]
[repotype]
archive
[repoaddr]
https://github.com/downloads/rubenwardy/Minetest-Traps-Mod/version2.zip
{end}
{mesecons}
[rmodlist]
rubenwardy
[description]
Adds electrics and mechanics (Similar to MC\'s Redstone)
[release]
1
[deps]
default
[depsend]
[repotype]
archive
[repoaddr]
https://github.com/Jeija/minetest-mod-mesecons/zipball/master
{end}
{moreblocks}
[rmodlist]
rubenwardy
[description]
This mod adds more blocks to Minetest.
[release]
1
[deps]
default
[depsend]
[repotype]
archive
[repoaddr]
https://dl.dropbox.com/u/82342922/moreblocks-120803.zip
{end}
{worldedit}
[rmodlist]
rubenwardy
[description]
WorldEdit is an Ingame-World Editor
[release]
1
[deps]
[depsend]
[repotype]
archive
[repoaddr]
dl.dropbox.com/u/30267315/worldedit0.5.zip
{end}
{modf}
[rmodlist]
rubenwardy
[description]
Mod Animals is designed to be a framework for adding mobs of any kind.
[release]
1
[deps]
[depsend]
[repotype]
archive
[repoaddr]
http://www.mediafire.com/?vr9w97ac350u215
{end}
{homedecor}
[rmodlist]
rubenwardy
[description]
This is what I consider to be a fairly feature-filled home decor mod. It supplies a bunch of stuff found in most homes, like flower pots, home electronics, brass and wrought-iron tables, and lots more! 
[release]
1
[deps]
default
unifieddyes
[depsend]
[repotype]
archive
[repoaddr]
https://github.com/VanessaE/homedecor/zipball/master
{end}
{animatedtorches}
[rmodlist]
rubenwardy
[description]
This simple mod uses a bit of code cobbled together from the default torches and from the recently-introduced animated lava to create proper, animated torches.
[release]
1
[deps]
default
[depsend]
[repotype]
archive
[repoaddr]
https://github.com/VanessaE/animatedtorches/zipball/master
{end}
{moreores}
[rmodlist]
rubenwardy
[description]
This mod adds copper, tin, silver and gold in Minetest. This mod also adds three new sets of tools/swords. 
[release]
1
[deps]
default
[depsend]
[repotype]
archive
[repoaddr]
https://dl.dropbox.com/u/82342922/moreores-120817.zip
{end}
{snow}
[rmodlist]
rubenwardy
[description]
Introducing snow and ice to Minetest
[release]
1
[deps]
default
[depsend]
[repotype]
archive
[repoaddr]
https://github.com/Splizard/minetest-mod-snow/zipball/master
{end}
{nether}
[rmodlist]
rubenwardy
[description]
This mod adds a MC Nether-like world to Minetest.
[release]
1
[deps]
default
[depsend]
[repotype]
archive
[repoaddr]
https://github.com/lkjoel/minetest-nether/zipball/master
{end}
{food}
[rmodlist]
rubenwardy
[description]
Satisfiy your hunger with this mod that adds: Bread, Buns, Juices, Cakes, Sandwiches, Burgers, Crumbles, Tarts and more foods to the game. 
[release]
1
[deps]
default
bucket
[depsend]
[repotype]
archive
[repoaddr]
https://github.com/rubenwardy/Minetest-Food-Mod/zipball/master
{end}
{nature}
[rmodlist]
rubenwardy
[description]
Growing flowers, junglegrass, bushes, cacti, papyrus. Cobble turns into moss. 
[release]
1
[deps]
default
[depsend]
[repotype]
archive
[repoaddr]
https://bitbucket.org/neko259/nature/get/0.4.3.tar.bz2
{end}
{farming}
[rmodlist]
rubenwardy
[description]
This mod adds farming to Minetest. 
[release]
1
[deps]
default
wool
bucket
[depsend]
[repotype]
archive
[repoaddr]
http://ompldr.org/vZjNwcw/farming.zip
{end}
{throwing}
[rmodlist]
rubenwardy
[description]
This mod adds bows and arrows to Minetest.
[release]
1
[deps]
default
bucket
fire
farming
[depsend]
[repotype]
archive
[repoaddr]
http://ompldr.org/vZjR5cw/throwing.zip
{end}
{carts}
[rmodlist]
rubenwardy
[description]
I have programmed a carts-mod for Minetest. It adds an object to this wonderful game: a cart. The cart is able to drive on the rail-block wich is implemented in the default game.
[release]
1
[deps]
default
[depsend]
[repotype]
archive
[repoaddr]
http://ompldr.org/vZXpzOA/carts.zip
{end}
{beds}
[rmodlist]
rubenwardy
[description]
I have made a bed mod. The bed allows you to sleep at the night until the next morning. 
[release]
1
[deps]
default
wool
[depsend]
[repotype]
archive
[repoaddr]
http://ompldr.org/vZXowaA/beds.zip
{end}
{item_drop}
[rmodlist]
rubenwardy
[description]
I have made a mod that adds Minecraft like item drop/pick up to Minetest.
[release]
1
[deps]
[depsend]
[repotype]
archive
[repoaddr]
http://ompldr.org/vZXpnNw/item_drop.zip
{end}
{streets}
[rmodlist]
rubenwardy
[description]
The StreetsMod is a mod which adds various new blocks to minetest, which you can use to build modern streets and cities.
[release]
1
[deps]
default
[depsend]
[repotype]
archive
[repoaddr]
http://streetsmod.jimdo.com/download
{end}
{saxx}
[rmodlist]
rubenwardy
[description]
xx
[release]
3
[deps]
saxx
[depsend]
[repotype]
archive
[repoaddr]
saxx
{end}
{testmodph}
[rmodlist]
rubenwardy
[description]
Test mod entry for 3m.
[release]
1
[deps]
none
[depsend]
[repotype]
archive
[repoaddr]
http://3m.phitherek.cba.pl/files/testmod.7z
{end}
{asasa}
[rmodlist]
rubenwardy
[description]
blah blah mw ha ha ha
[release]
1
[deps]
asasas
[depsend]
[repotype]
archive
[repoaddr]
asasas
{end}
phitherek@phitherek-eee-pc 3m $ 
Sync works perfectly. Time to get to Query ;).
Last edited by Phitherek_ on Mon Sep 17, 2012 20:09, edited 1 time in total.
---
Posted by Phitherek_

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

Quite big problem arose recently. I' ve made the local modlist parser, but while I am trying to parse my local modlist I am getting SEGFAULT just out-of-nowhere. Can the amount of data that I am trying to store in program' s memory be the case? If so, I must think of another solution (reading and analyzing single entries from files instead of loading the whole data to the memory).

EDIT: Tried differrent solutions but everytime an error arises - sometimes it' s SEGFAULT, sometimes it' s SIGABRT with core dump... There is something wrong with a structure I am using to collect data and I REALLY don' t know what, as the structure is similar to the one I used before and it worked. The further development is in question because of that, until I will find something that resolves these problems.

EDIT 2: Bug found, problem resolved.
Last edited by Phitherek_ on Tue Sep 18, 2012 20:24, edited 1 time in total.
---
Posted by Phitherek_

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

The Query listing is here! Now I need to add searching. Here is the last Query run console output:

Code: Select all


phitherek@phitherek-eee-pc 3m $ ./3m -Q
3m - Minetest Mod Manager v. 0.1-indev (C) 2012 by Phitherek_
Config parsed successfully!
DEBUG: localrepo: /home/phitherek/Pobrane/minetest/mods/3m/
DEBUG: localml: /home/phitherek/Pobrane/minetest/mods/3m/modlist.3mlm
DEBUG: localri: /home/phitherek/Pobrane/minetest/mods/3m/repoinfo.3mri
Local repoinfo parse error: Cannot open local repoinfo file for reading
Local repoinfo parse error. This might mean no mod has been installed by 3m yet. Continuing...

official/testmod (release: 1)
This is a test mod created for 3m.

rubenwardy/traps (release: 1)
This mod adds booby traps to Minetest.
Depends on: default moreblocks 

rubenwardy/mesecons (release: 1)
Adds electrics and mechanics (Similar to MC\'s Redstone)
Depends on: default 

rubenwardy/moreblocks (release: 1)
This mod adds more blocks to Minetest.
Depends on: default 

rubenwardy/worldedit (release: 1)
WorldEdit is an Ingame-World Editor

rubenwardy/modf (release: 1)
Mod Animals is designed to be a framework for adding mobs of any kind.

rubenwardy/homedecor (release: 1)
This is what I consider to be a fairly feature-filled home decor mod. It supplies a bunch of stuff found in most homes, like flower pots, home electronics, brass and wrought-iron tables, and lots more! 
Depends on: default unifieddyes 

rubenwardy/animatedtorches (release: 1)
This simple mod uses a bit of code cobbled together from the default torches and from the recently-introduced animated lava to create proper, animated torches.
Depends on: default 

rubenwardy/moreores (release: 1)
This mod adds copper, tin, silver and gold in Minetest. This mod also adds three new sets of tools/swords. 
Depends on: default 

rubenwardy/snow (release: 1)
Introducing snow and ice to Minetest
Depends on: default 

rubenwardy/nether (release: 1)
This mod adds a MC Nether-like world to Minetest.
Depends on: default 

rubenwardy/food (release: 1)
Satisfiy your hunger with this mod that adds: Bread, Buns, Juices, Cakes, Sandwiches, Burgers, Crumbles, Tarts and more foods to the game. 
Depends on: default bucket 

rubenwardy/nature (release: 1)
Growing flowers, junglegrass, bushes, cacti, papyrus. Cobble turns into moss. 
Depends on: default 

rubenwardy/farming (release: 1)
This mod adds farming to Minetest. 
Depends on: default wool bucket 

rubenwardy/throwing (release: 1)
This mod adds bows and arrows to Minetest.
Depends on: default bucket fire farming 

rubenwardy/carts (release: 1)
I have programmed a carts-mod for Minetest. It adds an object to this wonderful game: a cart. The cart is able to drive on the rail-block wich is implemented in the default game.
Depends on: default 

rubenwardy/beds (release: 1)
I have made a bed mod. The bed allows you to sleep at the night until the next morning. 
Depends on: default wool 

rubenwardy/item_drop (release: 1)
I have made a mod that adds Minecraft like item drop/pick up to Minetest.

rubenwardy/streets (release: 1)
The StreetsMod is a mod which adds various new blocks to minetest, which you can use to build modern streets and cities.
Depends on: default 

rubenwardy/saxx (release: 3)
xx
Depends on: saxx 

rubenwardy/testmodph (release: 1)
Test mod entry for 3m.

rubenwardy/asasa (release: 1)
blah blah mw ha ha ha
Depends on: asasas 
---
Posted by Phitherek_

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

The Query action is now finished! Next... I think I must finally get to installing ;).
Here is a sample query for "Minetest":

Code: Select all


phitherek@phitherek-eee-pc 3m $ ./3m -Q Minetest
3m - Minetest Mod Manager v. 0.1-indev (C) 2012 by Phitherek_
Config parsed successfully!
DEBUG: localrepo: /home/phitherek/Pobrane/minetest/mods/3m/
DEBUG: localml: /home/phitherek/Pobrane/minetest/mods/3m/modlist.3mlm
DEBUG: localri: /home/phitherek/Pobrane/minetest/mods/3m/repoinfo.3mri
Local repoinfo parse error: Cannot open local repoinfo file for reading
Local repoinfo parse error. This might mean no mod has been installed by 3m yet. Continuing...

rubenwardy/traps (release: 1)
This mod adds booby traps to Minetest.
Depends on: default moreblocks 

rubenwardy/moreblocks (release: 1)
This mod adds more blocks to Minetest.
Depends on: default 

rubenwardy/moreores (release: 1)
This mod adds copper, tin, silver and gold in Minetest. This mod also adds three new sets of tools/swords. 
Depends on: default 

rubenwardy/snow (release: 1)
Introducing snow and ice to Minetest
Depends on: default 

rubenwardy/nether (release: 1)
This mod adds a MC Nether-like world to Minetest.
Depends on: default 

rubenwardy/farming (release: 1)
This mod adds farming to Minetest. 
Depends on: default wool bucket 

rubenwardy/throwing (release: 1)
This mod adds bows and arrows to Minetest.
Depends on: default bucket fire farming 

rubenwardy/carts (release: 1)
I have programmed a carts-mod for Minetest. It adds an object to this wonderful game: a cart. The cart is able to drive on the rail-block wich is implemented in the default game.
Depends on: default 

rubenwardy/item_drop (release: 1)
I have made a mod that adds Minecraft like item drop/pick up to Minetest.
Enjoy!
---
Posted by Phitherek_

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

Just ran the first successful -I for the test mod entry! WARNING: It is still not deeply tested, mostly the dependencies need more testing.
Here is the output:

Code: Select all

3m - Minetest Mod Manager v. 0.1-indev (C) 2012 by Phitherek_
Config parsed successfully!
Checking mod existence in lmodlist and repoinfo...
Warning! testmod already installed, reinstalling...
Checking dependencies for testmod
(Comment: here starts wget)
--2012-09-26 20:18:17--  http://3m.phitherek.cba.pl/files/testmod/testmod.7z
Translacja 3m.phitherek.cba.pl... 85.17.25.236
Łączenie się z 3m.phitherek.cba.pl|85.17.25.236|:80... połączono.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK
Długość: 223 [application/x-7z-compressed]
Plik po stronie serwera nie nowszy niż plik lokalny `testmod.7z' -- bez pobierania.

(Comment: Here starts p7zip)
7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=pl_PL.utf8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: testmod.7z

file testmod/testmod_content
already exists. Overwrite with 
testmod/testmod_content?
(Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit? y
Extracting  testmod/testmod_content
Extracting  testmod

Everything is Ok

Folders: 1
Files: 1
Size:       57
Compressed: 223
(Comment: Here external commands end)
testmod installed successfully!
Installation finished successfully!
---
Posted by Phitherek_

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

Ok, so now I have working -I option for "archive" repositories with recursive dependency checking!
Output below:

Code: Select all

phitherek@phitherek-eee-pc 3m $ ./3m -I dtmod
3m - Minetest Mod Manager v. 0.1-indev (C) 2012 by Phitherek_
Config parsed successfully!
Local repoinfo parse error: Cannot open local repoinfo file for reading
Local repoinfo parse error. This might mean no mod has been installed by 3m yet. Continuing...

Checking mod existence in lmodlist and repoinfo...
Checking dependencies for dtmod...
Checking dependencies for sdtmod...
Checking dependencies for testmod...
Adding dependency testmod for installation...
Adding dependency fdtmod for installation...
Checking dependencies for sdtmod...
Already installing: testmod - ignoring...
Already installing: testmod - ignoring...
Adding dependency sdtmod for installation...
--2012-09-27 23:33:11--  http://3m.phitherek.cba.pl/files/testmod/testmod.7z
Translacja 3m.phitherek.cba.pl... 85.17.25.236
Łączenie się z 3m.phitherek.cba.pl|85.17.25.236|:80... połączono.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK
Długość: 223 [application/x-7z-compressed]
Zapis do: `testmod.7z'

100%[==================================================================================================================================>] 223         --.-K/s   w  0s      

2012-09-27 23:33:11 (11,6 MB/s) - zapisano `testmod.7z' [223/223]


7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=pl_PL.utf8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: testmod.7z

Extracting  testmod/testmod_content
Extracting  testmod

Everything is Ok

Folders: 1
Files: 1
Size:       57
Compressed: 223
testmod installed successfully!
--2012-09-27 23:33:11--  http://3m.phitherek.cba.pl/files/fdtmod/fdtmod.7z
Translacja 3m.phitherek.cba.pl... 85.17.25.236
Łączenie się z 3m.phitherek.cba.pl|85.17.25.236|:80... połączono.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK
Długość: 183 [application/x-7z-compressed]
Zapis do: `fdtmod.7z'

100%[==================================================================================================================================>] 183         --.-K/s   w  0s      

2012-09-27 23:33:11 (9,45 MB/s) - zapisano `fdtmod.7z' [183/183]


7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=pl_PL.utf8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: fdtmod.7z

Extracting  testmod_content

Everything is Ok

Size:       57
Compressed: 183
fdtmod installed successfully!
--2012-09-27 23:33:11--  http://3m.phitherek.cba.pl/files/sdtmod/sdtmod.7z
Translacja 3m.phitherek.cba.pl... 85.17.25.236
Łączenie się z 3m.phitherek.cba.pl|85.17.25.236|:80... połączono.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK
Długość: 183 [application/x-7z-compressed]
Zapis do: `sdtmod.7z'

100%[==================================================================================================================================>] 183         --.-K/s   w  0s      

2012-09-27 23:33:11 (6,14 MB/s) - zapisano `sdtmod.7z' [183/183]


7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=pl_PL.utf8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: sdtmod.7z

Extracting  testmod_content

Everything is Ok

Size:       57
Compressed: 183
sdtmod installed successfully!
--2012-09-27 23:33:12--  http://3m.phitherek.cba.pl/files/dtmod/dtmod.7z
Translacja 3m.phitherek.cba.pl... 85.17.25.236
Łączenie się z 3m.phitherek.cba.pl|85.17.25.236|:80... połączono.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK
Długość: 183 [application/x-7z-compressed]
Zapis do: `dtmod.7z'

100%[==================================================================================================================================>] 183         --.-K/s   w  0s      

2012-09-27 23:33:12 (7,99 MB/s) - zapisano `dtmod.7z' [183/183]


7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=pl_PL.utf8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: dtmod.7z

Extracting  testmod_content

Everything is Ok

Size:       57
Compressed: 183
dtmod installed successfully!
Installation finished successfully!
And here is the generated repoinfo file:

Code: Select all

phitherek@phitherek-eee-pc 3m $ cat repoinfo.3mri 
{testmod}
[release]
1
[path]
/home/phitherek/Pobrane/minetest/mods/3m/testmod
{end}
{fdtmod}
[release]
1
[path]
/home/phitherek/Pobrane/minetest/mods/3m/fdtmod
{end}
{sdtmod}
[release]
1
[path]
/home/phitherek/Pobrane/minetest/mods/3m/sdtmod
{end}
{dtmod}
[release]
1
[path]
/home/phitherek/Pobrane/minetest/mods/3m/dtmod
{end}
Now I will need some testers... ;)
---
Posted by Phitherek_

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

Finally, Git repotype also works with -I now! This means the install option is practically finished, now it just needs some testing, and in that field I count on you, Minetest community ;).
Here is the output of the successful -I of the mod from Git repository:

Code: Select all

phitherek@phitherek-eee-pc 3m $ ./3m -I 3m-gittestmod
3m - Minetest Mod Manager v. 0.1-indev (C) 2012 by Phitherek_
Config parsed successfully!
Checking mod existence in lmodlist and repoinfo...
Checking dependencies for 3m-gittestmod...
Cloning into '3m-gittestmod'...
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0)
Unpacking objects: 100% (3/3), done.
3m-gittestmod installed successfully!
Installation finished successfully!
---
Posted by Phitherek_

User avatar
Phitherek_
Member
Posts: 112
Joined: Thu Aug 23, 2012 16:17
Location: Kraków
Contact:

by Phitherek_ » Post

IMPORTANT NOTICE: For now, 3m' s "archive" repotype handles only DIRECT FILE URLS! So GitHub zipball or MediaFire URL WILL NOT work. I will work on that in further versions.

EDIT: Solution for now - for Github use "Git" repotype, for MediaFire use "URL with Filename".
Last edited by Phitherek_ on Sun Sep 30, 2012 19:52, edited 1 time in total.
---
Posted by Phitherek_

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests