First-Join-Needs-Time Protection

mike
Member
 
Posts: 45
Joined: Wed Sep 26, 2012 01:15

First-Join-Needs-Time Protection

by mike » Sat Oct 25, 2014 16:28

The main problem of griefers is, that they join often and with different nicknames.
A hard trick with some cryptographic implementation effort could be used to interchange time for a first time connect.
this trick is described below.
but there is one much simpler trick:

the server knows if its a new player or a player without a password who connects.
then the server should ask the player some questions the player has to answer in time.
if the player fails to answer the sequence or is too late then he is reset.

a sequence could be:

time in seconds question
0 what is 1+1
5 what is the nickname you used to join
10 please type yes and wait 30 seconds
30 please type go

if the user doesnt respond to each question within 10 seconds the sequence is reset and he is disconnected.
so the user has to spend his time on the machine answering some random questions.
if correct the user has to set his password and if he uses his username+password again this process is being skipped.
this would be very annoying for every new player, but if you have to do this process as a griefer many times you get sick.

considerations:
to make this work an admin has to be able to reset a player on ban so that this process has to be gone through again.

hard trick:

So if a user wants to connect to a server he hasnt connected before, he has to solve a high cpu intensive cryptographic question to connect.
After he has solved this, the client caches the answer to make a new connection faster next time.

So how to realize?
the question should rely on the following parameters:
the unique id of the client-machine (see my thread before), a unique id of the server (set in config file by admin), the players name.
So if a player changes his identity by name or computer or connects to a new server he has to offer his time.

How can we take time?
This could be a small e.g. DES or hash cracker or sth else, which should be choosen so that it takes about 1 minute on an i7 to run.

Considerations:
The user is able to go away from his machine and come back later.
 

User avatar
Calinou
Member
 
Posts: 3124
Joined: Mon Aug 01, 2011 14:26
GitHub: Calinou
IRC: Calinou
In-game: Calinou

Re: First-Join-Needs-Time Protection

by Calinou » Sat Oct 25, 2014 21:27

How about making players stay on server a minimum time (using minetest.after) before granting them interact? This seems way simpler.

Or disable interact by default and let moderators grant it by hand.
 

mike
Member
 
Posts: 45
Joined: Wed Sep 26, 2012 01:15

Re: First-Join-Needs-Time Protection

by mike » Sat Oct 25, 2014 21:39

that could be a nice idea.
in combination with a movement check that the player needs to move around or chat.
regulars could get quickinteract griefers have to wait.

good idea calinou!
 

Sokomine
Member
 
Posts: 2980
Joined: Sun Sep 09, 2012 17:31

Re: First-Join-Needs-Time Protection

by Sokomine » Tue Oct 28, 2014 04:15

mike wrote:10 please type yes and wait 30 seconds

While the idea sounds helpful, I'm afraid it just wouldn't work in any practical application. It'd be extremly annoying for players to stare at a question and having to wait exactly some given amount of time. Something like that is easier for machines than for people. And it doesn't distinguish griefers from builders. I'm afraid it will only detect players which are afk.

Calinou wrote:How about making players stay on server a minimum time (using minetest.after) before granting them interact? This seems way simpler.

Or disable interact by default and let moderators grant it by hand.

That sounds far more reasonable.

Protection mods in combination with rollback work pretty well most of the time. A limited interact where doors can be opened and formspecs used but nothing digged or build outside of the player's plot can also achieved with protection mods.
A list of my mods can be found here.
 

twoelk
Member
 
Posts: 1092
Joined: Fri Apr 19, 2013 16:19

Re: First-Join-Needs-Time Protection

by twoelk » Tue Oct 28, 2014 17:38

mike wrote:...
a sequence could be:

time in seconds question
0 what is 1+1
5 what is the nickname you used to join
10 please type yes and wait 30 seconds
30 please type go

if the user doesnt respond to each question within 10 seconds the sequence is reset and he is disconnected.
so the user has to spend his time on the machine answering some random questions.
...


Some servers do have many chatty players and therefor very fast scrolling chat such as those connected to the Inchra network or for example the JustTest server.
 


Return to Minetest Features

Who is online

Users browsing this forum: Bing [Bot] and 1 guest

cron