Page 1 of 2

[Clientmod] Oredetection [oredetect]

PostPosted: Sat Mar 18, 2017 18:03
by DS-minetest
Detect ores and other nodes via CSM.

You need a new minetest-dev version.

How to use:
Just type "/oredetect help" and you'll get enough information.

License: CC0

github
Download

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Sat Mar 18, 2017 21:11
by Wuzzy
/oredetect help

Wait, what? No, no, no!!!
Please don't tell me that client-sided chat commands also start with a forward slash, making them look identical to server-sided commands. WHYYYYY?

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Sun Mar 19, 2017 00:45
by bigfoot547
Did you get inspiration from my csm-inspect client mod?

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Sun Mar 19, 2017 07:16
by cx384
Congratulations!
DS-minetest you have made the first Clientmod on this forum.

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Sun Mar 19, 2017 08:17
by DS-minetest
bigfoot547 wrote:Did you get inspiration from my csm-inspect client mod?

Yes I did, it was useful.
I hope it's not a problem that I took CC0. If it is please tell me and I'll change the license and write that it was inspirited by your mod. I thought, it differs enough (and didn't look at your license >_<).

Todo:
Add a param to change the radius.
Edit: Done.

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Sun Mar 19, 2017 10:51
by red-001
Wuzzy wrote:
/oredetect help

Wait, what? No, no, no!!!
Please don't tell me that client-sided chat commands also start with a forward slash, making them look identical to server-sided commands. WHYYYYY?


You can easily change it if you know Lua, just take a look at /builtin/client

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Sun Mar 19, 2017 21:25
by bigfoot547
DS-minetest wrote:
bigfoot547 wrote:Did you get inspiration from my csm-inspect client mod?

Yes I did, it was useful.
I hope it's not a problem that I took CC0. If it is please tell me and I'll change the license and write that it was inspirited by your mod. I thought, it differs enough (and didn't look at your license >_<)


The code is very similar, so to avoid confusion, please, the license says that you need to use the LGPL v2.1+ and you must credit me. You can use my code if this is fixed.

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Sun Mar 19, 2017 21:34
by ExeterDad
So will server owners be able to prevent this mod from use on their server?

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 00:01
by red-001
No

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 00:38
by Diamond knight
the dawn of the xray hackers -_- this needs to be fixed to be disablable

What the actual fucking fuck?

PostPosted: Mon Mar 20, 2017 01:29
by Wuzzy
ExeterDad wrote:So will server owners be able to prevent this mod from use on their server?

red-001 wrote:No


Wait, WHAT? Hahahahaha. OMFG. Like, seriously.
Yes, this is INDEED the dawn of X-ray cheat and it is not only non-preventable but also undetectable. Plus, it is freaking officially supported by Minetest! WTF?

And I think the X-ray cheat will be the least of our worries. I'm worried that it will also be used to implement all other kinds of client-sided cheats. Like displaying the minimap, even if the server disabled it, and tons of other information the player is normally not supposed to see. Not that it wasn't possible before. But now it's officially supported. This is a gigantic red flag.

I'm starting to think the introduction of client-sided modding was a TERRIBLE idea. At least in its current form.

PLEASE correct me if I'm wrong. PLEASE somebody tell me that there is some misunderstanding here, or that I failed to understand client-sided modding. I really hope I am wrong. :-( Because if NOT, that would be potentionally a serious blow against Minetest multiplayer, because cheating is becoming very convenient.

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 02:26
by bigfoot547
It's okay Wuzzy. I just modified the C++ and hey! Fast, fly, noclip, reach, and rendering all light levels fully bright. Nothing has changed.

EDIT: Actually 1 thing did change, you no longer need to recompile minetest.

Re: What the actual fucking fuck?

PostPosted: Mon Mar 20, 2017 06:29
by Linuxdirk
Wuzzy wrote:And I think the X-ray cheat will be the least of our worries. I'm worried that it will also be used to implement all other kinds of client-sided cheats. Like displaying the minimap, even if the server disabled it, and tons of other information the player is normally not supposed to see. Not that it wasn't possible before. But now it's officially supported. This is a gigantic red flag.

Yes. This WILL add a shit-ton of serious issues gameplay-wise and security-wise. Client-side modding is the single worst thing that happened to Minetest since "mod security" was announced.

A few weeks ago someone posted an inofficial "hacked" client allowing all sorts of cheats. People went crazy about it. But this client will be obsolete if CSM is fully implemented because all of this things then will be officially and legally supported by Minetest itself.

Permissions on servers will be pretty useless then because the client can be modded to ignore them. Players can literally do whatever they want with this.

Wuzzy wrote:[CSM] would be potentionally a serious blow against Minetest multiplayer, because cheating is becoming very convenient.

Yes, it will be a dark future for public servers. I don't understand why the devs intentionally break the game that hard.

Re: What the actual fucking fuck?

PostPosted: Mon Mar 20, 2017 06:39
by sofar
Wuzzy wrote:Yes, this is INDEED the dawn of X-ray cheat and it is not only non-preventable but also undetectable. Plus, it is freaking officially supported by Minetest! WTF?

And I think the X-ray cheat will be the least of our worries. I'm worried that it will also be used to implement all other kinds of client-sided cheats. Like displaying the minimap, even if the server disabled it, and tons of other information the player is normally not supposed to see. Not that it wasn't possible before. But now it's officially supported. This is a gigantic red flag.


There are many, many ways to protect against these type of issues. But minetest_game doesn't implement them.

The engine, however, has many tools available to truly hide ores from the client.

First, one can remove all the ore nodes entirely, and make ores just randomly drop from "default:stone". Easy. Problem solved. Not a single xray hack will be able to break this. Byebye noclip being useful underground!

There's a little less drastic method too: Don't place ore nodes until they are actually exposed to air. Any fully enclosed ore should remain "default:stone" until an adjacent node is dug, and the node becomes visible to players. At that point, switch the node to the ore node that it should be. Again, noclip useless underground, but you can still scout caves for "quick finds" where ores are exposed. Any other ore node - you'll have to dig hard for them.

I'm sure I can come up with other ways to defeat oredetect :)

Re: What the actual fucking fuck?

PostPosted: Mon Mar 20, 2017 07:00
by Linuxdirk
sofar wrote:
Wuzzy wrote:Yes, this is INDEED the dawn of X-ray cheat and it is not only non-preventable but also undetectable. Plus, it is freaking officially supported by Minetest! WTF? [[...]]

There are many, many ways to protect against these type of issues. But minetest_game doesn't implement them.

[...]

I could write an elaborated statement about software security and how to implement security-relevant features. But this just leaves me speechless.

Wow.

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 07:59
by rnd
Wait, WHAT? Hahahahaha. OMFG. Like, seriously.
Yes, this is INDEED the dawn of X-ray cheat and it is not only non-preventable but also undetectable. Plus, it is freaking officially supported by Minetest! WTF?


Its not all that bad - cheaters are very grateful for your work. Other players maybe not so much. At least you could add a switch where server could disable client running its own scripts. But its not really a big deal cause there are no real survival servers anyway.

But no worries, it works both ways. Just make a client mod on server thats sent to client and will make it unplayable for client that has clientside modding enabled. And then wannabe annoyers are back to good ol' "change source/recompile".

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 12:18
by red-001
Great idea lets make the game unplayable for players since they could be cheaters

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 12:41
by rubenwardy
This was already possible before, it just required c++ modifications. Being able to read nodes does have benefits - such as client side environmental sounds. Really it would be better if the api put a cap on the range from a player you can read, of if the node is accessible from the surface

Overall client mods will make the game's experience better by reducing mod lag through client side prediction, and allowing things you couldn't do before.

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 12:55
by Linuxdirk
rnd wrote:But its not really a big deal cause there are no real survival servers anyway.

I wonder if privilege escalation (or circumvention) is possible. Griefers then could plaster a server's spawn with giant cobblestone phalli.

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 13:13
by DS-minetest
bigfoot547: Is it acceptable now?

Clientmods are not that useful to cheat since they produce client side lag, eg. set the radius to 100 ("/oredetect radius 100") and search for nodes, it will take over a second every punch.
I don't see a big problem with the ability to cheat, the players don't have to do it and as long as they don't hurt anyone it's all ok. Also clientmods can only be used to get show information. You could already do more and better things before CSM came.

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 13:17
by red-001
Linuxdirk wrote:
rnd wrote:But its not really a big deal cause there are no real survival servers anyway.

I wonder if privilege escalation (or circumvention) is possible. Griefers then could plaster a server's spawn with giant cobblestone phalli.


I mean if a server owner doesn't bother to install a protection mod then yes. but that has nothing to do with CSM. In any case you could already get a noclip like form of xray that lets you find caves etc just by changing a few textures. I didn't heard any people saying that we should ban the use of texturepacks.

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 13:21
by Linuxdirk
red-001 wrote:I mean if a server owner doesn't bother to install a protection mod then yes. but that has nothing to do with CSM.

So all server owners worldwide have to install 3rd party protection mods because MT devs do not care about protecting the modding API against cheating?

So ... yeah ...

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 13:27
by DS-minetest
Linuxdirk wrote:So all server owners worldwide have to install 3rd party protection mods because MT devs do not care about protecting the modding API against cheating?

http://dev.minetest.net/index.php?search=protection&title=Special%3ASearch

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 13:34
by rubenwardy
linuxdirk's comments demonstrates a lack of understanding. Please read the api and see what you can actually do. Client side mods can't be used for privilege escalation currently. They can't interact with nodes, only read them. The entire point of csm is for display purposes - ie: to improve UIs, to add client side prediction for mods.

Minetest game doesn't add a protection mod as it just isn't our aim - it should be the server's choice - and also, nothing has changed in terms of protection mods.

The benefits of csm outweigh the disadvantages of it in my opinion - and I'm sure most other devs feel the same. This issue could be worked around by limiting node access, as said above.

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 13:43
by red-001
Linuxdirk wrote:
red-001 wrote:I mean if a server owner doesn't bother to install a protection mod then yes. but that has nothing to do with CSM.

So all server owners worldwide have to install 3rd party protection mods because MT devs do not care about protecting the modding API against cheating?

So ... yeah ...


I really don't understand how this is news to you since you signed up for the forums in 2014. I would have though three years would be enough to realize that you need to install a mod to protect your server against greifing. Anyway since you don't like the way CSM is being developed how about you propose a solution instead of just complaining about it?

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 13:55
by Linuxdirk
red-001 wrote:I would have though three years would be enough to realize that you need to install a mod to protect your server against greifing.

So you tell me that default permissions missing "interact" privilege are a mod and not an integrated option?

red-001 wrote:Anyway since you don't like the way CSM is being developed how about you propose a solution instead of just complaining about it?

Don't implement it at all but improve client/server communication to be faster and more reliable.

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 14:10
by DS-minetest
rubenwardy wrote:The benefits of csm outweigh the disadvantages of it.

I totally agree. :+1:

@Linuxdirk: Don't forget that all devs are contributing voluntarily to minetest.

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 14:12
by red-001
Linuxdirk if you don't want to even read the API then we have nothing to discuss here.

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 14:14
by Linuxdirk
DS-minetest wrote:@Linuxdirk: Don't forget that all devs are contributing voluntarily to minetest.

Oh come on. Really? What do you think? I'm 12?

Re: [Clientmod] Oredetection [oredetect]

PostPosted: Mon Mar 20, 2017 14:32
by rubenwardy
Linuxdirk wrote:
red-001 wrote:I would have though three years would be enough to realize that you need to install a mod to protect your server against greifing.

So you tell me that default permissions missing "interact" privilege are a mod and not an integrated option?


Again, you misunderstand what the api allows you to do.