Account system discussion
Posted: Tue Oct 30, 2012 11:55 pm
I've always wondered if we could have an account system on Zandronum. We are entering the point in Zandronum where mods are trying to breach the last line, which is storage of information. When this barrier is broken, it will open up an arena for many new mods to surface that could bring even more addicting gameplay than we already have (is this a bad thing?)!
Some interesting ideas that can come from account systems are:
- Stat saving
- Account approval for private servers
- Friend finding
Stat saving
Stat saving would allow people who make custom ACS plugins to write things into a file and save data for future parsing/what-have-you. So far this is sort of impossible without knowledge of a programming language to connect to with rcon, but those who are ACS savvy could whip one up with strparam and archiving playername_stat in the .ini
I had a solution for this, I wrote a *huge* ACS thing that allowed logins with a keyboard and connection to a server database, but it required a RCON plugin to be active which would constantly parse the server for a string that said "LOGIN: [name] [pass]" and verify it with an encrypted file through the I/O program (in this case was java), and would respond with a puke saying if it failed, or if it did log in then it returned the account number on the server. This was a bit of a problem because it's bulky and requires an active rcon 'bot' plugged into it, which can get a bit hefty if there's a ton of servers running on a machine.
The biggest hurdle right now is a database where there are passwords and accounts. It shouldn't be hard to make one, and it'd require the server to send the player name/pass to the master and respond with a login accepted/failed/anything else.
From here, stats could lead to RPG games, data saving on records (like Jumpmaze but easier), or overall statistics for private CTF games and such. I was working on an interface that recorded each private CTF game and wrote it to a website (it would look something like this
Account approval
Accounts would be free to make, so it wouldn't change aliasing and such, but it could help with private games where you only want certain people inside. So far Konar got a great system up, but it'd be nice to expand it even further.
This would also help in keeping dynamic IP ban evaders out potentially.
Friend finding
Be able to find friends through their in game aliases. You could even possibly follow them or have a chat interface w/ them sort of like Steam. A majority of us use IRC but there's a lot of mod players in this community who don't use IRC and may like such a feature.
I've been thinking about this for a while, and I even at one point wanted to implement it, but it'd be a pain in the ass for me to do because
1) I'd need to modify a new binary that stores the password/name somewhere, and then verify with my own custom master server
2) Create my own game launcher that does all the above
3) Make it auto-update because it'd be a completely separate binary
4) Distribute it to everyone, of which would probably be the hardest part
That is way too time consuming, plus the developers could implement it better.
While being an absolutely major feature to request, I think it'd be very interesting. What do you think? Would you be for or against this?
I posted a poll to get people's opinions, if you are against it could you post a reason why (for discussion).
Some interesting ideas that can come from account systems are:
- Stat saving
- Account approval for private servers
- Friend finding
Stat saving
Stat saving would allow people who make custom ACS plugins to write things into a file and save data for future parsing/what-have-you. So far this is sort of impossible without knowledge of a programming language to connect to with rcon, but those who are ACS savvy could whip one up with strparam and archiving playername_stat in the .ini
I had a solution for this, I wrote a *huge* ACS thing that allowed logins with a keyboard and connection to a server database, but it required a RCON plugin to be active which would constantly parse the server for a string that said "LOGIN: [name] [pass]" and verify it with an encrypted file through the I/O program (in this case was java), and would respond with a puke saying if it failed, or if it did log in then it returned the account number on the server. This was a bit of a problem because it's bulky and requires an active rcon 'bot' plugged into it, which can get a bit hefty if there's a ton of servers running on a machine.
The biggest hurdle right now is a database where there are passwords and accounts. It shouldn't be hard to make one, and it'd require the server to send the player name/pass to the master and respond with a login accepted/failed/anything else.
From here, stats could lead to RPG games, data saving on records (like Jumpmaze but easier), or overall statistics for private CTF games and such. I was working on an interface that recorded each private CTF game and wrote it to a website (it would look something like this
Account approval
Accounts would be free to make, so it wouldn't change aliasing and such, but it could help with private games where you only want certain people inside. So far Konar got a great system up, but it'd be nice to expand it even further.
This would also help in keeping dynamic IP ban evaders out potentially.
Friend finding
Be able to find friends through their in game aliases. You could even possibly follow them or have a chat interface w/ them sort of like Steam. A majority of us use IRC but there's a lot of mod players in this community who don't use IRC and may like such a feature.
I've been thinking about this for a while, and I even at one point wanted to implement it, but it'd be a pain in the ass for me to do because
1) I'd need to modify a new binary that stores the password/name somewhere, and then verify with my own custom master server
2) Create my own game launcher that does all the above
3) Make it auto-update because it'd be a completely separate binary
4) Distribute it to everyone, of which would probably be the hardest part
That is way too time consuming, plus the developers could implement it better.
While being an absolutely major feature to request, I think it'd be very interesting. What do you think? Would you be for or against this?
I posted a poll to get people's opinions, if you are against it could you post a reason why (for discussion).