Open dennisjenkins75 opened 3 years ago
there is no easy way to extract the output of "/list_areas" into a file outside of minetest
I think it might be possible with a client mod, using the register_on_receiving_chat_message
function: https://github.com/minetest/minetest/blob/b2ab5fd1615ac5f907e43992d0905a56cddf798f/doc/client_lua_api.txt#L679-L681
Something like this should work I think:
minetest.register_on_receiving_chat_message(function(message)
minetest.log("info", message)
return true
end)
I've proposed (on Discord) adding a mod that creates a digiline node that would let one list/add/remove areas via digiline support.
I think that would have similar issues to adding a digilines command block, where because the message sent to it has no owner, the block must be owned, and then it has the potential for other players to send messages to it to manipulate the owner's areas.
I will try the client-side mod sometime soon and report if it worked or not.
Shame that digilines do not have owner info in the messages/events. :(
However, for my use-case, I would not leave the block deployed; I would craft it, use it, then secure it in a chest. But I can see others possibly neglecting to do this.
/list_areas
could be changed to open formspec with table or textarea and throw output there.
Possibly with option to allow listing say less than 250 areas directly to chat by saying something like /list_areas chat
.
Mail is nice idea but only works when mail is available. Digilines is also nice idea but again only works when digilines available. Formspec works if engine is available and it usually is if you're actually playing 😄
A table-based formspec would be nice for bulk editing/adding.
For my own use, I plan to write a small python program to render my areas (any that contain Y=0) as an SVG, so I can view that side-by-side with the online map and figure out how to optimally place non-overlapping areas on the little island that I'm on, and to remove areas that I might have created by accident that I don't need. A raw table of numbers is ok for editing, but still makes it hard to visualize.
I don't see a problem to expose the whole areas
information to the public (correct me if i'm wrong)
We also had the areas information exposed on the mapserver but it does not work anymore because the mod switched from lua-based serialization to json.
For statistics- or any other reason i've published the current area information at https://pandorabox.io/api/areas (source: https://pandorabox.io/nodered/#flow/1596571a.6d4219)
I hope that helps a bit @dennisjenkins75
I don't see a problem to expose the whole areas information to the public
Depends who you ask @BuckarooBanzay, problem some could have is similar to one with https://github.com/pandorabox-io/pandorabox.io/issues/413#issuecomment-586183105.
fair point, @SwissalpS objections?
Hello. Thank you for exposing the data. I've not made use of it yet, but it seems easy enough to do so.
I can imagine an admin adding a feature to Pandorabox where a new (or nay I guess) player can teleport to a randomly selected location that is > N node away from any know area, and in a given biome. Would make finding personal spaces for new users easier.
fair point, @SwissalpS objections?
I'm really late on this, sorry. Personally I'd be careful exposing all area data. Even without it exposed, some players have put in hours of effort to find places to place their protectors and mess with other player's areas. Just imagine what such motivated players will do if they have a tool that helps them find the perfect spot.
However, I also feel the current list unusable on my main account. Some way of exporting only my areas would be nice but I do not see rn how to do it without depending on /mail or other mod. It seems it would be areas mod's job to deal with this.
I do not see rn how to do it without depending on /mail or other mod. It seems it would be areas mod's job to deal with this.
There could be service that requires logging in to your player aacount to retrieve list of your areas. Authentication proxy is already thing.
For areas mod my suggestion would be to add formspec: https://github.com/pandorabox-io/pandorabox.io/issues/621#issuecomment-782218705
If the chat console could be marked and copied would also be a solution AFAICT.
If the chat console could be marked and copied would also be a solution AFAICT.
Current simplest solution for this is to add your own console logging to engine (or to run background tcpdump with filter script to log chat traffic). Other than that this solution has to be implemented in engine so for official support it has to go through https://github.com/minetest/minetest/issues
I've added these:
Just change "admin" to your player account name.
When one has more than a few protected areas, it becomes really tedious to audit them. We're allowed up to 1000 areas, but there is no easy way to extract the output of "/list_areas" into a file outside of minetest (eg, to our local computer, where we can process it with whatever tooling we'd like).
I've tried running the client with "--verbose --trace", but the output is mostly network packet stats and not their decoded contents.
I've tried capturing the UDP traffic with wireshark and using the minetest decoder on that (failed, but that's my own fault, I need to recompile wireshark w/ lua support for the plugin to work). In any event, this is super tedious for more than a 1-off audit.
I've proposed (on Discord) adding a mod that creates a digiline node that would let one list/add/remove areas via digiline support. Coupled w/ the digistuff:nic, I could ex-filtrate my areas list. SwissalpS mentioned that they are opposed to such a mod, fearing abuse. I can understand that. Maybe use of such a node would only return one's own areas, and not allow setting new areas unless they owner had sufficiently high XP (beyond the XP required to set an area manually).
SwissalpS suggested that maybe the area mod could add a command to email one's personal area list to themselves. That would work for auditing.
[1] https://github.com/minetest/minetest/tree/master/util/wireshark