Pryaxis / TShock

☕️⚡️TShock provides Terraria servers with server-side characters, anti-cheat, and community management tools.
GNU General Public License v3.0
2.41k stars 377 forks source link

Add email field to user database #861

Closed hakusaro closed 9 years ago

hakusaro commented 9 years ago

It would be pertinent to store a user's email in the database, for the purpose of later contacting a user and identifying them.

A "nice to have" feature.

Source: https://tshock.co/xf/index.php?threads/new-column-email-for-users.3415/

Olink commented 9 years ago

Sounds like an external feature. Not sure why TShock would need that information as TShock doesn't send emails.

hakusaro commented 9 years ago

I suppose there's a point with that. I should just do this as a plugin.

Olink commented 9 years ago

It might be wise to maybe remove all that extra stuff I added a while ago to satisfy people into a UserAccountExtras plugin, with all this information. I think its worth leaving this open and having a discussion tho about how to proceed.

QuiCM commented 9 years ago

+1 for plugin

hakusaro commented 9 years ago

I'd be fine building a plugin that supports adding arbitrary fields that can be filled out with a command. It shouldn't be hard to move people into a group after someone fills out a certain field either (move to registered with build permissions after setting your email).

Marcus101RR commented 9 years ago

Not sure why everyone is twisting in additional words here, but let me sum up what original post intended:

An email fields, just like password to keep track of ownership of the account. However, at this time, clear ownership is only identified by UUID or IP. Adding the Email field has no requirement for TShock to create a email response system, was never my intention, because I thought ahead. With MYSQL instead of SQLITE you can gather the email field of the account and have the user use a website built by the server owner to collect the email and with PHP send the email response.

The only work that ever will be done is adding a single column with email field, and the owners are responsible of transferring that information with PHP and a website to help users get their accounts back. If its a plugin, it may require updating as much as the original tshock would, that just means more files to manage. But, whatever works is fine too. Just wanted to clear up, I did not say Tshock NEEDs to send email notices of any kind.

hakusaro commented 9 years ago

@Marcus101RR Yes, but the goal of a data layer is not to satisfy one need, but the needs of many in the future. Sure, you want an email field. A plugin can add an email field on its own easily. Just throw another column or another table in the db.

But what if someone else comes to us and says they want to restore accounts by, I dunno, security questions? Or wants to be able to store someone's twitter account in the database? Or their Facebook account? Or their SteamID? How about Steam64?

Additional/custom profile fields is a definitely cool feature to have, and it satisfies all of those requirements. If you really need an email field right now, you could go add one to a custom fork of TShock and run with that, or write a plugin. But if we implement a plugin for storing extra data for any arbitrary type or reason, we can do a lot more with it.

Marcus101RR commented 9 years ago

@nicatronTg I agree, there are many alternative ways to identify legal ownership of the accounts. I just gave an example of the most common ways. But recently you can now use facebook to login to sites etc. So, yes, I agree there are many ways we can perfect the ownership of lost accounts and prevent people from saying "I don't remember my password". Just trying to make sure that the method being used is not a hassle and tedious because due to previous engagements with your team. Most of my suggestions and comments have been struck down by lighting and taken to a offensive ignorant way.

However, you see fit to making this is up to you, just trying to point out a kind-of flaw in protecting user accounts with tshock.

So I accept your argument. Nuff said.

Olink commented 9 years ago

People respond to you agressively because you treat us, the devs, like child laborors, and ask for things that should never ever go into tshock. Stop being an idiot and arguing with the devs everytime they respond to one of your suggestions and we might actually feel like working on it.

All you needed to say was, 'I dont care about the details except it needs to be easy for a user to retrieve their account using this plugin.'. Not accuse nicatrontg of being an idiot and not know what he is doing and backseat develop every word he says.

hakusaro commented 9 years ago

This is happening in a separate plugin, nicatronTg/ExtraFields.