Recently My game stopped appearing in searches and tags, It used to be showed but now it's not showing up. Please help.
You did not.
The game included Minetest (to point it out explicitly) and a lot of related mods, some of which are licensed under the GNU AGPL v3. Simply changing the license of the entire game (in terms of what you distribute) to the GNU LGPL v2.1 (which you did) does not solve the problem because the GNU AGPL v3 does not allow you to license the mods under the GNU LGPL v2.1.
CC licenses, which are used largely by the media content in MT and the mods you included, generally require attribution to the author, which you did not do. In addition, the CC-BY-SA licenses do not allow you to license the content under a different license, which you did by changing the license to the GNU LGPL v2.1.
You could make a bundle of Minetest and some mods. However, as far as I understand, you need to give proper attribution and address the license issues, such as by having different components under different liecnses (which most mods do anyway, with code and media under different licenses) and/or by asking the corresponding mod developer(s) for license exceptions. Other people could make such a bundle as well, provided that licensing issues (among other things) are properly addressed, and doing so properly is not considered “pirating” in terms of copyright violation.
Your game was subject to a takedown request. Please contact support to resolve this, posting here won't help.
On a personal note: as people pointed out in several recent topics, you're selling an open source game and a big pile of mods without proper attribution. You can hardly complain about "piracy" when the game doesn't belong to you in the first place. That's against itch.io's rules, unethical, and maybe even in breach of license. Actions have consequences. And often those consequences aren't fun, or fair.
I bought a copy of your game earlier after the discussion appeared on the Minetest Discord. It is basically a somewhat modified version of sfan5’s builds (specifically, the win64 build of 51cfb57). This is partially also reflected by xprop
(I ran the program under Wine as I do not use Windows):
WM_NAME(STRING) = "Minetest 5.5.0-51cfb57 [Main Menu]"
I also did a SHA1 check on the files, using the following command for sfan5’s build and a similar one for Makeworld:
find bin builtin client clientmods fonts textures games/minetest_game/{menu,utils} -type f -exec sha1sum {} \;; find . games/minetest_game -maxdepth 1 -type f -exec sha1sum {} \;
Here are the differences I found when comparing the SHA1 checksums (I use diff -C3
for the diffs):
bin/minetest.exe
and bin/Makeworld.exe
differ. This is likely because you changed the icon.
builtin/common/vector.lua
differs:
*** minetest-5.5.0-51cfb57-win64/builtin/common/vector.lua 2021-09-15 22:59:21.000000000 +0200
--- Makeworld/builtin/common/vector.lua 2021-08-29 13:15:26.000000000 +0200
***************
*** 30,57 ****
end
function vector.new(a, b, c)
- if a and b and c then
- return fast_new(a, b, c)
- end
-
- -- deprecated, use vector.copy and vector.zero directly
if type(a) == "table" then
! return vector.copy(a)
! else
! assert(not a, "Invalid arguments for vector.new()")
! return vector.zero()
end
- end
-
- function vector.zero()
return fast_new(0, 0, 0)
end
- function vector.copy(v)
- assert(v.x and v.y and v.z, "Invalid vector passed to vector.copy()")
- return fast_new(v.x, v.y, v.z)
- end
-
function vector.from_string(s, init)
local x, y, z, np = string.match(s, "^%s*%(%s*([^%s,]+)%s*[,%s]%s*([^%s,]+)%s*[,%s]" ..
"%s*([^%s,]+)%s*[,%s]?%s*%)()", init)
--- 30,45 ----
end
function vector.new(a, b, c)
if type(a) == "table" then
! assert(a.x and a.y and a.z, "Invalid vector passed to vector.new()")
! return fast_new(a.x, a.y, a.z)
! elseif a then
! assert(b and c, "Invalid arguments for vector.new()")
! return fast_new(a, b, c)
end
return fast_new(0, 0, 0)
end
function vector.from_string(s, init)
local x, y, z, np = string.match(s, "^%s*%(%s*([^%s,]+)%s*[,%s]%s*([^%s,]+)%s*[,%s]" ..
"%s*([^%s,]+)%s*[,%s]?%s*%)()", init)
I am not sure where you get this from, but the diff here is not particularly surprising considering that the vector manipulation library was added somewhat recently.
builtin/fstk/dialog.lua
differs:
*** minetest-5.5.0-51cfb57-win64/builtin/fstk/dialog.lua 2021-02-02 20:49:07.000000000 +0100
--- Makeworld/builtin/fstk/dialog.lua 2022-03-14 06:09:32.000000000 +0100
***************
*** 1,19 ****
! --Minetest
! --Copyright (C) 2014 sapier
! --
! --This program is free software; you can redistribute it and/or modify
! --it under the terms of the GNU Lesser General Public License as published by
! --the Free Software Foundation; either version 2.1 of the License, or
! --(at your option) any later version.
! --
! --this program is distributed in the hope that it will be useful,
! --but WITHOUT ANY WARRANTY; without even the implied warranty of
! --MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! --GNU Lesser General Public License for more details.
! --
! --You should have received a copy of the GNU Lesser General Public License along
! --with this program; if not, write to the Free Software Foundation, Inc.,
! --51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
local function dialog_event_handler(self,event)
if self.user_eventhandler == nil or
--- 1,4 ----
!
local function dialog_event_handler(self,event)
if self.user_eventhandler == nil or
Needless to say, the problem here is not only that you did not attribute the original authors, but also actively removed attribution.
builtin/game/deprecated.lua
differs:
*** minetest-5.5.0-51cfb57-win64/builtin/game/deprecated.lua 2021-02-02 20:49:07.000000000 +0100
--- Makeworld/builtin/game/deprecated.lua 2022-02-17 06:02:56.000000000 +0100
***************
*** 1,8 ****
- -- Minetest: builtin/deprecated.lua
- --
- -- EnvRef
- --
core.env = {}
local envref_deprecation_message_printed = false
setmetatable(core.env, {
--- 1,4 ----
***************
*** 35,43 ****
local function setting_proxy(name)
return function(...)
! core.log("deprecated", "WARNING: minetest.setting_* "..
"functions are deprecated. "..
! "Use methods on the minetest.settings object.")
return settings[name](settings, ...)
end
end
--- 31,39 ----
local function setting_proxy(name)
return function(...)
! core.log("deprecated", "WARNING: makeworld.setting_* "..
"functions are deprecated. "..
! "Use methods on the makeworld.settings object.")
return settings[name](settings, ...)
end
end
I do not think this needs particular explanation either.
builtin/features.lua
differs:
*** minetest-5.5.0-51cfb57-win64/builtin/game/features.lua 2021-09-27 20:51:51.000000000 +0200
--- Makeworld/builtin/game/features.lua 2022-02-18 04:30:26.000000000 +0100
***************
*** 1,4 ****
! -- Minetest: builtin/features.lua
core.features = {
glasslike_framed = true,
--- 1,4 ----
! -- Makeworld: builtin/features.lua
core.features = {
glasslike_framed = true,
builtin/privileges.lua
differs:
*** minetest-5.5.0-51cfb57-win64/builtin/game/privileges.lua 2021-09-15 22:59:21.000000000 +0200
--- Makeworld/builtin/game/privileges.lua 2022-03-14 06:06:44.000000000 +0100
***************
*** 1,4 ****
! -- Minetest: builtin/privileges.lua
local S = core.get_translator("__builtin")
--- 1,4 ----
!
local S = core.get_translator("__builtin")
***************
*** 78,84 ****
})
core.register_privilege("password", {
description = S("Can use /setpassword and /clearpassword"),
! give_to_singleplayer = false,
give_to_admin = true,
})
core.register_privilege("fly", {
--- 78,84 ----
})
core.register_privilege("password", {
description = S("Can use /setpassword and /clearpassword"),
! give_to_singleplayer = true,
give_to_admin = true,
})
core.register_privilege("fly", {
The only change that really belongs to you is that the password
priv is granted to the player in singleplayer mode. I do not think this makes sense though, unless you have a world that you sometimes play in singleplayer and sometimes host as a server.
builtin/mainmenu/dlg_create_world.lua
differs:
*** minetest-5.5.0-51cfb57-win64/builtin/mainmenu/dlg_create_world.lua 2021-11-27 13:04:29.000000000 +0100
--- Makeworld/builtin/mainmenu/dlg_create_world.lua 2022-01-24 04:53:36.000000000 +0100
***************
*** 101,107 ****
"box[0,0;12,2;" .. mt_color_orange .. "]" ..
"textarea[0.3,0;11.7,2;;;"..
fgettext("You have no games installed.") .. "\n" ..
! fgettext("Download one from minetest.net") .. "]" ..
"button[4.75,2.5;3,0.5;world_create_cancel;" .. fgettext("Cancel") .. "]"
end
--- 101,107 ----
"box[0,0;12,2;" .. mt_color_orange .. "]" ..
"textarea[0.3,0;11.7,2;;;"..
fgettext("You have no games installed.") .. "\n" ..
! fgettext("Download one from makeworld.net") .. "]" ..
"button[4.75,2.5;3,0.5;world_create_cancel;" .. fgettext("Cancel") .. "]"
end
***************
*** 312,318 ****
devtest_only = "box[0,0;5.8,1.7;#ff8800]" ..
"textarea[0.3,0;6,1.8;;;"..
fgettext("Warning: The Development Test is meant for developers.") .. "\n" ..
! fgettext("Download a game, such as Minetest Game, from minetest.net") .. "]"
gamelist_height = 0.5
end
--- 312,318 ----
devtest_only = "box[0,0;5.8,1.7;#ff8800]" ..
"textarea[0.3,0;6,1.8;;;"..
fgettext("Warning: The Development Test is meant for developers.") .. "\n" ..
! fgettext("Download a game, such as Makeworld Game, from makeworld.net") .. "]"
gamelist_height = 0.5
end
I am not sure whether the changes here makes sense considering that you do not even bundle the devtest game.
I am also not sure whether it was you who registered the makeworld.net
domain, but that is irrelevant here.
builtin/mainmenu/tab_about.lua
differs:
*** minetest-5.5.0-51cfb57-win64/builtin/mainmenu/tab_about.lua 2021-09-15 22:59:21.000000000 +0200
--- Makeworld/builtin/mainmenu/tab_about.lua 2021-10-17 06:18:44.000000000 +0200
***************
*** 1,5 ****
! --Minetest
! --Copyright (C) 2013 sapier
--
--This program is free software; you can redistribute it and/or modify
--it under the terms of the GNU Lesser General Public License as published by
--- 1,5 ----
! --Makeworld
! --Copyright (C) 2021 Harsh S lakhan
--
--This program is free software; you can redistribute it and/or modify
--it under the terms of the GNU Lesser General Public License as published by
***************
*** 18,91 ****
--------------------------------------------------------------------------------
local core_developers = {
! "Perttu Ahola (celeron55) <celeron55@gmail.com>",
! "sfan5 <sfan5@live.de>",
! "Nathanaël Courant (Nore/Ekdohibs) <nore@mesecons.net>",
! "Loic Blot (nerzhul/nrz) <loic.blot@unix-experience.fr>",
! "paramat",
! "Andrew Ward (rubenwardy) <rw@rubenwardy.com>",
! "Krock/SmallJoker <mk939@ymail.com>",
! "Lars Hofhansl <larsh@apache.org>",
! "Pierre-Yves Rollo <dev@pyrollo.com>",
! "v-rob <robinsonvincent89@gmail.com>",
}
-- For updating active/previous contributors, see the script in ./util/gather_git_credits.py
local active_contributors = {
! "Wuzzy [devtest game, visual corrections]",
! "Zughy [Visual improvements, various fixes]",
! "Maksim (MoNTE48) [Android]",
! "numzero [Graphics and rendering]",
! "appgurueu [Various internal fixes]",
! "Desour [Formspec and vector API changes]",
! "HybridDog [Rendering fixes and documentation]",
! "Hugues Ross [Graphics-related improvements]",
! "ANAND (ClobberXD) [Mouse buttons rebinding]",
! "luk3yx [Fixes]",
! "hecks [Audiovisuals, Lua API]",
! "LoneWolfHT [Object crosshair, documentation fixes]",
! "Lejo [Server-related improvements]",
! "EvidenceB [Compass HUD element]",
! "Paul Ouellette (pauloue) [Lua API, documentation]",
! "TheTermos [Collision detection, physics]",
! "David CARLIER [Unix & Haiku build fixes]",
! "dcbrwn [Object shading]",
! "Elias Fleckenstein [API features/fixes]",
! "Jean-Patrick Guerrero (kilbith) [model element, visual fixes]",
! "k.h.lai [Memory leak fixes, documentation]",
}
local previous_core_developers = {
! "BlockMen",
! "Maciej Kasatkin (RealBadAngel) [RIP]",
! "Lisa Milne (darkrose) <lisa@ltmnet.com>",
! "proller",
! "Ilya Zhuravlev (xyz) <xyz@minetest.net>",
! "PilzAdam <pilzadam@minetest.net>",
! "est31 <MTest31@outlook.com>",
! "kahrl <kahrl@gmx.net>",
! "Ryan Kwolek (kwolekr) <kwolekr@minetest.net>",
! "sapier",
! "Zeno",
! "ShadowNinja <shadowninja@minetest.net>",
! "Auke Kok (sofar) <sofar@foo-projects.org>",
}
local previous_contributors = {
! "Nils Dagsson Moskopp (erlehmann) <nils@dieweltistgarnichtso.net> [Minetest Logo]",
! "red-001 <red-001@outlook.ie>",
! "Giuseppe Bilotta",
! "Dániel Juhász (juhdanad) <juhdanad@gmail.com>",
! "MirceaKitsune <mirceakitsune@gmail.com>",
! "Constantin Wenger (SpeedProg)",
! "Ciaran Gultnieks (CiaranG)",
! "stujones11 [Android UX improvements]",
! "Rogier <rogier777@gmail.com> [Fixes]",
! "Gregory Currie (gregorycu) [optimisation]",
! "srifqi [Fixes]",
! "JacobF",
! "Jeija <jeija@mesecons.net> [HTTP, particles]",
}
local function buildCreditList(source)
--- 18,38 ----
--------------------------------------------------------------------------------
local core_developers = {
! "Harsh S.Lakhan",
}
-- For updating active/previous contributors, see the script in ./util/gather_git_credits.py
local active_contributors = {
! "Harsh S.Lakhan",
}
local previous_core_developers = {
! "Harsh S.Lakhan",
}
local previous_contributors = {
! "Harsh S.Lakhan",
}
local function buildCreditList(source)
***************
*** 104,111 ****
local version = core.get_version()
local fs = "image[0.75,0.5;2.2,2.2;" .. core.formspec_escape(logofile) .. "]" ..
"style[label_button;border=false]" ..
! "button[0.5,2;2.5,2;label_button;" .. version.project .. " " .. version.string .. "]" ..
! "button[0.75,2.75;2,2;homepage;minetest.net]" ..
"tablecolumns[color;text]" ..
"tableoptions[background=#00000000;highlight=#00000000;border=false]" ..
"table[3.5,-0.25;8.5,6.05;list_credits;" ..
--- 51,58 ----
local version = core.get_version()
local fs = "image[0.75,0.5;2.2,2.2;" .. core.formspec_escape(logofile) .. "]" ..
"style[label_button;border=false]" ..
! "button[0.5,2;2.5,2;label_button;" .. "Makeworld" .. " " .. "1.0.0.0" .. "]" ..
! "button[0.75,2.75;2,2;homepage;makeworld.net]" ..
"tablecolumns[color;text]" ..
"tableoptions[background=#00000000;highlight=#00000000;border=false]" ..
"table[3.5,-0.25;8.5,6.05;list_credits;" ..
***************
*** 135,141 ****
end,
cbf_button_handler = function(this, fields, name, tabdata)
if fields.homepage then
! core.open_url("https://www.minetest.net")
end
if fields.userdata then
--- 82,88 ----
end,
cbf_button_handler = function(this, fields, name, tabdata)
if fields.homepage then
! core.open_url("https://www.makeworld.net")
end
if fields.userdata then
I do not think I need to explain the problem here.
client/shaders/object_header/opengl_fragment.glsl
differs:
*** minetest-5.5.0-51cfb57-win64/client/shaders/object_shader/opengl_fragment.glsl 2021-10-27 18:08:52.000000000 +0200
--- Makeworld/client/shaders/object_shader/opengl_fragment.glsl 2021-12-06 04:33:14.000000000 +0100
***************
*** 58,64 ****
vec4 applyToneMapping(vec4 color)
{
color = vec4(pow(color.rgb, vec3(2.2)), color.a);
! const float gamma = 1.6;
const float exposureBias = 5.5;
color.rgb = uncharted2Tonemap(exposureBias * color.rgb);
// Precalculated white_scale from
--- 58,64 ----
vec4 applyToneMapping(vec4 color)
{
color = vec4(pow(color.rgb, vec3(2.2)), color.a);
! const float gamma = 2.6;
const float exposureBias = 5.5;
color.rgb = uncharted2Tonemap(exposureBias * color.rgb);
// Precalculated white_scale from
No comment. I do not know GLSL.
Your copy includes a client/shaders backup
directory, which is mostly identical to client/shaders
, with the difference mentioned above.
Your copy also includes fonts/cloude_license.txt
and fonts/specimen_cloude_12.png
. You apparently did not include the actual font file though, possibly because of the conditions stated in the license.
A few files in the textures
directory differ. These are either slightly modified (e.g. by changing the color), or you replaced the references to Minetest with those to your game. This is also the case for some files in games/Makeworld/menu
and for games/Makeworld/screenshot.png
.
games/Makeworld/game.conf
differs:
*** minetest-5.5.0-51cfb57-win64/games/minetest_game/game.conf 2020-10-18 15:59:07.000000000 +0200
--- Makeworld/games/Makeworld/game.conf 2021-04-07 20:59:42.000000000 +0200
***************
*** 1,3 ****
! name = Minetest Game
! author = Minetest
! description = A basic exploration, mining, crafting and building sandbox game with no NPCs, monsters or animals. Minetest Game is usually used with mods added and many mods are available for this game. Reliably maintained by Minetest Engine core developers.
--- 1,3 ----
! name = Makeworld game
! author = tridentatron
! description = An exploration sandbox.
games/Makeworld/game_api.txt
differs:
*** minetest-5.5.0-51cfb57-win64/games/minetest_game/game_api.txt 2021-09-15 22:59:22.000000000 +0200
--- Makeworld/games/Makeworld/game_api.txt 2021-04-07 20:59:42.000000000 +0200
***************
*** 225,232 ****
sounds = default.node_sound_wood_defaults(), -- optional
sound_open = sound play for open door, -- optional
sound_close = sound play for close door, -- optional
- gain_open = 0.3, -- optional, defaults to 0.3
- gain_close = 0.3, -- optional, defaults to 0.3
protected = false, -- If true, only placer can open the door (locked for others)
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
-- optional function containing the on_rightclick callback, defaults to a doors.door_toggle-wrapper
--- 225,230 ----
***************
*** 246,253 ****
sounds = default.node_sound_wood_defaults(), -- optional
sound_open = sound play for open door, -- optional
sound_close = sound play for close door, -- optional
- gain_open = 0.3, -- optional, defaults to 0.3
- gain_close = 0.3, -- optional, defaults to 0.3
protected = false, -- If true, only placer can open the door (locked for others)
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
-- function containing the on_rightclick callback
--- 244,249 ----
I suppose the diff here is caused by the different types of line breaks?
games/Makeworld/schematic_tables.txt
differs:
*** minetest-5.5.0-51cfb57-win64/games/minetest_game/schematic_tables.txt 2020-02-10 23:21:18.000000000 +0100
--- Makeworld/games/Makeworld/schematic_tables.txt 2021-12-18 00:54:00.000000000 +0100
***************
*** 1,8 ****
! Minetest Game schematic tables
==============================
This document acts as the official record of all schematic tables used in
! Minetest Game, and should be updated by any commit that adds a table type
schematic.
The following tables are for pasting into mods that contain a function to
--- 1,8 ----
! Makeworld Game schematic tables
==============================
This document acts as the official record of all schematic tables used in
! Makeworld Game, and should be updated by any commit that adds a table type
schematic.
The following tables are for pasting into mods that contain a function to
***************
*** 10,16 ****
process two formats of the 'data' table:
The standard table format is described in the 'Schematic specifier' section of
! the lua_api.txt file in the Minetest Engine.
The 'data' table appears as a sequence of vertical slices through the structure
the schematic describes.
Each XY-plane slice has the X-rows formatted in order of increasing Y, so the
--- 10,16 ----
process two formats of the 'data' table:
The standard table format is described in the 'Schematic specifier' section of
! the lua_api.txt file in the Makeworld Engine.
The 'data' table appears as a sequence of vertical slices through the structure
the schematic describes.
Each XY-plane slice has the X-rows formatted in order of increasing Y, so the
games/Makeworld/settingtypes.txt
differs. The diff is too long for this post here, but it appears to me that you simply added the settings from various mods to the settingtypes.txt
file of the game.
You also have a games/Makeworld/.travis.yml
, which looks like a CI script.
There are also a few files from bin
that you copied to the root directory. I am not sure why.
You also included a few library files that I do not know much about. These might be from ReShade, but I have not verified it yet.
The `README.txt
[sic] file you included does not mention Minetest at all (or the mods that you included).
I have not yet checked the files in games/Makeworld/mods
, as you may notice. I might do that later.
Edit: ROllerozxa’s post shows the licensing issues with mods. Please refer to that one.
In regards to license issues, the smoking gun(s) have to be some assets that are licensed under a CC-BY-NC-SA license, NC meaning no commercial use. The following mods `farming`, `water_life` and `motorbike` contain one or more assets licensed as CC-BY-NC-SA.
>>> grep -ri 'CC-BY-NC-SA' mods/farming/license.txt:Created by RZR0 (CC-BY-NC-SA) mods/water_life/doc/license.txt:CC-BY-NC-SA 3.0 by Melkor mods/motorbike/LICENSE:Melkor (CC-BY-NC-SA 3.0)
While you could make the argument that you can in fact sell a game containing mods licensed under various GNU copyleft licenses completely legally (you just need to respect the licensing, i.e. keep the mods under a compatible license and give attribution), adding mods that contain assets that are licensed to EXPLICITLY NOT ALLOW COMMERCIAL USE (i.e. selling the game for profit) is completely illegal. You were notified of this by multiple people but never removed these mods or replaced the assets that are being used illegally.