Page 1 of 1

Server disallow mobile clients

PostPosted: Sat Jun 14, 2014 22:45
by trainwrecktony
Is this possible? Is there a specific string to mobile clients and just use some wildcard to block current and future builds?
I ask because first i noticed a player who gave themselves ability to fly and they told me they hit a button on their app to do so. very rogue feature to have.
Second mobile clients take newb to a whole other extreme. On my server they want to all live together since building is "hard"

Re: Server disallow mobile clients

PostPosted: Sun Jun 15, 2014 00:25
by Sokomine
trainwrecktony wrote:I ask because first i noticed a player who gave themselves ability to fly and they told me they hit a button on their app to do so. very rogue feature to have.

The same can be done with desktop clients. The best way to avoid that might be to place a rule on your rule-board forbidding the usage of such modifications and to get rid of players who continue to fly even after beeing reminded of the rule. There are also some anti-cheat-functions in the engine, but I'm not sure how well they work. In the past. those functions tended to annoy normal players more than those that where cheating.

trainwrecktony wrote:Second mobile clients take newb to a whole other extreme. On my server they want to all live together since building is "hard"

Oh. Wonder why they play at all in such a case. Admittedly building with a tablet or phone *is* hard - I didn't get much success there and have to be very careful not to accidently destroy anything when playing around with it.

Did you install the antiguest/noguest mod? That is useful in order to filter out those players who did not bother to enter a player name and which are still called Guest<random number>. If you want to provide homes for those lazy phone users, you might use my apartment mod. That way, they can have a "home", store their stuff, and, once they collected enough (experience and material), hopefully start building something.

Re: Server disallow mobile clients

PostPosted: Sun Jun 15, 2014 00:54
by trainwrecktony
i have no bad names mod to block guests and password required
I'm not too keen on building apartments i don't want my server to feel like playing the Sims you been on my server i have monsters, livestock, farming, hunger, there's plenty to do

what about the bandwidth mobile clients use? i see lots of timeouts on join. i'm down to 2173 registered nodes, items and tools. even on my laptop connecting to server via LAN is like 2mins to load. If the mobiles are slower and prone to timeout are they potentially congesting my network?

Re: Server disallow mobile clients

PostPosted: Sun Jun 15, 2014 09:08
by CWz
it's possible to block clients older then 0.4.9 by modifying clientserver.h this requires recompiling.

Re: Server disallow mobile clients

PostPosted: Sun Jun 15, 2014 10:20
by TenPlus1
Add this line to your minetest.conf file, it will stop anyone using an older client than what you are running from signing on to your server:

strict_protocol_version_checking = true

Re: Server disallow mobile clients

PostPosted: Sun Jun 15, 2014 12:03
by Krock
TenPlus1 wrote:Add this line to your minetest.conf file, it will stop anyone using an older client than what you are running from signing on to your server:

strict_protocol_version_checking = true


This only allows 0.4.9-dev versions if your server uses the -dev version.

Re: Server disallow mobile clients

PostPosted: Sun Jun 15, 2014 15:01
by CWz
my suggestion is more flexible it will allow 0.4.9 clients and 0.4.9-dev clients to log in but not anything older.

Re: Server disallow mobile clients

PostPosted: Sun Jun 15, 2014 15:57
by Calinou
There's no anti-flight in the default anti-cheat; a client can be modified to fly at normal speed (or fast speed if fast privilege is granted), pass through walls and floors and receive no fall damage, the anti-cheat will never catch them.

Get some more moderators around to watch players and don't forget to disallow Guest names.

Media downloading is pretty slow unless you use a remote_media server (not trivial to set up, I suggest asking on IRC for details); to fight this, you could compress the mod textures using OptiPNG or similar and remove some additional sounds.

Re: Server disallow mobile clients

PostPosted: Wed Jun 18, 2014 17:26
by CraigyDavi
trainwrecktony wrote:I ask because first i noticed a player who gave themselves ability to fly and they told me they hit a button on their app to do so. very rogue feature to have.

There's no way they could have done that if you have set anticheat on and have disabled fly priv by default.

My suggestion for developers:
- Merge the pull request by sfan5 which uses minetest.get_system_info
- Make a way to find out system info and then act accordingly with the data

Something like:

minetest.get_system_info
if minetest.get_system_info words contain = Apple/Android/Tablet/Mobile/Phone
minetest.kick_player

It could be done as a mod.

Re: Server disallow mobile clients

PostPosted: Wed Jun 18, 2014 18:32
by sfan5
CraigyDavi wrote:
trainwrecktony wrote:I ask because first i noticed a player who gave themselves ability to fly and they told me they hit a button on their app to do so. very rogue feature to have.

There's no way they could have done that if you have set anticheat on and have disabled fly priv by default.

My suggestion for developers:
- Merge the pull request by sfan5 which uses minetest.get_system_info

This is would not help until the android builds update to a version with the patch included.
CraigyDavi wrote:- Make a way to find out system info and then act accordingly with the data

Something like:

minetest.get_system_info
if minetest.get_system_info words contain = Apple/Android/Tablet/Mobile/Phone
minetest.kick_player

It could be done as a mod.

The sysinfo would look like Linux/3.4.0 armv7l or Darwin/14.0.0 armv7.
It would not be easy to identify an Android device with 100% success rate.

Re: Server disallow mobile clients

PostPosted: Thu Jun 19, 2014 19:36
by Wuzzy
I ask because first i noticed a player who gave themselves ability to fly and they told me they hit a button on their app to do so. very rogue feature to have.

Obviously this is a problem with Minetest itself then.

Why the hell can this stuff be influenced by the client in the first place? You are effectively inviting cheaters to mess around. ;-)

Inventories are server-sided for the same reasons, so why not player velocity?
Obvious downside would be of course more net traffic … :/

I don’t think banning certain clients would work. The server would have to know what kind of client it is dealing with. I wonder how you want to find out, since the server can’t just look into the client software. ;-)

Re: Server disallow mobile clients

PostPosted: Fri Jun 20, 2014 13:37
by trainwrecktony
Extra info i disabled anitcheat due to moving too fast resetting issue, no users have fly priv, and this was an ipad client.

For now i'm using strict_protocol_version_checking = true , which giving me like no players now. Been a while since i done any compiling used to compile Shareaza SVN and Pidgin SVN regularly so i may look into modifying clientserver.h

Re: Server disallow mobile clients

PostPosted: Sun Jun 22, 2014 07:25
by Calinou
Wuzzy wrote:
I ask because first i noticed a player who gave themselves ability to fly and they told me they hit a button on their app to do so. very rogue feature to have.

Inventories are server-sided for the same reasons, so why not player velocity?
Obvious downside would be of course more net traffic … :/


Lag should never be made obvious. By having server-side movement, even if predicted client-side, you make lag obvious for people who don't have low latency connections and you increase server load. “fat client”, “thin server” model is getting increasingly used: notice how recent games move more and more stuff client-side, because these clients are more powerful and made for such calculations.

This would also make cheaters find other ways to cheat.

Fix your community instead: get moderators to sanction cheaters. It's not like these cheats aren't obvious anyway.