minetest / minetest

Minetest is an open source voxel game-creation platform with easy modding and game creation
https://www.minetest.net/
Other
10.59k stars 1.99k forks source link

Guest nicknames must die #1059

Closed iqualfragile closed 7 years ago

iqualfragile commented 10 years ago

It seems like a lot of people would not choose a proper nickname before joining a server and according to my servers log not even choose any kind of password, they just click any server from the server list and try to join it by doubleclicking. This is not good for multiple reasons:

  1. I strongly doubt that People who do not even choose a nickname will be constructive on any server
  2. People with Guest* nicknames are hardly reckognizable, therefore it gets harder to build some kind of community
  3. Giving people the option to not choose any password will ultimately get some people not to do so

Sollution: minetest should tell you to choose a username and password before joining any server.

VanessaE commented 10 years ago

https://forum.minetest.net/viewtopic.php?pid=121980

iqualfragile commented 10 years ago

I am aware of that mod, but it does not really fix the problem, especially the 3rd point and it is still not minetest-wide but just on my own server

PilzAdam commented 10 years ago

I agree that Minetest shouldnt set default to Guest Many people who come from MC may think that we also have a centralized account system, so they think that they actually have to use the Guest\ nick. By leaving it empty we would force them to choose a proper nick.

matttpt commented 10 years ago

There is a disallow_empty_password server configuration option that I think would address your third point, although again it only affects your own server.

Looking at the code, the Guest* names are chosen by the client if no player name is given; the server complains if the player name that is sent is empty. You could change the client to require a valid player name to be entered, and that would probably curb most of the Guest* names from appearing. (However, there is nothing stopping you from manually entering and using a Guest* player name of your choice.)

iqualfragile commented 10 years ago

@matttpt obviously nobody would stop you from choosing guest* as nickname, but it would still be an intentional choice and thats the whole point.

Megaf commented 10 years ago

Using the option "disallow_empty_password" I managed to reduce by 90% the number of Guests on my server. And I reduced even more using the option "strict protocol something". This way people from Buildcraft and other rubbish clients can't connect.

paramat commented 8 years ago

:+1: I get a bad vibe whenever i see 'guest#####'

rubenwardy commented 8 years ago

The guest option should be removed, definitely. It's already the standard for servers to use no_guests, so pointless anyway.

C1ffisme commented 8 years ago

I'm not sure why this was added in the first place... And no configuration to disable it.

Although, minetest should not require a password, since it would get annoying for people who just want to play a LAN server.

rubenwardy commented 8 years ago

Although, minetest should not require a password, since it would get annoying for people who just want to play a LAN server.

By default it doesn't. It's configurable.

C1ffisme commented 8 years ago

@rubenwardy Not right now, it doesn't. I just wanted to keep it that way. (Sorry, must have read something wrongly.)

t4im commented 8 years ago

Guest nicknames must die

The guest is dead, long live the gu357tSfiD1fh!

By completely disallowing this guest situation, people will just either stay away or create an even worse one.

qwe231
iqual123
asdjada
auw3r
doaishd
oe209384

And whatever the cat produces when taking control of the keyboard. :smirk_cat:

I hardly ever check out a server, that doesn't allow me to guest-in the first time. I'm too lazy to create a new password for every server i want to test and not brave enough to reuse passwords over several servers. (Apparently pw negotiation was improved, nice!)

Be a good host and delete your guests

Those guest-names can be better recognized automatically.

player_name:match("^Guest%d%d%d%d$")

You would not have to treat guest accounts like every other. E.g. A mod could time out and delete guests after a few days or already when the guest is leaving the server.

You won't be able to force people into a proper nickname all the time anyway. Some people just want to check out minetest or a server. By allowing that and by giving people more reason to use guest names for a test-run, you could actually decrease server maintenance by e.g. reducing the need for random names. :crying_cat_face:

Are you sure you don't want interact?

Maybe we could even prevent guest accounts from being created at all. Everyone can check out servers yet passers-by just stay passers-by. Where's the harm in thaata?lpi3w764a9s7d :smile_cat:

Calinou commented 8 years ago

Suggest the system-user name as a default.

Sounds good to me, some games already do this. However, we should ensure spaces and other disallowed characters (like special characters) are replaced with an underscore, for example.

Some people might object to this since they use their real name as system username, though. Also, is this possible on Android?

VanessaE commented 8 years ago

On my servers, "gibberish" names are filtered out with a bit of code that @sfan5 came up with, which tries to estimate whether the name can be pronounced at all, combined with a couple of regexes that filter out names with too many digits (or all-numeric). Between those, disallowing "Guest*" and a few others of similar type, disallowing names that are too short, forcing names to be case-insensitive, and requiring a password, the vast majority of crap usernames have disappeared from my servers.

iqualfragile commented 8 years ago

@t4im i have to disagree with your point, at least in parts. First of all, choosing the system user name, which often is the actual real name of a person is a heavy breach of privacy. Not a good idea. Filling up the Auth.txt is not a problem at all, at least not computationally. I don't really see the reason why you would not use your actually nickname for joining servers, even on test runs. iirc minetest now does never send the actual password to the server, so just using your "default" password with the servername added will be enough.

The whole point of this issue was to filter out people who most likely won't contribute anything useful to the server. The point still stands. The majority of server administrators use a no guests mod, so it seems like the need is still there. This should still be integrated into minetest. The issue has been open for nearly 3 years now, i don't think the change is that complex.

Another issue, but that would be more of a feature request would be to maybe add a special minetest-wide visitor-account, that allows connecting and spectating servers maybe with things like fly-by-default and lower block-send priorities, but that, as stated is another issue.

ghost commented 8 years ago

It all seems so moot to me, and I always wonder what the fuss is all about.

I liked the points above about discouraging default names instead of disallowing them. I think no-op is still generally best, however. I feel this may be a modding discussion, and not an engine issue. The issue is better named "What should the default username string be, if anything?"

C1ffisme commented 8 years ago

What if someone has an acceptable gibberish name, like 0gb.us? (pronounced Zero Gee Bee You Es)

Mine is C1ff. (pronounced See One Eff Eff)

Not all gibberish nicknames are unpronounceable trash.

@everamzah

"What should the default username string be, if anything?"

We could make a username generator, which could work something like this:

Step 1: Choose an adjective for a first name.

Choose from one of these names:

dirty

yummy

slimy

awesome

cheesy

etc.

(Maybe these examples aren't the best, but I'm trying to think of the kind of things that a children's MMO would use.)

Step 2: Choose a noun for the last name.

Choose a noun from this list:

apple

miner

diamond

block

seed

etc.

Step 3 : Put it together and add a good number:

Put an underscore between the first and last name and add a memorable number. Lots of numbers in usernames are simply the first digit, a second digit, and then the first digit again, like 242 or 676. So a number could be made by choosing a 2 digit number, multiplying it by ten and using the first digit in the ones place. (Because some people just can't handle numbers like 616 or 666, if the random 2 digit number is 61 or 66, the number needs to be regenerated.)

So you'd get something like this:

awesome_apple818

That should be easy enough for someone to read.

ghost commented 8 years ago

It was rhetorical, and perhaps I should apologize for that. I don't think the default username string should be anything; and if it must, I suggest "playername", as it is in other games.

If a player is unable to enter english alphabet characters into this string, that is a separate issue.

VanessaE commented 8 years ago

Well in the case of the filter I use on my servers, nicknames that are short enough are exempted from the filter anyway - my theory was that as the names get shorter, the chances of it looking like gibberish increase unfairly. Seems to be working okay so far. That said, you're right that a name like @0gb-us would probably get caught up in the filter.

I do like your two-dictionary-words idea, it has merit (it's good for passwords, too, so long as it isn't "correcthorsebatterystaple" :stuck_out_tongue: ).

Not sure how one would actually present such choices to the user though, without encouraging them to use only the few choices first visible on-screen (players seem to have a mental block against scrolling).

C1ffisme commented 8 years ago

Not sure how one would actually present such choices to the user though, without encouraging them to use only the few choices first visible on-screen (players seem to have a mental block against scrolling).

I was thinking of the computer choosing randomly for the player, and then perhaps the player can edit that name after generation, right before connection to the server.

Just to make sure nobody uses the same or a similar username than anyone else, though, we would need 25 or more adjectives and nouns.

The username should also remain in the box to put your username after disconnecting a server, to avoid people making a user, mining materials and leaving the server, never being able to join back as the same user again to get those materials.

VanessaE commented 8 years ago

In which case, I guess it would be best to have that feature as a separate "Help me choose..." button that opens a new dialog/formspec, making it obvious what's going on.

DonBatman commented 8 years ago

We have the option to not allow empty passwords. Why not do the same for names?

0-afflatus commented 8 years ago

I use the name_restrictions mod and set disallow_empty_password. We certainly should discourage the use of meaningless user names. I do like the idea of having a proper 'guest' account with settable reduced privs and a disposable auto-generated name, but that needs to be done without admin intervention, manually deleting player names is not desirable.

I'm not keen on the idea of having spectators on my server, but if there was a built-in mechanism I might use it.

paramat commented 7 years ago

By completely disallowing this guest situation, people will just either stay away or create an even worse one.

A random name is still better than guest#### and will be caught by anti-gibberish if needed.

You won't be able to force people into a proper nickname all the time anyway. Some people just want to check out minetest or a server.

If someone is too braindead to create a quickly improvised name they're not wanted on a server anyway. I don't agree with encouraging zombies.

First of all, choosing the system user name, which often is the actual real name of a person is a heavy breach of privacy. Not a good idea.

I agree.

A name generator is over-complex, all we need to do is prompt the player to enter a name, as in #5078

paramat commented 7 years ago

5078 merged.