That's a good solution, but to a different problem
With public/private keys, you still need to verify that the source of the data is legit. For websites, email etc. this is usually done with this. But as long as anybody can create new Steam server keys at will, there is no central authority to define who the stats server can trust to send valid data.
And finally, probably most important: elo, kills per death and stuff like that are most likely destroying gameplay. I have seen it in so many other games, people avoid fighting, leave, let you go first into a battle, only leech kills and run away, and crap like that. Just because they wanna keep elo and kills per death high. Such a system will never highlight a good team player, this system provides only a list for people that needs to be the best somewhere... You will not provide a rooky friendly envrioment if everyone looks for his elo and stats.
Please really think about what impact it will have if you track stats and people start playing for their own stats. And think about privacy too.
If you wanna do something, showing some kind of process into that game. Then add achievements, that's the way to go.
NS2stats has already proven that this is not the case. There has been no noticable change in play style when it was implemented.
About the server whitelisting:
It would need a rollback system in case a server goes rogue for some reason.
And finally, probably most important: elo, kills per death and stuff like that are most likely destroying gameplay. I have seen it in so many other games, people avoid fighting, leave, let you go first into a battle, only leech kills and run away, and crap like that. Just because they wanna keep elo and kills per death high. Such a system will never highlight a good team player, this system provides only a list for people that needs to be the best somewhere... You will not provide a rooky friendly envrioment if everyone looks for his elo and stats.
Please really think about what impact it will have if you track stats and people start playing for their own stats. And think about privacy too.
If you wanna do something, showing some kind of process into that game. Then add achievements, that's the way to go.
NS2stats has already proven that this is not the case. There has been no noticable change in play style when it was implemented.
That is not true, you see quite some players on NS2stats servers that play for their stats. And remember most people still don't know what NS2stats is, even if they play on a server which has enabled it. If it gets a part of the game itself, more and more people will know what it is and start playing to get a high rating. And this system gives you only a high rating for playing NOT as a team. You gain most bonus if you play only for your own stats. Something like slowing down a push, harassing rts is giving you much less of a bonus then just trying to stay a life, doing some frags. And this is NOT what NS2 should be. Use the Steam Achievement System instead, if you wanna add something on that topic. But no useless "elo" in a team game...
It would need a rollback system in case a server goes rogue for some reason.
You can not rollback a elo system. To do so you would need a database saving every single game of every single server and its results. If something would need a rollback, you need to rollback from the first point with corruption and then recalculate every single elo change. As I said the error spreads around the system, and that's why rollbacks will not work here.
And finally, probably most important: elo, kills per death and stuff like that are most likely destroying gameplay. I have seen it in so many other games, people avoid fighting, leave, let you go first into a battle, only leech kills and run away, and crap like that. Just because they wanna keep elo and kills per death high. Such a system will never highlight a good team player, this system provides only a list for people that needs to be the best somewhere... You will not provide a rooky friendly envrioment if everyone looks for his elo and stats.
Please really think about what impact it will have if you track stats and people start playing for their own stats. And think about privacy too.
If you wanna do something, showing some kind of process into that game. Then add achievements, that's the way to go.
NS2stats has already proven that this is not the case. There has been no noticable change in play style when it was implemented.
That is not true, you see quite some players on NS2stats servers that play for their stats. And remember most people still don't know what NS2stats is, even if they play on a server which has enabled it. If it gets a part of the game itself, more and more people will know what it is and start playing to get a high rating. And this system gives you only a high rating for playing NOT as a team. You gain most bonus if you play only for your own stats. Something like slowing down a push, harassing rts is giving you much less of a bonus then just trying to stay a life, doing some frags. And this is NOT what NS2 should be. Use the Steam Achievement System instead, if you wanna add something on that topic. But no useless "elo" in a team game...
It would need a rollback system in case a server goes rogue for some reason.
You can not rollback a elo system. To do so you would need a database saving every single game of every single server and its results. If something would need a rollback, you need to rollback from the first point with corruption and then recalculate every single elo change. As I said the error spreads around the system, and that's why rollbacks will not work here.
I'm sorry but you're wrong... From my experience ns2stats doesn't make people run away or let others go first into a room, it's their lack of skill. The same people that run from engagements or are too afraid to enter a room are the same that are getting 3-14 k/d's. I've got well over a thousand hours in ns2 and have never seen ns2stats break the game. I always like to play with ns2stats because its fun to check the end game statistics and why one team won against the other.
This reminds me back in the days before facebook their was this social website that was just a picture of yourself and everyone can vote like and the most likes you would be at the main page kinda like a top hot person. Well, we had this clever hacker who found out how to exploit the like counts php coding and the main page was showing this funny nerd with over a billion likes. People do it for attention and bragging rights. I don't take website stats to serious ever since that day,
skill = (kills*18 + assists*0.8)/math.max(deaths, 1) + score*0.6/hours
if loss then skill = skill *(2/3)
if abs(score) > 1500 or abs(kills) > 250 or abs(assists) > 250 then ignore
if time as commander > 75% of round time then ignore
if play time < 90% of round time AND play time < 5 minutes then ignore
if round time < 1 minute then ignore
if "GetNumActiveMods" > 0 then ignore ("GetNumActiveMods" appears to be bugged, as some servers with mods are submitting)
Player skill = average skill over all recorded rounds
People bumping up their own scores or creating fake accounts is not significant. What does matter is if someone decides to run a bot that submits false rounds for every account on there.
This is a very difficult problem to solve... the best solution would be for each client to authenticate with Hive via some sort of account. However, UWE doesn't want people to have to make accounts to play NS2.
Unless Steam offers a client verification API for third-party services (like VAC uses), then creating a "UWE account" is the only way.
The easiest solution is to impose a per-IP rate limit. The shortest round can be 1 minute, so that seems like a good starting point. As the API is HTTP-based, IP spoofing is not practical.
On a similar note, I don't understand why UWE doesn't want accounts for "items", like the rewards for their Reinforced program.
Have everything as it is now, but if you want black armor, or a skulk skin, or a lollipop tattoo, etc... then you have to make a UWE account.
That's completely viable, and as the only changes are made on the UWE website, there is no need to trust the servers and clients.
The trusted server concept sounds good, but is also much work.
We shouldn't forget that this ranking is mostly for a system that creates balanced matches. We don't need it to be 100% secure. This isn't online banking. What is (for example) with a simple encryption of the message the server sends? The server would ask the UWE-main server for the (daily changing key) and than use this key to encrypt the message. The encryption method in which this key is used shouldn't be open source. I know, I know! Security by obscurity is a bad concept. But in this case I think, it would be enough to stop the occasional troll from messing with the system.
The game isn't 100% cheat-secure either. So why going all apeshit with the ranking system?
You sure would be able to simply host a server with bots and farm points and legitimately let your own server send them to UWE. But seriously what do you achieve?
I actually feel bad for high rank people like roobubba. When the matchmaking or skill dependent randomize readyroom is finally implemented, those people will have such a high skill ranking that they will always be paired with all the noobs on the server in an attempt to get an equal skill-rating for all the players of both teams.
And finally, probably most important: elo, kills per death and stuff like that are most likely destroying gameplay. I have seen it in so many other games, people avoid fighting, leave, let you go first into a battle, only leech kills and run away, and crap like that. Just because they wanna keep elo and kills per death high. Such a system will never highlight a good team player, this system provides only a list for people that needs to be the best somewhere... You will not provide a rooky friendly envrioment if everyone looks for his elo and stats.
Please really think about what impact it will have if you track stats and people start playing for their own stats. And think about privacy too.
If you wanna do something, showing some kind of process into that game. Then add achievements, that's the way to go.
NS2stats has already proven that this is not the case. There has been no noticable change in play style when it was implemented.
That is not true, you see quite some players on NS2stats servers that play for their stats. And remember most people still don't know what NS2stats is, even if they play on a server which has enabled it. If it gets a part of the game itself, more and more people will know what it is and start playing to get a high rating. And this system gives you only a high rating for playing NOT as a team. You gain most bonus if you play only for your own stats. Something like slowing down a push, harassing rts is giving you much less of a bonus then just trying to stay a life, doing some frags. And this is NOT what NS2 should be. Use the Steam Achievement System instead, if you wanna add something on that topic. But no useless "elo" in a team game...
It would need a rollback system in case a server goes rogue for some reason.
You can not rollback a elo system. To do so you would need a database saving every single game of every single server and its results. If something would need a rollback, you need to rollback from the first point with corruption and then recalculate every single elo change. As I said the error spreads around the system, and that's why rollbacks will not work here.
I'm sorry but you're wrong... From my experience ns2stats doesn't make people run away or let others go first into a room, it's their lack of skill. The same people that run from engagements or are too afraid to enter a room are the same that are getting 3-14 k/d's. I've got well over a thousand hours in ns2 and have never seen ns2stats break the game. I always like to play with ns2stats because its fun to check the end game statistics and why one team won against the other.
So you say people that, according to "ns2stats" have a high rating, run away / avoid dying at all cost, because they have a lack of skill? See the problem? They know exactly what they do there. You may been very lucky if you did not notice such people in your play time duration, I encountered many of them in the last weeks.
Or just to give you an other point of view. When the next games end, look at the score board and ask yourself what players did make the team win and what did make them lose. And then look at their points, kills, death and assists and you will notice that there is no connection between that numbers.
What should a gorge think about this rating? So every time you morph gorge, you will ruin your rating. That's the wrong input for this game! There is simply no working system to rate skill based on numbers in team games. This is not only true for NS2, look at DOTA and LOL for example their rating system also fails at exactly the same point.
It would need a rollback system in case a server goes rogue for some reason.
You can not rollback a elo system. To do so you would need a database saving every single game of every single server and its results. If something would need a rollback, you need to rollback from the first point with corruption and then recalculate every single elo change. As I said the error spreads around the system, and that's why rollbacks will not work here.
Why should that be a problem?
For example, if you make it so that the data of the last 7 days is put into a quarantine zone not added to the main database directly, you could easily check if the data is correct. The web application layer could still use the quarantine data for real time stats.
And finally, probably most important: elo, kills per death and stuff like that are most likely destroying gameplay. I have seen it in so many other games, people avoid fighting, leave, let you go first into a battle, only leech kills and run away, and crap like that. Just because they wanna keep elo and kills per death high. Such a system will never highlight a good team player, this system provides only a list for people that needs to be the best somewhere... You will not provide a rooky friendly envrioment if everyone looks for his elo and stats.
Please really think about what impact it will have if you track stats and people start playing for their own stats. And think about privacy too.
If you wanna do something, showing some kind of process into that game. Then add achievements, that's the way to go.
NS2stats has already proven that this is not the case. There has been no noticable change in play style when it was implemented.
That is not true, you see quite some players on NS2stats servers that play for their stats. And remember most people still don't know what NS2stats is, even if they play on a server which has enabled it. If it gets a part of the game itself, more and more people will know what it is and start playing to get a high rating. And this system gives you only a high rating for playing NOT as a team. You gain most bonus if you play only for your own stats. Something like slowing down a push, harassing rts is giving you much less of a bonus then just trying to stay a life, doing some frags. And this is NOT what NS2 should be. Use the Steam Achievement System instead, if you wanna add something on that topic. But no useless "elo" in a team game...
It would need a rollback system in case a server goes rogue for some reason.
You can not rollback a elo system. To do so you would need a database saving every single game of every single server and its results. If something would need a rollback, you need to rollback from the first point with corruption and then recalculate every single elo change. As I said the error spreads around the system, and that's why rollbacks will not work here.
I'm sorry but you're wrong... From my experience ns2stats doesn't make people run away or let others go first into a room, it's their lack of skill. The same people that run from engagements or are too afraid to enter a room are the same that are getting 3-14 k/d's. I've got well over a thousand hours in ns2 and have never seen ns2stats break the game. I always like to play with ns2stats because its fun to check the end game statistics and why one team won against the other.
So you say people that, according to "ns2stats" have a high rating, run away / avoid dying at all cost, because they have a lack of skill? See the problem? They know exactly what they do there. You may been very lucky if you did not notice such people in your play time duration, I encountered many of them in the last weeks.
Or just to give you an other point of view. When the next games end, look at the score board and ask yourself what players did make the team win and what did make them lose. And then look at their points, kills, death and assists and you will notice that there is no connection between that numbers.
What should a gorge think about this rating? So every time you morph gorge, you will ruin your rating. That's the wrong input for this game! There is simply no working system to rate skill based on numbers in team games. This is not only true for NS2, look at DOTA and LOL for example their rating system also fails at exactly the same point.
1) playing gorge would still push your skill, as kills are not everything. You should get plenty of score and assists when playing as gorge properly.
2) people who are afraid to die, because of a bad k/d are not going to get a high elo ranking. People who can aim, know something about positioning and timing are going to get high elo rankings.
3) Nobody ever said that the elo system is perfect
Did some experimenting with someone, who submitted fake games for some fake steam accounts, based on the experiments we determined the following:
If the game was submitted (wasn't game mode modded etc)
Commander games are dumped (or stored for later)
Kill = 18 per 1
Assist = 8 per 10
Death = Skill gained by kills is divided by deaths (obviously 0 is the same as 1 like kd)
Score = 6 per 10 divided by number of hours (eg. 30 minutes, 0.5 hours, would give 12 skill)
Loss = Subtract 1/3 of total score
Did some experimenting with someone, who submitted fake games for some fake steam accounts, based on the experiments we determined the following:
If the game was submitted (wasn't game mode modded etc)
Commander games are dumped (or stored for later)
Kill = 18 per 1
Assist = 8 per 10
Death = Skill gained by kills is divided by deaths (obviously 0 is the same as 1 like kd)
Score = 6 per 10 divided by number of hours (eg. 30 minutes, 0.5 hours, would give 12 skill)
Loss = Subtract 1/3 of total score
@Deco
You are right that the current hive rating is not exactly elo based. But in the end it is going to be, or it's even more worthless. For example, currently it does not matter if you play against good, or bad players, the rating you get is the same. So as a rooky playing with rookies on a rooky only server will get the same rating as a pro, playing on a pro only server. So the system will point out that the rocky is as skilled as the pro player is. So with matchmaking rooky and pro would get matched up together. Makes no sense at all!
So you must, count in the enemies rating at some point to balance this. And at that point, a rollback is getting evil. Because then wrong submitted data starts affecting everybody.
UWE can use the Steam Api to let people login with their Steam Accounts here on that page. This is no problem to do.
@Bicsum
You have no luck if you think you would detect even half of the abuses in less then a week.
You need 22.5 assists to make up one kill. So if you are not going for "kill steel" with that gorge you will not make points with assisting in compare to the one killing stuff.
But well it's getting a bit off topic. The one point on that topic I wanted to make is, that I see no way to secure data submitting to that hive system without hosting / controlling the game servers itself. If users control the servers, it's data will always get corrupted, no matter what you do. But, if you do that all for matchmaking, then do matchmaking only on your own servers (that you control and host). Use elo / rating / what ever calculation only on that matchmaking servers, and you have secured data sources. And with a better rating formula then the current, maybe even fair balanced teams.
And finally, probably most important: elo, kills per death and stuff like that are most likely destroying gameplay. I have seen it in so many other games, people avoid fighting, leave, let you go first into a battle, only leech kills and run away, and crap like that. Just because they wanna keep elo and kills per death high. Such a system will never highlight a good team player, this system provides only a list for people that needs to be the best somewhere... You will not provide a rooky friendly envrioment if everyone looks for his elo and stats.
Please really think about what impact it will have if you track stats and people start playing for their own stats. And think about privacy too.
If you wanna do something, showing some kind of process into that game. Then add achievements, that's the way to go.
NS2stats has already proven that this is not the case. There has been no noticable change in play style when it was implemented.
That is not true, you see quite some players on NS2stats servers that play for their stats. And remember most people still don't know what NS2stats is, even if they play on a server which has enabled it. If it gets a part of the game itself, more and more people will know what it is and start playing to get a high rating. And this system gives you only a high rating for playing NOT as a team. You gain most bonus if you play only for your own stats. Something like slowing down a push, harassing rts is giving you much less of a bonus then just trying to stay a life, doing some frags. And this is NOT what NS2 should be. Use the Steam Achievement System instead, if you wanna add something on that topic. But no useless "elo" in a team game...
It would need a rollback system in case a server goes rogue for some reason.
You can not rollback a elo system. To do so you would need a database saving every single game of every single server and its results. If something would need a rollback, you need to rollback from the first point with corruption and then recalculate every single elo change. As I said the error spreads around the system, and that's why rollbacks will not work here.
I'm sorry but you're wrong... From my experience ns2stats doesn't make people run away or let others go first into a room, it's their lack of skill. The same people that run from engagements or are too afraid to enter a room are the same that are getting 3-14 k/d's. I've got well over a thousand hours in ns2 and have never seen ns2stats break the game. I always like to play with ns2stats because its fun to check the end game statistics and why one team won against the other.
So you say people that, according to "ns2stats" have a high rating, run away / avoid dying at all cost, because they have a lack of skill? See the problem? They know exactly what they do there. You may been very lucky if you did not notice such people in your play time duration, I encountered many of them in the last weeks.
Or just to give you an other point of view. When the next games end, look at the score board and ask yourself what players did make the team win and what did make them lose. And then look at their points, kills, death and assists and you will notice that there is no connection between that numbers.
What should a gorge think about this rating? So every time you morph gorge, you will ruin your rating. That's the wrong input for this game! There is simply no working system to rate skill based on numbers in team games. This is not only true for NS2, look at DOTA and LOL for example their rating system also fails at exactly the same point.
Never really looked at score, kd, or anything like that except maybe my own percentage to see how good my aim was... I checked to see the res count over time, kills per team, and where the res was spent. This is don't in a similar fashion to other rts games were after the round the opponents can see what strats or build orders were done by their opponents compared to them. That's what I look at. Also with ns2stats gorges can get high score due to structure damage, healing, helping build, and assists.
Now obviously the stats that ns2 currently have (not ns2stats) is new and not flushed out. Heck I even think ns2stats might need some changes as well, but I personally don't see score padding occurring from ns2stats, and I don't think you have either. I'm not sure where your getting that people high ratings on ns2stats run away... I'd say most competitive players with very high ns2stats rating run into the fray of things not the other way. I've never seen some one who runs away have a high ns2stats score... Usually people not wanting to advance isn't because they're afraid of their kd but because they can't aim that well and are afraid to die without back up. It's natural to be afraid of dying even in a video game, and most new players will fall for this fear due to inexperience with the way ns2 is suppose to be played. Like you said yourself most players were not even aware of what ns2stats was. This inexperience leads to the camping and not advancing, not the stat tracker?
@Vanesyra just read the last post and you don't get full points even if you kill someone, it comes down to how much damage you did to the person. So if I did 50% of the damage I get 50% of the points.
Surely the solution for this is that when a server generates the average player skill on a server it takes the 'median' average, not the 'mean'.
Then you could only effect the server browser skill level by having half or more of the players with doctored stats.
Also, couldn't the hive just check stats as they come in, so any new alias starts at level 0, and has a capped number of kills/deaths/assists you can achieve within a certain length of time? If one day I have 100 hours played, and then 4000 the next time the hive reads those stats, surely it can work out that this information is false? This could also relate to kills and deaths, as you could cap those per day as well.
Surely the solution for this is that when a server generates the average player skill on a server it takes the 'median' average, not the 'mean'.
Then you could only effect the server browser skill level by having half or more of the players with doctored stats.
Also, couldn't the hive just check stats as they come in, so any new alias starts at level 0, and has a capped number of kills/deaths/assists you can achieve within a certain length of time? If one day I have 100 hours played, and then 4000 the next time the hive reads those stats, surely it can work out that this information is false? This could also relate to kills and deaths, as you could cap those per day as well.
I'm a massive fan of outlier resistant stats - the median is a much underused value in my opinion! You could even use a median polish model over time to get a more robust estimate that is unmarred by extremely 'poor' and extremely 'good' rounds, and takes into account better the improvement of a player over time. But this might be taking things a bit far. A starting model is great and I applaud UWE for putting this into action!
I actually feel bad for high rank people like roobubba. When the matchmaking or skill dependent randomize readyroom is finally implemented, those people will have such a high skill ranking that they will always be paired with all the noobs on the server in an attempt to get an equal skill-rating for all the players of both teams.
@_Necro_ I'm all too aware of this problem! But don't worry, I'm a total n00b and I'm sure my ranking will have plummeted by the time UWE has implemented matchmaking
@Deco
But well it's getting a bit off topic. The one point on that topic I wanted to make is, that I see no way to secure data submitting to that hive system without hosting / controlling the game servers itself. If users control the servers, it's data will always get corrupted, no matter what you do. But, if you do that all for matchmaking, then do matchmaking only on your own servers (that you control and host). Use elo / rating / what ever calculation only on that matchmaking servers, and you have secured data sources. And with a better rating formula then the current, maybe even fair balanced teams.
I don't see why user controlled server would corrupt the data no matter what. Yes, it's somewhat based on trust, but that's why you would implement a rollback system. One week was just an example. Technically you could store every played match as it's own data record. With the match data you would update the players stats to save processing time. Should there be any problem, you could just substract the data from the played matches data records again.
Also I don't understand why server admins would have any interest in sending manipulated data in the first place.
The problem is that locally tracked data is meaningless, when you have outsiders joining the servers. We have the elo based teams option on our server, and it often works as long as the majority are regulars. 2 high level players, who don't care on which server they play their pub game can completely screw the balance again, as you don't have the data of the other servers and so you have 3 "pros" on one team and 5 on the other, because 2 of them are treated as rookies.
Ps: I guess everybody knows that the current implementation of skill evaluation is not final, but that is actually not what I wanted to discuss.
If you wanna do something, showing some kind of process into that game. Then add achievements, that's the way to go.
I agree in everything you said, but...
Achievements is a vary difficult task and something we have talked about alot in the PT chat and internal subforum.
Just like stat tracking, achiements can influence gameplay alot. Get x kills whit a welder, will get people running around trying to weld onoses to death.
It is something UWE wants to impliment, but doing it right and not intrusive on the gameplay is vary difficult, as they should allso represent stuff you actualy achieved / deserved.
@Side1Bu2Rnz9
I even had people complaining in chat and voice that they will not ruin their "stats" because the game "is lost already". If you don't think that's true, why should I think stuff you tell is true either? So you should take into account that what I tell you here, is what I encountered on the servers I played. You have played on different servers with different experience so you encountered different things. Make them not less and not more "true".
And you get not full points for killing in the score (that is based on damage), but in that skill rating you get full points for the deathblow (18 points) and only a crappy assist (0.8 points) for doing the other part of the damage.
@Bicsum
If talking about security and data submitting you can not assume people are all "good people". You must take into account that there are at least some that abuse everything what they can abuse. The same question is, why people cheat? It does not matter in the end, only the fact that there are some that do it matters. And as I said more then once already, rollback will not work if other players skill values affect your own value in any way. The amount of cpu time needed for a rollback in such a system is going to increase exponential. And that's creating a new point for people to "attack" your system. You can use that behavior to DoS the entry hive system then, trigger rollbacks and eat up all cpu time and lock down the database.
Don't misunderstand me, I am total aware of the problems local server only stats have and the need of a matchmaking / equal teams gameplay. Way back to the days long before Steam, where CS still was a player created mod, I already had developed Half-Life / CS stat websites. And the simple rule is that every thing that can get abused, will get abused. If that is a bad formula for "skill" or any other ratings, or a direct ability to input wrong data, steal other peoples "accounts" or what ever. People will try it, and people will break down your system just for fun, no matter how much work you spend in it. So as a player, admin and developer, having graduated in computer science, I just see no way on how this system in that way will work out well. Without control over the servers, it's a gamble and only a matter of time until it gets abused.
@GISP
Yes, just didn't wanted to go into to much details on achievements, they can blow up the game play as well.
I never minded the ELO/stats system UT2k4 had running. It didn't affect my play in any way, since playing UT matches was simply about having fun. Hence why people also took care of balancing the teams on their own, so everyone had a good time.
It was just nice to see every now and then "wow, I already played this game so long that I destroyed over 5000 power nodes?!"
That system required every client to create a unique ID and password for the stat submission in the client (those were the times before Steam). You could opt not to create one, but then you could not play on servers that had stat tracking enabled.
As for rolling back: they are indeed storing every match of the past month in that database. That is still 58400+ matches per month, almost 10 years after the game's first release.
From my experience are achievements much worse than some stat tracking system when it comes to inducing counterproductive gameplay behavior.
The only way I see it being done is have the server send the info with a keycode unique to that server provider. That way it can be controlled which servers (or people) can send data, if you host a public server apply for a code.
I think this would be the only sure-fire way. We'd need to verify servers though - maybe the community could help with this some how? Like each server needs to get like.. 25 NS2 players to sign an online petition for them, with their steam IDs? Basically just to say, "Yes, this is a good server with good performance that I play on a lot, and they're not running totally game-changing mods, so I'd like my stats on this server to be tracked."
I say we nuke the site from orbit. It's the only way to be sure.
It's relative to hours played, that's all I know, it doesn't seem relative to other people's hours played though. Just look at top scores and see what I mean.
NarfwakJoin Date: 2002-11-02Member: 5258Members, Super Administrators, Forum Admins, NS1 Playtester, Playtest Lead, Forum Moderators, Constellation, NS2 Playtester, Squad Five Blue, Reinforced - Supporter, Reinforced - Silver, Reinforced - Gold, Reinforced - Diamond, Reinforced - Shadow, Subnautica PT Lead, NS2 Community Developer
An issue that was causing users to have the incorrect steam profile linked should be fixed. Let us know if you see it still linking to the wrong profile for you or anyone else should you notice.
Comments
That's a good solution, but to a different problem
With public/private keys, you still need to verify that the source of the data is legit. For websites, email etc. this is usually done with this. But as long as anybody can create new Steam server keys at will, there is no central authority to define who the stats server can trust to send valid data.
NS2stats has already proven that this is not the case. There has been no noticable change in play style when it was implemented.
About the server whitelisting:
It would need a rollback system in case a server goes rogue for some reason.
That is not true, you see quite some players on NS2stats servers that play for their stats. And remember most people still don't know what NS2stats is, even if they play on a server which has enabled it. If it gets a part of the game itself, more and more people will know what it is and start playing to get a high rating. And this system gives you only a high rating for playing NOT as a team. You gain most bonus if you play only for your own stats. Something like slowing down a push, harassing rts is giving you much less of a bonus then just trying to stay a life, doing some frags. And this is NOT what NS2 should be. Use the Steam Achievement System instead, if you wanna add something on that topic. But no useless "elo" in a team game...
You can not rollback a elo system. To do so you would need a database saving every single game of every single server and its results. If something would need a rollback, you need to rollback from the first point with corruption and then recalculate every single elo change. As I said the error spreads around the system, and that's why rollbacks will not work here.
I'm sorry but you're wrong... From my experience ns2stats doesn't make people run away or let others go first into a room, it's their lack of skill. The same people that run from engagements or are too afraid to enter a room are the same that are getting 3-14 k/d's. I've got well over a thousand hours in ns2 and have never seen ns2stats break the game. I always like to play with ns2stats because its fun to check the end game statistics and why one team won against the other.
The "skill" on NS2: Hive isn't an ELO system.
skill = (kills*18 + assists*0.8)/math.max(deaths, 1) + score*0.6/hours
if loss then skill = skill *(2/3)
if abs(score) > 1500 or abs(kills) > 250 or abs(assists) > 250 then ignore
if time as commander > 75% of round time then ignore
if play time < 90% of round time AND play time < 5 minutes then ignore
if round time < 1 minute then ignore
if "GetNumActiveMods" > 0 then ignore ("GetNumActiveMods" appears to be bugged, as some servers with mods are submitting)
Player skill = average skill over all recorded rounds
People bumping up their own scores or creating fake accounts is not significant. What does matter is if someone decides to run a bot that submits false rounds for every account on there.
This is a very difficult problem to solve... the best solution would be for each client to authenticate with Hive via some sort of account. However, UWE doesn't want people to have to make accounts to play NS2.
Unless Steam offers a client verification API for third-party services (like VAC uses), then creating a "UWE account" is the only way.
The easiest solution is to impose a per-IP rate limit. The shortest round can be 1 minute, so that seems like a good starting point. As the API is HTTP-based, IP spoofing is not practical.
On a similar note, I don't understand why UWE doesn't want accounts for "items", like the rewards for their Reinforced program.
Have everything as it is now, but if you want black armor, or a skulk skin, or a lollipop tattoo, etc... then you have to make a UWE account.
That's completely viable, and as the only changes are made on the UWE website, there is no need to trust the servers and clients.
We shouldn't forget that this ranking is mostly for a system that creates balanced matches. We don't need it to be 100% secure. This isn't online banking. What is (for example) with a simple encryption of the message the server sends? The server would ask the UWE-main server for the (daily changing key) and than use this key to encrypt the message. The encryption method in which this key is used shouldn't be open source. I know, I know! Security by obscurity is a bad concept. But in this case I think, it would be enough to stop the occasional troll from messing with the system.
The game isn't 100% cheat-secure either. So why going all apeshit with the ranking system?
You sure would be able to simply host a server with bots and farm points and legitimately let your own server send them to UWE. But seriously what do you achieve?
I actually feel bad for high rank people like roobubba. When the matchmaking or skill dependent randomize readyroom is finally implemented, those people will have such a high skill ranking that they will always be paired with all the noobs on the server in an attempt to get an equal skill-rating for all the players of both teams.
So you say people that, according to "ns2stats" have a high rating, run away / avoid dying at all cost, because they have a lack of skill? See the problem? They know exactly what they do there. You may been very lucky if you did not notice such people in your play time duration, I encountered many of them in the last weeks.
Or just to give you an other point of view. When the next games end, look at the score board and ask yourself what players did make the team win and what did make them lose. And then look at their points, kills, death and assists and you will notice that there is no connection between that numbers.
What should a gorge think about this rating? So every time you morph gorge, you will ruin your rating. That's the wrong input for this game! There is simply no working system to rate skill based on numbers in team games. This is not only true for NS2, look at DOTA and LOL for example their rating system also fails at exactly the same point.
Why should that be a problem?
For example, if you make it so that the data of the last 7 days is put into a quarantine zone not added to the main database directly, you could easily check if the data is correct. The web application layer could still use the quarantine data for real time stats.
Also: what Deco said
1) playing gorge would still push your skill, as kills are not everything. You should get plenty of score and assists when playing as gorge properly.
2) people who are afraid to die, because of a bad k/d are not going to get a high elo ranking. People who can aim, know something about positioning and timing are going to get high elo rankings.
3) Nobody ever said that the elo system is perfect
EDIT: Gonna quote myself from another thread because relevance.
Good to know, thanks.
You are right that the current hive rating is not exactly elo based. But in the end it is going to be, or it's even more worthless. For example, currently it does not matter if you play against good, or bad players, the rating you get is the same. So as a rooky playing with rookies on a rooky only server will get the same rating as a pro, playing on a pro only server. So the system will point out that the rocky is as skilled as the pro player is. So with matchmaking rooky and pro would get matched up together. Makes no sense at all!
So you must, count in the enemies rating at some point to balance this. And at that point, a rollback is getting evil. Because then wrong submitted data starts affecting everybody.
UWE can use the Steam Api to let people login with their Steam Accounts here on that page. This is no problem to do.
@Bicsum
You have no luck if you think you would detect even half of the abuses in less then a week.
You need 22.5 assists to make up one kill. So if you are not going for "kill steel" with that gorge you will not make points with assisting in compare to the one killing stuff.
But well it's getting a bit off topic. The one point on that topic I wanted to make is, that I see no way to secure data submitting to that hive system without hosting / controlling the game servers itself. If users control the servers, it's data will always get corrupted, no matter what you do. But, if you do that all for matchmaking, then do matchmaking only on your own servers (that you control and host). Use elo / rating / what ever calculation only on that matchmaking servers, and you have secured data sources. And with a better rating formula then the current, maybe even fair balanced teams.
Never really looked at score, kd, or anything like that except maybe my own percentage to see how good my aim was... I checked to see the res count over time, kills per team, and where the res was spent. This is don't in a similar fashion to other rts games were after the round the opponents can see what strats or build orders were done by their opponents compared to them. That's what I look at. Also with ns2stats gorges can get high score due to structure damage, healing, helping build, and assists.
Now obviously the stats that ns2 currently have (not ns2stats) is new and not flushed out. Heck I even think ns2stats might need some changes as well, but I personally don't see score padding occurring from ns2stats, and I don't think you have either. I'm not sure where your getting that people high ratings on ns2stats run away... I'd say most competitive players with very high ns2stats rating run into the fray of things not the other way. I've never seen some one who runs away have a high ns2stats score... Usually people not wanting to advance isn't because they're afraid of their kd but because they can't aim that well and are afraid to die without back up. It's natural to be afraid of dying even in a video game, and most new players will fall for this fear due to inexperience with the way ns2 is suppose to be played. Like you said yourself most players were not even aware of what ns2stats was. This inexperience leads to the camping and not advancing, not the stat tracker?
@Vanesyra just read the last post and you don't get full points even if you kill someone, it comes down to how much damage you did to the person. So if I did 50% of the damage I get 50% of the points.
Then you could only effect the server browser skill level by having half or more of the players with doctored stats.
Also, couldn't the hive just check stats as they come in, so any new alias starts at level 0, and has a capped number of kills/deaths/assists you can achieve within a certain length of time? If one day I have 100 hours played, and then 4000 the next time the hive reads those stats, surely it can work out that this information is false? This could also relate to kills and deaths, as you could cap those per day as well.
I'm a massive fan of outlier resistant stats - the median is a much underused value in my opinion! You could even use a median polish model over time to get a more robust estimate that is unmarred by extremely 'poor' and extremely 'good' rounds, and takes into account better the improvement of a player over time. But this might be taking things a bit far. A starting model is great and I applaud UWE for putting this into action!
@_Necro_ I'm all too aware of this problem! But don't worry, I'm a total n00b and I'm sure my ranking will have plummeted by the time UWE has implemented matchmaking
I don't see why user controlled server would corrupt the data no matter what. Yes, it's somewhat based on trust, but that's why you would implement a rollback system. One week was just an example. Technically you could store every played match as it's own data record. With the match data you would update the players stats to save processing time. Should there be any problem, you could just substract the data from the played matches data records again.
Also I don't understand why server admins would have any interest in sending manipulated data in the first place.
The problem is that locally tracked data is meaningless, when you have outsiders joining the servers. We have the elo based teams option on our server, and it often works as long as the majority are regulars. 2 high level players, who don't care on which server they play their pub game can completely screw the balance again, as you don't have the data of the other servers and so you have 3 "pros" on one team and 5 on the other, because 2 of them are treated as rookies.
Ps: I guess everybody knows that the current implementation of skill evaluation is not final, but that is actually not what I wanted to discuss.
Achievements is a vary difficult task and something we have talked about alot in the PT chat and internal subforum.
Just like stat tracking, achiements can influence gameplay alot. Get x kills whit a welder, will get people running around trying to weld onoses to death.
It is something UWE wants to impliment, but doing it right and not intrusive on the gameplay is vary difficult, as they should allso represent stuff you actualy achieved / deserved.
I even had people complaining in chat and voice that they will not ruin their "stats" because the game "is lost already". If you don't think that's true, why should I think stuff you tell is true either? So you should take into account that what I tell you here, is what I encountered on the servers I played. You have played on different servers with different experience so you encountered different things. Make them not less and not more "true".
And you get not full points for killing in the score (that is based on damage), but in that skill rating you get full points for the deathblow (18 points) and only a crappy assist (0.8 points) for doing the other part of the damage.
@Bicsum
If talking about security and data submitting you can not assume people are all "good people". You must take into account that there are at least some that abuse everything what they can abuse. The same question is, why people cheat? It does not matter in the end, only the fact that there are some that do it matters. And as I said more then once already, rollback will not work if other players skill values affect your own value in any way. The amount of cpu time needed for a rollback in such a system is going to increase exponential. And that's creating a new point for people to "attack" your system. You can use that behavior to DoS the entry hive system then, trigger rollbacks and eat up all cpu time and lock down the database.
Don't misunderstand me, I am total aware of the problems local server only stats have and the need of a matchmaking / equal teams gameplay. Way back to the days long before Steam, where CS still was a player created mod, I already had developed Half-Life / CS stat websites. And the simple rule is that every thing that can get abused, will get abused. If that is a bad formula for "skill" or any other ratings, or a direct ability to input wrong data, steal other peoples "accounts" or what ever. People will try it, and people will break down your system just for fun, no matter how much work you spend in it. So as a player, admin and developer, having graduated in computer science, I just see no way on how this system in that way will work out well. Without control over the servers, it's a gamble and only a matter of time until it gets abused.
@GISP
Yes, just didn't wanted to go into to much details on achievements, they can blow up the game play as well.
It was just nice to see every now and then "wow, I already played this game so long that I destroyed over 5000 power nodes?!"
That system required every client to create a unique ID and password for the stat submission in the client (those were the times before Steam). You could opt not to create one, but then you could not play on servers that had stat tracking enabled.
As for rolling back: they are indeed storing every match of the past month in that database. That is still 58400+ matches per month, almost 10 years after the game's first release.
From my experience are achievements much worse than some stat tracking system when it comes to inducing counterproductive gameplay behavior.
I say we nuke the site from orbit. It's the only way to be sure.
it was funny as shit.