unified inventoryのエラーでログイン時にサーバが落ちる問題を修正(Minetest)
なんか最近 Unified Inventory がらみのエラーで、ログイン時にMinetestサーバが落ちるようになってしまった。
modを i3 に変えても同じような症状が出る。
インベントリ内のバッグに関係しているようだが、ちょっとよくわからない。
とりあえず代替手段として導入した sfinvと SF Inventory Bags の組み合わせではこの不具合は起こらないようだが、このインベントリは、 unified inventory に慣れてしまうと、あまり使い勝手がよくない。
ググってみて、解決策らしきものをみつけた。
https://github.com/minetest-mods/unified_inventory/issues/201
~/.minetest/mods/unified_inventory/callbacks.lua を指示通りに修正したら、なんとなくなおった(仕組みはよくわからん)。
-がついてる2行をコメントアウトして、+のところを追記するだけですね。
diff --git a/callbacks.lua b/callbacks.lua
index e92175d..a8db7cf 100644
--- a/callbacks.lua
+++ b/callbacks.lua
@@ -19,14 +19,12 @@ minetest.register_on_joinplayer(function(player)
unified_inventory.items_list
unified_inventory.activefilter[player_name] = ""
unified_inventory.active_search_direction[player_name] = "nochange"
- unified_inventory.apply_filter(player, "", "nochange")
unified_inventory.current_searchbox[player_name] = ""
unified_inventory.current_category[player_name] = "all"
unified_inventory.current_category_scroll[player_name] = 0
unified_inventory.alternate[player_name] = 1
unified_inventory.current_item[player_name] = nil
unified_inventory.current_craft_direction[player_name] = "recipe"
- unified_inventory.set_inventory_formspec(player, unified_inventory.default)
-- Refill slot
local refill = minetest.create_detached_inventory(player_name.."refill", {
@@ -48,6 +46,14 @@ minetest.register_on_joinplayer(function(player)
refill:set_size("main", 1)
end)
+minetest.register_on_mods_loaded(function()
+ minetest.register_on_joinplayer(function(player)
+ -- After everything is initialized, set up the inventory.
+ ui.apply_filter(player, "", "nochange")
+ ui.set_inventory_formspec(player, unified_inventory.default)
+ end)
+end)
+
local function apply_new_filter(player, search_text, new_dir)
local player_name = player:get_player_name()
これで子どもたちがログインするたんびにサーバリスタートしにいかなあかんイライラから開放される。
ありがとう。
この記事が気に入ったらサポートをしてみませんか?