From 76b6815a7a0737a6b36bd70c9bcc91e9f2979e48 Mon Sep 17 00:00:00 2001 From: cora Date: Tue, 15 Feb 2022 02:16:05 +0100 Subject: [PATCH] Fix malformed client ready packet crashing server --- mods/MISC/mcl_engine_workarounds/init.lua | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/mods/MISC/mcl_engine_workarounds/init.lua b/mods/MISC/mcl_engine_workarounds/init.lua index 2a7551c8..8c76e24f 100644 --- a/mods/MISC/mcl_engine_workarounds/init.lua +++ b/mods/MISC/mcl_engine_workarounds/init.lua @@ -204,3 +204,26 @@ local test_minetest_find_nodes_in_area_implementation_equivalence = function() end minetest.after( 0, test_minetest_find_nodes_in_area_implementation_equivalence ) + +--Workaround for Minetest bug #12073 +-- +minetest.register_on_joinplayer(function(p) + p:get_meta():set_string("joined","true") +end) +minetest.register_on_leaveplayer(function(p) + p:get_meta():set_string("joined","") +end) + +local function is_real_player(p) + if p:get_meta():get("joined") then return true end +end + +local mgcp = minetest.get_connected_players + +function minetest.get_connected_players() + local pp={} + for k,p in pairs(mgcp()) do + if is_real_player(p) then table.insert(pp,p) end + end + return pp +end