Page 1 of 1

Minetest World Manager

PostPosted: Mon May 30, 2016 11:20
by YuGiOhJCJ
Hello,

Minetest World Manager is a program written in C language allowing to manage Minetest [1] worlds.

See the INSTALL file for the instructions on how to build and install this program from the source code.

See the ChangeLog file for the history of changes.

See the TODO file for the list of things left to do.

See the COPYING file for the license of most of the source code [2].

See the AUTHORS file for the contact address.

Usage: minetest-world-manager [OPTION]... [DIRECTORY]...
Manage the Minetest worlds located at DIRECTORY(ies).

Options:
-b, --base64-password
set PASSWORD as an encrypted password encoded with base64 instead of a raw password
-d, --display-players
display the selected player(s)
-e, --end-time=END-TIME
select player(s) with a last login time less than or equal to END-TIME
-h, --help
display this help and exit
-n, --name=NAME
select player(s) with a name equal to NAME
-p, --password=PASSWORD
select player(s) with a password equal to PASSWORD
-q, --privileges=PRIVILEGES
select player(s) with privileges equal to PRIVILEGES
-r, --remove-players
remove the selected player(s)
-s, --start-time=START-TIME
select player(s) with a last login time greater than or equal to START-TIME
-t, --time=TIME
select player(s) with a last login time equal to TIME
-u, --unformatted-time
set END-TIME, TIME and START-TIME as seconds since 1970-01-01T00:00:00Z instead of a formatted time (YYYY-MM-DDThh:mm:ddZ)
-v, --version
output version information and exit

Examples:
minetest-world-manager -d ~/.minetest/worlds/myworld
display all the players in the specified world
minetest-world-manager -dr ~/.minetest/worlds/myfirstworld ~/.minetest/worlds/mysecondworld
display and remove all the players in the specified worlds
minetest-world-manager -dn MyName -p MyPassword -q shout,interact -t 2016-06-21T17:53:33Z ~/.minetest/worlds/myworld
display the player(s) having the specified name, raw password, privileges and formatted last login time in the specified world
minetest-world-manager -dbun MyName -p "#1#F/pzuCHU2mNqcEfQMWGPpw#Viqzle5l/EguzI8NqwrUNgAd0S008rCZv7E//ekeWG726FN1V4SZClEgwUK+lVBW3cTesEIUhPutycVwMh5LwjCOc/tcON4rVzjNFM37wHHj8qD/BWhSJuTWuJ16vNeVkLo5FfVCK4yHkf2HlIBrb5F3J6xi2sxn4AB482XpXceoEYujneb7z+iwsCJt/QJhLYqslYBEQ4kNYUeQDH8W/ldk/f5EonQ876dn7PwxDZigDzdjYAH+z0X2Yz25K2HL/NrVox7WNgjiuHuR0scxZECEy9+n4GqZyqJyYzk/Qv6C/1HxGqJXeuet0RtcCpAOiwY3NE96rf3BgNejB2UOZw" -q shout,interact -t 1466524413 ~/.minetest/worlds/myworld
display the player(s) having the specified name, encrypted and encoded password, privileges and unformatted last login time in the specified world
minetest-world-manager -rs 2016-06-21T00:00:00Z -e 2016-06-21T23:59:59Z ~/.minetest/worlds/myworld
remove the players(s) having the last login time between the two specified formatted times in the specified world

Links:

News:
2016-06-21:
  • Support the new passwords with the SRP protocol.

[1] http://www.minetest.net/

[2] These files are licensed under an other license:
* src/minetest_world_manager_base64.c
* src/minetest_world_manager_base64.h
* src/minetest_world_manager_sha1.c
* src/minetest_world_manager_sha1.h
* src/minetest_world_manager_srp.c
* src/minetest_world_manager_srp.h
The corresponding license is attached to the start of these files.

Re: Minetest World Manager

PostPosted: Tue May 31, 2016 19:50
by Minetestforfun
Great work, i hope you will include SRP password possibilities for your next release :)

Keep up the good work !

Re: Minetest World Manager

PostPosted: Tue May 31, 2016 20:01
by rubenwardy
Looking anything the OP's post history, he has been investigating Srp. Are you sure that it doesn't already support that?

Re: Minetest World Manager

PostPosted: Wed Jun 01, 2016 01:12
by YuGiOhJCJ
SRP is not yet supported by Minetest World Manager.
However, I have worked on SRP in order to understand how it works [1].
I have successfully used SRP in a test program but it is not yet implemented in Minetest World Manager.

[1] viewtopic.php?f=3&t=6826#p216578

Re: Minetest World Manager

PostPosted: Tue Jun 21, 2016 17:12
by YuGiOhJCJ
I am proud to announce that the new release of Minetest World Manager supports SRP :)

Re: Minetest World Manager

PostPosted: Mon Jul 18, 2016 22:03
by Byakuren
base64 is just as much encryption as JSON is

Re: Minetest World Manager

PostPosted: Tue Jul 19, 2016 06:28
by YuGiOhJCJ
As far as I know, base64 is not encryption but encoding.
Encoding transforms data into another format using a scheme that is publicly available so that it can easily be reversed whereas encryption transforms data into another format in such a way that only specific individual(s) can reverse the transformation [1].

As JSON is also a format that is publicly available (in RFC 7159 and ECMA-404), I guess you have right: base64 and JSON can be used for data encoding.
Is it what you mean?

I am not sure to understand why you say that.
Have you a question or suggestion to improve Minetest World Manager?

[1] https://danielmiessler.com/study/encodi ... fuscation/

Re: Minetest World Manager

PostPosted: Tue Jul 19, 2016 07:56
by Byakuren
YuGiOhJCJ wrote:As far as I know, base64 is not encryption but encoding.
Encoding transforms data into another format using a scheme that is publicly available so that it can easily be reversed whereas encryption transforms data into another format in such a way that only specific individual(s) can reverse the transformation [1].

As JSON is also a format that is publicly available (in RFC 7159 and ECMA-404), I guess you have right: base64 and JSON can be used for data encoding.
Is it what you mean?

I am not sure to understand why you say that.
Have you a question or suggestion to improve Minetest World Manager?

[1] https://danielmiessler.com/study/encodi ... fuscation/


Sorry, I misread your original post. But still, why would you base64-encode something after you have encrypted it?

EDIT: Nevermind, I associated SHA hashes with hexadecimal strings, but really they are just numbers and you would have to encode it one way or another.

Re: Minetest World Manager

PostPosted: Tue Jul 19, 2016 13:17
by YuGiOhJCJ
I base64-encode the encrypted password because that's how passwords are stored in Minetest.
In Minetest World Manager, in order to check if the provided raw password is matching to an existing player, I compare the passwords stored in the "auth.txt" file with the provided raw password that I have encrypted then base64-encoded.
That's how Minetest World Manager is working.

Yes, the SHA hash (the binary output) and the generated ASCII string of hex digits that you can obtain from it are not the same thing.
As we are base64-encoding the binary output, I think it makes sense.

Re: Minetest World Manager

PostPosted: Sun Mar 05, 2017 20:51
by spyjoshx
Sorry if this is an extremely stupid question, but what exactly is the purpose of this? Is it an android app? A desktop program? Is it for modifying worlds? Batch-creating them? The documentation is extremely limited, I am left wondering what it does, and what it's for.

Re: Minetest World Manager

PostPosted: Mon Mar 06, 2017 12:46
by YuGiOhJCJ
The purpose of this program is to manage Minetest worlds.
Examples above show you the possibilities of this program in details.
This program allows you to display and/or remove selected players from worlds.

It is not an Android app but a program that can be built and run at least on Linux and Windows.
I don't know how to port this program to Android but I am sure that there is a way to do that.
As I don't have hardware on Android and tool-chain to build for this target operating system I can't test.

So, yes it is more a desktop program.

It is for displaying/modifying Minetest worlds.
More precisely, currently you can only do that on players of worlds.
It means that the map of the world is not affected.

I am not sure what you mean by batch-creating worlds.

Sorry for the lack of documentation but I thought that this README file was enough to understand the possibilities of this program.
There are some examples of usage included.