Poikilos / EnlivenMinetest

Minetest engine server management tools and ENLIVEN game installer/updater
Other
3 stars 0 forks source link

bucket_game mkdir issue in Trolltest (execute) #615

Open Poikilos opened 1 year ago

Poikilos commented 1 year ago

Building trolltest and running bucket_game results in:

ModError: Failed to load and run script from /home/owner/trolltest-rsync/bin/../games/bucket_game/mods/codercore/ocsethome/init.lua:
...bin/../games/bucket_game/mods/codercore/ocmkdir/init.lua:21: attempt to call field 'execute' (a nil value)
stack traceback:
    ...bin/../games/bucket_game/mods/codercore/ocmkdir/init.lua:21: in function 'mkdir'
    ...n/../games/bucket_game/mods/codercore/ocsethome/init.lua:36: in main chunk
Check debug.txt for details.

Related to:

Solutions:

mckaygerhard commented 1 year ago

why a lua MOD script must call "mkdir" ? an I/O operation its so invasive

Poikilos commented 1 year ago

I can make a patch to affected mods using get_mod_storage

Poikilos commented 1 year ago

mkdir_patches-vs-mtkit-230820.zip WIP patches (tested and working in our build of trolltest 5.3-dev) mkdir_patches-vs-mtkit-230820.zip If you have trouble patching, read the patches in a text editor. You should be able to make the change by hand if necessary. It uses the following workaround which is common to make mods backward compatible but not require disabling mod security on any minetest that has minetest.mkdir (circa 2015):

        if  minetest.mkdir then
            minetest.mkdir(dir)
        else
            os.execute('mkdir "'..dir..'"')
        end
mckaygerhard commented 1 year ago

could we provide a new release of bucket game in downloads? for confortability of users you know it?

Poikilos commented 1 year ago

OldCoder is testing the patches.

mckaygerhard commented 1 year ago

this issue is already fixed with such patches, i will report the rest cos such patch are only for mkdir issue, this i pretty obvious

Poikilos commented 10 months ago

Fix for 240107 master copy, and patch out of ocsethome (change to player metadata) as well

no_unsafe_calls_ocmkdir_and_ocsethome-vs-bucket_game-master-240106.zip

or

no_unsafe_calls_ocmkdir_and_ocsethome-vs-bucket_game-master-240106.patch