Natural Selection Karma
Tweedle
Join Date: 2002-11-07 Member: 7581Members
<div class="IPBDescription">Another idea to cut down on the lamers</div> Players are playing the game. They see someone being a good player, they vote them up. If they see someone being a moron, they vote them down.
These votes are sent to a central DB (stick with me here..) and that player's WON and vote are recorded. Voting up would give a +1, voting down give give a -1. When a player connects to a server, the WON address and "karma threshold" would be sent to the central DB. A simple true or false returned to the server would either kick or allow the player to enter. This would use negligable bandwidth and system resources. Logaddress to a perl script (local or remote), the script sends the relevant connect and vote packets to the DB, which either could RCON directly from there or send a bit back to kick/allow the player.
Pros/Cons (Some can be categorized either way, pick your favorite)
Centralized database
rcon is used (either locally or by the central server)
Works across multiple servers (every server that uses it)
Set the "karma threshold" where ever you want it. Kick no one and just support the DB through votes, if you want.
Uses logaddress (very simple to set up a "pass-through" though, so you could send it somewhere else too.)
Requires an admin that cares about the server to set it up.
Simple voting regex (tweed++, Tweedle++, weedle--, tweedle--, etc.) would trigger a vote.
Then you hit the abuse factor. There are a few ways to abuse such a system, but there are easy ways to circumvent each one. Logging would make it very simple to eliminate every person's vote. It would be simple to give a higher-karma player more "power" with a vote. Repeated votes can easily be rejected.
I have the capabilities (connection, hardware, and programming skills) to create such a system. I'll happily put it together if other admins were interested in this. I think this could be a pretty simple way to allow some servers to offer "no newb" gaming experience.
Opinions or interest?
These votes are sent to a central DB (stick with me here..) and that player's WON and vote are recorded. Voting up would give a +1, voting down give give a -1. When a player connects to a server, the WON address and "karma threshold" would be sent to the central DB. A simple true or false returned to the server would either kick or allow the player to enter. This would use negligable bandwidth and system resources. Logaddress to a perl script (local or remote), the script sends the relevant connect and vote packets to the DB, which either could RCON directly from there or send a bit back to kick/allow the player.
Pros/Cons (Some can be categorized either way, pick your favorite)
Centralized database
rcon is used (either locally or by the central server)
Works across multiple servers (every server that uses it)
Set the "karma threshold" where ever you want it. Kick no one and just support the DB through votes, if you want.
Uses logaddress (very simple to set up a "pass-through" though, so you could send it somewhere else too.)
Requires an admin that cares about the server to set it up.
Simple voting regex (tweed++, Tweedle++, weedle--, tweedle--, etc.) would trigger a vote.
Then you hit the abuse factor. There are a few ways to abuse such a system, but there are easy ways to circumvent each one. Logging would make it very simple to eliminate every person's vote. It would be simple to give a higher-karma player more "power" with a vote. Repeated votes can easily be rejected.
I have the capabilities (connection, hardware, and programming skills) to create such a system. I'll happily put it together if other admins were interested in this. I think this could be a pretty simple way to allow some servers to offer "no newb" gaming experience.
Opinions or interest?
Comments
As far as lamers voting everyone down, how would a lamer know how to vote? Even if he did, a vote ratio of 100 -'s to 0 +'s would say something, probably along the lines of "ignore this person's votes." Voting can easily be analyzed: the frequency at which they vote, how they vote, the % of people that vote with them, % of people that vote conflictingly, their vote ratios, etc.
I wouldn't want to introduce too many meta-game controls to confuse people with voting up or down. People have a hard time voting correctly in real life <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' valign='absmiddle' alt='tounge.gif'><!--endemo-->
I don't think a big central server is a big problem (hint: each server is already part of a list on a big central server)
Name matching and a ++/-- won't be too hard for people smart enough to play with a team <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' valign='absmiddle' alt='smile.gif'><!--endemo-->
Permabanning/blacklisting isn't cool for a lot of reasons. Personal grudges, being a noob but learning in a few weeks, but still being banned, one accident and he is gone from a list of servers, etc.
Players with many plusses could be more powerful as well, but you'd have to have a limit and an option to let users with a certain password to bypass the check, let the admin choose if someone should be allowed on the particular server regardless of their rating.
The voted would be uploaded to a database...And that database would let SERVER ADMINS CHOOSE which other servers to monitor votes on, and ONLY those servers, ie. partner servers. Or just get to choose all servers.
NOW FOR THE ICING ON THE CAKE.... Get this. Each WONID would be allowed to have one vote per other player they see. WONID'S CAN BE VOTED ON WITHOUT BEING ACTIVE ON THE SERVER, in a place such as the databse website! Wow! This is great stuff here! It could very well cut down the allowance of known cheaters into a server, and others. Looks like those cheaters will e confined to servers that allow other cheaters in! What a lame round that would be! This is seriously the best thing I've ever heard of, and it sounds entirely do-able. Could even be a plugin for admin mod that updates to a website from the server.
Get too many bad ratings? Well that's not a problem either! Your points could go down over time, and no other way. That way someone could stay banned from a server for a week or a month before having a level low enough.
The best part, this would be a server side device. Cast your votes to the console on the server, or with a chat command.
-------------------------------------------------------------------------------
Daaaaaaaaaamn, get this one too. That last typing spree just let this upon me... RANKINGS FOR NTURAL SELECTION IN THE VERY SAME STYLE...But based on how you play the game, and how long you've been playing. How many games you've played...etc. WAIT! <b>RATE YOUR COMMANDER AT THE END OF THE GAME!</b> If there were multiple commanders, a quick vote could come up if a commander leaves the command console and/or dies where a keybind or a right click menu could cast the + or - rating. You could check your ratings, try to improve them, work on your skills, and really make it pay off. You'd have clan offers, requests to be a commander, or anything, really it could be something too complex. Isn't that a great idea though? I think I'll quote this and move it to ideas/suggestions as a new post and see how it does.
ROCK ON NS FANS.
I wouldn't want to introduce too many meta-game controls to confuse people with voting up or down. People have a hard time voting correctly in real life <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' valign='absmiddle' alt='tounge.gif'><!--endemo-->
I don't think a big central server is a big problem (hint: each server is already part of a list on a big central server)<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
this guy knows what i'm talking about.
Yeah.
You could possible even see a green plus or a red minus next to someone's name depending on their rating, check status for their actual mathematical rating, voting doesn't have to be confusing. It's wether you like or dislike someone's actions, and wether or not you'd be a good judge of them is also accounted for. Isn't that friendly? Shape up and don't be a jerkoff, you fly like an army of lerk.
<!--emo&::asrifle::--><img src='http://www.unknownworlds.com/forums/html/emoticons/asrifle.gif' border='0' valign='absmiddle' alt='asrifle.gif'><!--endemo--> <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html/emoticons/wink.gif' border='0' valign='absmiddle' alt='wink.gif'><!--endemo-->
I wonder what the NS dev team will thing about this idea.
Even if it is centralized, it doesn't mean every server has to use the system. Each server can decide how and if to use it.
For the system to be fair, every vote should have very little impact. And maybe people with negative ratings cannot vote?
With the way my NS server works, upping the maxplayers by two makes a very large difference in CPU usage and pings. If I'm at 14, add two reserve slots, and those get used, pings will jump up tremendously. If I have 8 reserved slots for "regulars", that leaves 6 slots, 3 aliens and 2 marines (+1 commander).
The stream of idiots will be endless. A game doesn't just stop being downloaded. There will always be a trickle of downloads (at this rate, a flood), and there will always be more and more idiots. This would allow some servers inclusiveness, making sure that <b>no</b> idiots join. Plus there doesn't have to be an admin around 24/7. I know my server has been full at all hours of the night. It filled up at 4AM the other day. <!--emo&:0--><img src='http://www.unknownworlds.com/forums/html/emoticons/wow.gif' border='0' valign='absmiddle' alt='wow.gif'><!--endemo--> (There is no admin on most of the day as it is. I know that isn't exactly the best server-running etiquette, but the game is new and it is hard to find good admins.)
So far two others have offered to help test the system. Thats three servers that'll be running the thing. It should give NS Karma a fair chance; when it succeeds, others will join. (BTW, if you'd like to be a beta tester for this, please let me know <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' valign='absmiddle' alt='biggrin.gif'><!--endemo--> )
That is a good question. I could see them not liking the idea because new players would be potentially rejected by <i>some</i> servers. There will always be servers without NSK, and a sticky point will be the division of skills allowed.
Until a few admins volunteer to run the system but without a karma threshold, there will definately have to be some equalizing and fair play. Not every admin will be able to run a high karma server. That is just how it works; you have to allow new players to build up a rating somewhere. Obviously there will be a central list of of the servers running NSK. If it picks up, imagine the traffic a low-karma server would get. Lots of new players, some noobs, trying to build their rating. I'd imagine that if word gets out about these "high quality" servers, people would want to become a part of it.
So from what I can tell right now, this won't be a "public download, sign up here" sort of thing. Admins will need to contact me personally to get set up so that there can be close monitoring of where and how the system is implemented to ensure fairness to all players. (Yes, slightly run-on sentence, but you get the idea.)
(This is btw, a response to your previous post)
First off, the NS Karma. <b>Excellent</b> idea. I'd like to see this implemented on a wide-scale with the "scaling" system (high-ranked players count more, low-ranked llamas don't)
I'll have to see about running one of those "Trainer" servers where the karma is active but tolerates a wide field. An Athlon 2000/1GB should be able to crunch NS effectively. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' valign='absmiddle' alt='smile.gif'><!--endemo--> I'll get in touch with you should I get my server going.
Secondly - reserved slots. WTH ... *fumes*
NS Comm Voice: "Incoming rant ... please brace for flames"
<rant>
Forgive me for being so blunt/crude - but I don't believe that I should have to sux0r an admin's "Johnny Love Pole" just to be able to stick around and play. If there's a private game going on and they want the server/bandwidth - go ahead, just give me fair warning in advance. But if some sweaty unshaven power-tripping admin decides to kick me because some player named "SexyGirl02" tries to join, and they think they have a chance of actually hearing a woman's voice without giving a credit card number - that's just messed up.
</rant>
Finally: my suggestions on NS Karma ... just ideas, don't know if they've been implemented or are coming or I'm going to get yelled at for em. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' valign='absmiddle' alt='smile.gif'><!--endemo-->
<b>Severity system</b>
Depending on how llamaish the player has just been (kicked from command console, refusing to follow orders, or FFing) the degree of Karma applied varies. Karmachange = Severity x Voter's Base.
<b>Any of you play chess?</b>
Interesting that such a game of strategy applies so well to NS. <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' valign='absmiddle' alt='biggrin.gif'><!--endemo--> The higher up it (rating) is in chess, the harder it is to keep climbing. This can avoid the +19865234 karma ?berplayer. Make a scale from 0 (?ber-llama) to 3000 (Flayra? That you?) and start everyone at 1000 (Newbie!)
<b>Customizable "offenses" list for servers</b>
eg: on a "no-profanity" server, the server itself would automatically NSK-- people for being pottymouths. Maybe "OMG HMG AN HA PLZ COMM!!!!111" could be a naughty phrase too, that'd cut down on annoying Marines fast. <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' valign='absmiddle' alt='biggrin.gif'><!--endemo-->
I'm very interested. I'll probably PM you later about this, but don't hold me to that anytime soon. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' valign='absmiddle' alt='smile.gif'><!--endemo-->
- M4H
blacklisting = BAD
pre-emptive banning = BAD
people LIE about other people yaknow, personal grudges and such, photoshopped screenshots, ect, people voting for players they think are good/bad? what the hell? an arguement or a bad day could leave someone with a horrible rating!
People, please try to go out and learn more about human nature before you start throwing ideas in.
Clan A invades a server. They take turns increasing each other's score for each other. They each now have 100 points or something. They spend every chance they get upping each others score. Maybe even if it's only once a game, they'll do it. (Even if they have to reboot the server every time.)
Then they go out, one to each server, and vote every person regardless of playing ability or skill down once.
Or they all go onto a single server, pick a player out of the midst, and all vote him down.
Yay. They've just exploited the system in very negative ways.
Even if you have a human monitoring server output for votes for exploits, people will find ways around it.
If even -one- person gets screwed over by the system, it's a failure, because one person has been wrongly banned from multiple servers.
I agree with some other postings here when they say that there are a whole lot of immature people out there who would just love to vote another player down into oblivion because of some personal grudge. Besides, there is an element of heated warfare going on here - it would be strange if I felt like I were walking on eggshells all the time while playing, hoping I didn't offend anyone. I can just see it now: "Commander, would you be so kind as to bestow upon me a grenade launcher, assuming it's no trouble of course...?" It's the same argument as to why just any player can't kick or ban other players without at least a vote, if at all (they can't on my server).
One more thing - who will be the poor saps who run the servers with no thresholds, to allow newbies and recently down-voted folks to gain status again? While some folks get to run prestigious, hard-to-access servers with high-falutin status thresholds, the rest of us are stuck with all the trash that couldn't log on to those servers, and are now infesting our world. In other words, instead of everyone having to shoulder, say 10% lamers across the board, now you've got some servers with only 1% lamers and the rest who now have to deal with 50% lamers since they are the only servers they can log on to. Doesn't seem very fair... Or, everyone runs high-threshold servers that remain empty since no one can play enough to get the status to join a server!
Clan A invades a server. They take turns increasing each other's score for each other. They each now have 100 points or something. They spend every chance they get upping each others score. Maybe even if it's only once a game, they'll do it. (Even if they have to reboot the server every time.)
Then they go out, one to each server, and vote every person regardless of playing ability or skill down once.
Or they all go onto a single server, pick a player out of the midst, and all vote him down.
Yay. They've just exploited the system in very negative ways.
Even if you have a human monitoring server output for votes for exploits, people will find ways around it.
If even -one- person gets screwed over by the system, it's a failure, because one person has been wrongly banned from multiple servers.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
this is <i>exactly</i> what I'm talking about.
you want votes on your server?
fine, vote people off, and vote them to your PRIVATE blacklist, dont push this crap on everyone who dosent want it.
Are you serious about doing this?
I seriuosly think the game needs to be completed on the server side before anything happens with this "voting system"
and i think it should just be an adminmod plugin because adminmod already has voting and such built in, it would be easy just to add the plugin instead of including it into the server code. Also, you'll need some redundent master servers too. Who is going to host this? who is going to pay for all that hardware? I think the idea needs alot of ironing before anyone gets too excited about it. It has a huge potential for abuse. And the Master Servers to host the lists need to be up 24/7, etc, public IPs, firewalled (because someone is going to try and hack it thats for sure).
I don't see it being a good think for a while.
2. and i think it should just be an adminmod plugin because adminmod already has voting and such built in, it would be easy just to add the plugin instead of including it into the server code.
3. Also, you'll need some redundent master servers too.
4. Who is going to host this?
5. who is going to pay for all that hardware?
6. I think the idea needs alot of ironing before anyone gets too excited about it. It has a huge potential for abuse. And the Master Servers to host the lists need to be up 24/7, etc, public IPs, firewalled (because someone is going to try and hack it thats for sure).
7. I don't see it being a good think for a while.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
This thread has spanned a few days, and I think all of this has been addressed. I'll just go over it again because maybe it hasn't.
I've labeled the quote with some numbers just to address them more easily and clearly.
1. I disagree. Now is the time to start it. <b>Everything</b> will be logged, so when a new algorithm is created, the entire database can be updated to reflect the changes in a matter of seconds (or minutes at most.) Tweaking the system will require constant work, but again, once an abuse method has been accounted for, everything can be updated quickly to weed out <b>all</b> instances of that abuse.
2. This is not to be included into the server code, but to be implemented with logaddress. If something goes down, there will be no timeouts. If a packet gets lost, there isn't a tremendous loss. No mods would be nessicary to use it. You could even use the "server side" part on a friend's server if you didn't want to set it up yourself. Using logaddress keeps it extremely flexible and easy to manage.
3. Redundancy would be optimal. The current DNS setup is through a reliable "dynamic" host, so if the system needs to be moved, the IP can be changed within a minute and a half or so. In the case of catastrophic failure, setting up a temporarily replacement would take about ten minutes. Get a backup of the database, get the master-server program, install the DB, run the master program, update the DNS. Again, this is assuming it gets up to a fairily large size. Not exactly the <i>best</i> backup plan, but it will work. As I said in #2, if a packet is lost, there is no huge loss. A ten minute downtime would mean that a few votes were lost and a few lamers got into servers. (Plus votes between the last DB backup, but it is fairily easy to get those off-site every 15 minutes or whatever.)
4. I am.
5. I've already got it taken care of.
6. There is no doubt of potential abuse. Things will be taken care of as they surface. See #4, #5. The box is already locked down and firewalled.
7. See #1
<b>Please</b> post anything you have to say, any opinions. Criticize the system, myself, etc. Taking a pounding now and addressing problems beforehand is definately better than having them pop up with a live system.
How about giving more weight to votes from people who have been voted up? i.e. Person A has 200 positive votes. Person B has 500 negative votes. Person A's vote counts more.
The tiered server idea is interesting too... The whole, one vote per wonid against wonid concept sounds like it would work well too.
-Slappy