Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(9 edits) (+6)

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.

thnx i'll fix it