I'll use this thread to discuss general Minetest development and administration topics, focusing on mods but addressing other issues as well.
I'll start with an interesting griefing story and the resolution, which mod authors may wish to note.
Recently, I created a world named Wizard School. The world started with an existing school campus, which was protected, and a "build" area for new buildings located outside the campus.
One player constructed an arcade in the "build" area. The arcade was griefed almost immediately. We found copies of the following structure pasted at different heights where the arcade had been:
The arcade was protected, which seemed to rule out griefing by unprivileged players. Additionally, a review of the logs didn't show building activity inside the protected area. And the copies of the new structure were identical.
This looked like a WorldEdit attack, but there were no schems to load. Vanessa and I discussed the possibility that it was a dungeons mapgen glitch or an attack using a hacked client, but neither theory fit the facts.
A "build chest" attack was another possible explanation. But my modset didn't include any "build chests".
Amaz searched the "_game" tree and found some MTS files in the Caverealms mod. One of them, the fortress, turned out to be the mystery structure.
Caverealms mapgens a special node, s_fortress, and a related ABM then builds a fortress next to the node. There are two bugs in the mod:
(1) s_fortress and a similar node named s_fountain aren't barred from the Creative inventory.
(2) The mod doesn't check for protection. If somebody is able to place some of these nodes right outside a protected area, the buildings created by the ABMs can destroy everything in the area regardless of protection.
A partial fix is to make this change to the s_fountain and s_fortress entries in caverealms/node.lua:
- Code: Select all
- groups = {crumbly=3, schema=1},
+ groups = {crumbly=3, schema=1, not_in_creative_inventory=1},
This change doesn't address the protection bug, but it does prevent players from misusing Creative to grief in this manner.
Mod authors are advised to set not_in_creative_inventory=1 in a similar way for dangerous nodes. It is also a good idea to take protection issues into account.
Server hosts are advised to make the change in question for Caverealms or to omit the mod from Creative worlds.
To end the story, I made the preceding change and checked the Wizard School logs again. I found this:
- Code: Select all
zeo places node caverealms:s_fortress at (597,8,-374)
zeo tried to place caverealms:s_fortress at protected position (611,6,-373)
zeo tried to place caverealms:s_fortress at protected position (606,4,-384)
zeo places node caverealms:s_fortress at (597,5,-383)
zeo places node caverealms:s_fortress at (600,3,-398)
zeo places node caverealms:s_fortress at (600,4,-398)
A player named zeo had placed several of the s_fortress nodes around the protected arcade. The s_fortress ABMs then built fortresses right onto the arcade and obliterated it.
zeo had tried to place two s_fortress nodes inside the arcade, but my initial search for the griefer hadn't turned that up because my grep command was too specific. I may have searched for "places node" and not "tried to place".
Needless to say, zeo's *ss is xbanned. For others who'd like to keep an eye out for this griefer, his or her IPV4 is: 73.186.171.247