[(Client)Mod] Client Side Protection [csm_protection]

Post Reply
User avatar
Desour
Member
Posts: 1469
Joined: Thu Jun 19, 2014 19:49
GitHub: Desour
IRC: Desour
In-game: DS
Location: I'm scared that if this is too exact, I will be unable to use my keyboard.

[(Client)Mod] Client Side Protection [csm_protection]

by Desour » Post

Client Side Protection

The player can't cheat anymore through walls, doors or roofs with this.

This mod can be used as mod and as clientmod.
The server and the client have to have it to make it work.

It would be really nice if servers install this mod. They can force their players to use this mod by kicking them on violate.

Depends: csm_com

License: CC0

Download: https://codeberg.org/Desour/csm_protect ... master.zip
Git repo: https://codeberg.org/Desour/csm_protection
Last edited by Desour on Mon Oct 16, 2023 21:38, edited 1 time in total.
he/him; Codeberg; GitHub; ContentDB; public personal TODO list; "DS" is preferred (but often too short)

User avatar
ExeterDad
Member
Posts: 1717
Joined: Sun Jun 01, 2014 20:00
In-game: ExeterDad
Location: New Hampshire U.S.A

Re: [(Client)Mod] Client Side Protection [csm_protection]

by ExeterDad » Post

Could you possibly give some more details about this mod? Sounds interesting even though I'm not sure exactly what it's capable of.

User avatar
Desour
Member
Posts: 1469
Joined: Thu Jun 19, 2014 19:49
GitHub: Desour
IRC: Desour
In-game: DS
Location: I'm scared that if this is too exact, I will be unable to use my keyboard.

Re: [(Client)Mod] Client Side Protection [csm_protection]

by Desour » Post

When the player tries to dig a protected node, normally the node is away for some time. Until it's back the player can walk through walls, doors and roofs. If this client- and server-side mod is installed (on both, client and server), the client is stopped client-side from digging the node. => It will never disappear.
he/him; Codeberg; GitHub; ContentDB; public personal TODO list; "DS" is preferred (but often too short)

User avatar
duane
Member
Posts: 1715
Joined: Wed Aug 19, 2015 19:11
GitHub: duane-r
Location: Oklahoma City
Contact:

Re: [(Client)Mod] Client Side Protection [csm_protection]

by duane » Post

So how do you stop them from just changing the client mod?
Believe in people and you don't need to believe anything else.

User avatar
Desour
Member
Posts: 1469
Joined: Thu Jun 19, 2014 19:49
GitHub: Desour
IRC: Desour
In-game: DS
Location: I'm scared that if this is too exact, I will be unable to use my keyboard.

Re: [(Client)Mod] Client Side Protection [csm_protection]

by Desour » Post

duane wrote:So how do you stop them from just changing the client mod?
If a player has this mod, he will never violate protection (so, trigger the event). This means you can simply add very hard punishment (like kicking).
he/him; Codeberg; GitHub; ContentDB; public personal TODO list; "DS" is preferred (but often too short)

User avatar
duane
Member
Posts: 1715
Joined: Wed Aug 19, 2015 19:11
GitHub: duane-r
Location: Oklahoma City
Contact:

Re: [(Client)Mod] Client Side Protection [csm_protection]

by duane » Post

DS-minetest wrote:If a player has this mod, he will never violate protection (so, trigger the event). This means you can simply add very hard punishment (like kicking).
But if he wants to violate protection, all he has to do is modify (or just remove) the client mod, or am I missing something? If you're going to punish him based on easily modifiable code that he has to install, he's got a strong motivation to change that code to something he won't get punished for.
Believe in people and you don't need to believe anything else.

User avatar
ExeterDad
Member
Posts: 1717
Joined: Sun Jun 01, 2014 20:00
In-game: ExeterDad
Location: New Hampshire U.S.A

Re: [(Client)Mod] Client Side Protection [csm_protection]

by ExeterDad » Post

duane wrote:
DS-minetest wrote:If a player has this mod, he will never violate protection (so, trigger the event). This means you can simply add very hard punishment (like kicking).
But if he wants to violate protection, all he has to do is modify (or just remove) the client mod, or am I missing something? If you're going to punish him based on easily modifiable code that he has to install, he's got a strong motivation to change that code to something he won't get punished for.
I'm not understanding the logic of this either. I'm trying to though :)

User avatar
Desour
Member
Posts: 1469
Joined: Thu Jun 19, 2014 19:49
GitHub: Desour
IRC: Desour
In-game: DS
Location: I'm scared that if this is too exact, I will be unable to use my keyboard.

Re: [(Client)Mod] Client Side Protection [csm_protection]

by Desour » Post

I found a problem, this only prevents from digging yet, not placing. But it's currently not really possible, I think.

There's a server-side function that is called when a player digs/places a protected node. On_punchnode the client mod asks the server mod via csm_com (which uses chat) if the punched node is protected. If it is protected, the server mod tells the client mod the position. The client mod saves this position. On_dignode the client mod checks if the position is the last position of that is told, that it's protected, if so, it returns true (the node is not digged). The server-side protection_violate function isn't called.
If the client mod is changed, that it doesn't return true, the node disappears but also the server-side protection_violate function is called. If the server kicks on this event the player, the one who has the mod (unmodified) doesn't get kicked, the one who hasn't gets kicked.
he/him; Codeberg; GitHub; ContentDB; public personal TODO list; "DS" is preferred (but often too short)

User avatar
ExeterDad
Member
Posts: 1717
Joined: Sun Jun 01, 2014 20:00
In-game: ExeterDad
Location: New Hampshire U.S.A

Re: [(Client)Mod] Client Side Protection [csm_protection]

by ExeterDad » Post

^^ Thanks for explaining :) That's actually pretty clever.
Another question. Almost nobody uses CSM currently as it involves manually installing and configuring. Especially mobile users. How will this affect players that aren't using your mod at this time?

User avatar
Desour
Member
Posts: 1469
Joined: Thu Jun 19, 2014 19:49
GitHub: Desour
IRC: Desour
In-game: DS
Location: I'm scared that if this is too exact, I will be unable to use my keyboard.

Re: [(Client)Mod] Client Side Protection [csm_protection]

by Desour » Post

ExeterDad wrote:^^ Thanks for explaining :) That's actually pretty clever.
Another question. Almost nobody uses CSM currently as it involves manually installing and configuring. Especially mobile users. How will this affect players that aren't using your mod at this time?
It won't do anything. The only thing, that is different is that they see a chatmessage because of csm_com ("Psst, don't let your master hear this! Do you have csm_com?" I think).
he/him; Codeberg; GitHub; ContentDB; public personal TODO list; "DS" is preferred (but often too short)

User avatar
AntumDeluge
Member
Posts: 213
Joined: Sun Aug 07, 2016 05:42
GitHub: AntumDeluge
IRC: AntumDeluge
Contact:

Re: [(Client)Mod] Client Side Protection [csm_protection]

by AntumDeluge » Post

I've been looking for a way to do this. Thank you.

Personally, I'd like to see this functionality built into the server code.

User avatar
Desour
Member
Posts: 1469
Joined: Thu Jun 19, 2014 19:49
GitHub: Desour
IRC: Desour
In-game: DS
Location: I'm scared that if this is too exact, I will be unable to use my keyboard.

Re: [(Client)Mod] Client Side Protection [csm_protection]

by Desour » Post

It could work much more reliable, also on place and without server mod if csm had something like an is_protected(pos) function.
he/him; Codeberg; GitHub; ContentDB; public personal TODO list; "DS" is preferred (but often too short)

User avatar
ManElevation
Member
Posts: 896
Joined: Tue Aug 02, 2016 22:04
GitHub: ManElevation
IRC: ManElevation
In-game: ManElevation
Location: Madrid,Spain

Re: [(Client)Mod] Client Side Protection [csm_protection]

by ManElevation » Post

Added "ManElevation World"
My Public Mods! Discord: Rottweiler Games#3368

User avatar
azekill_DIABLO
Member
Posts: 7507
Joined: Wed Oct 29, 2014 20:05
GitHub: azekillDIABLO
In-game: azekill_DIABLO
Location: OMICRON
Contact:

Re: [(Client)Mod] Client Side Protection [csm_protection]

by azekill_DIABLO » Post

hey looks interesting!
Gone, but not dead. Contact me on discord: azekill_DIABLO#6565
DMs are always open if you want to get in touch!

JTE
Member
Posts: 12
Joined: Sun Sep 07, 2014 14:59

Re: [(Client)Mod] Client Side Protection [csm_protection]

by JTE » Post

AntumDeluge wrote:Personally, I'd like to see this functionality built into the server code.
I couldn't agree more. Protected blocks have no reason to even be crack-able clientside, the server simply never attempts to actually communicate where protection areas exist until a block is broken, and minetest_game doesn't use the entire feature at all (even locked chests are just a different block type with an overwritten can_dig definition) so there are tons of mods which don't even respect it, and so on... I think it needs some love.

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests