I don't think voting to get of abusers would be a good idea, since you either cheated or your didn't. Public opinion doesn't factor in on it. If anyone's going to deal with cheaters, it should be administrators, nobody else.
Yes, someone will always find a way to exploit something. Things like disconnecting during a loosing game are something we'll have to decide what the behavior is, as the win / loss stat will likely be reported by the server, not the player's client. Them disconnecting themselves to "not get a loss" is more likely to simply insure a loss on their record, as well as a disconnect. If they are also the ones running the server ... well, again something the rules have to be determined. ie: would a ratings system even take in to account player run games?
I'm hoping so, I live in Australia and unfortunately the low population density usually means we get insufficient dedicated/official servers (if any) for any multiplayer games other than the most popular ones (we still don't even have battle.net servers for blizzard games like SC2 ), and often they don't stay around too long either, so player hosted matches might be necessary in the long term. But IIRC there were adequate Australian servers for MNC so maybe I'm just being paranoid and Uber will give us all the servers we need
Can you gimme a link where its described how the starcraft servers work, and what servers are used? as far as i know (i am not sure) the games are simulated on the local machine and send informations via peer-peer, only the results will be sent to blizzzards, so dedicated servers are not realy needed...(thats what i think, i am not sure tho)
I'm pretty sure it uses dedicated servers (at least for ranked play) as most people suggested in this thread and because usually all players on a server have > 25ms pings and they usually differ substantially even in 2 player games (I'm usually 150ms-250ms and they are usually < 50ms), if it was truly P2P then either someone would have a near 0 ping or pings would be fairly even. But the main problem is that us Australians have to play against the US who get a 100ms advantage over us or against Asia who get a slightly lower 80ms advantage over us but who we are unlikely to be able to communicate with and typically have a higher skill level than the US. It's even worse for Diablo 3 where the ping is rarely less than 200ms, and for an action game that requires you play connected to the server even in single player that was really just terrible, I even made a video to show how bad it was because for a month or two after the first patch the minimum ping most Australians were getting was 300ms-400ms which made the game almost unbearable to play. And what was worse was that blizzard were ignoring us and attempting to fix the US players 80ms+ pings instead (often resulting in even worse pings for us, some Australian players frequently got lag spikes of 2000+ where several seconds of play happened without them able to do anything).
well, if someone spikes in the game, everyone does....so i do think the pings are fairly even... i dont know how it works for not native regions tho.
Starcraft 2 still uses good ol' peer to peer style networking, but those connections are routed through a routing server. That ping is your connection to the server, and why everyone can have different pings while still being peer to peer. I guess more accurately it's peer to server to peer. The server itself doesn't seem to do anything apart from take packets from players and send them to others, that and probably some level of security. There are LAN servers for Starcraft 2 that emulate this behavior to allow for play with out being connected to Battle.net. To further prove this is the case, there's already been hacks out in the wild to do all of the old Starcraft 1 style hacks of uncovering the entire map and showing all of the enemy units. Blizzard's solution to the issue is requiring the server connection and their Warden anti cheat system they created for World of Warcraft. The server does appear to do some form of lock step skipping where if some players' pings are too high they let other players continue with out them and que up commands to send.
Does this mean that you will provide servers for rankedmatches? From an anti-cheating perspective that would be great, but I am unsure on how many servers you would need and it would create ping-problems if your servers are not spread all across the planet. Also there always have to be enough servers available, even at peak-times. There might be offers for corporate-class server hosting that are this flexible, so it might not really be a problem, I dunno.
Ahh, that would explain it, unfortunately that means I'm still getting the pings tied to foreign server locations unlike traditional peer to peer setups . But at least Uber are using a much better server-client model that will allow me to host my own servers if need be, knowing that I could always play multi-player with friends at reasonable pings was one of the major reasons I bumped my pledge up to $150 . I'm just hoping that player created matches can also be ranked (against matched players, not with friends obviously) and with minimal chance of cheaters, rather than always being reliant on dedicated servers to be available for a good game against people I don't actually know.
We will be providing servers distributed across the globe, yes. I'm not sure if we'll be doing something equivalent to the "ranked match" in many recent games, but we will have the galactic war rankings.
I don't care how you are calling it, as long as you have some kind of simple 1v1 ladder based on elo, trueskill or similars concepts and I think neutrino wrote somewhere that you will have stuff like that. Having a simple button that takes people into games with matching opponent within 60s is REALLY REALLY important
Now i understand why its so near impossible to cheat in LoL and other MOBA games Quick search option would be cool.... a system which reduces the wait time dynamicly wheater there are many players online or less(greater elo range with higher wait time; faster increase of range if less players online)
I would like to make a proposal on this matter. For those of you who have played Unreal Tournament 2004 you know about this. They came up with a rather simple solution to the client side hack problem that worked very well. The server would perform a client verification upon a player joining the server. Basically the server scans you client side files to make sure that they have not been modified, and if they were you were booted. It usually took a few seconds but was totally worth being able to find a preemptive solution to the problem rather that reactive, replays.
It worked extremely well, for a few months maybe until people figured out how to get around it (ie: hack the code that did the checking to just always respond to the server with the a-okay response). Many forms of client side checking still exist, but for the most part the client side of the war is lost. World of Wacraft has some of the most sophisticated methods of client side detection which really only work because most of the time it doesn't actually do anything but ping home and gets redownloaded every 30 seconds or so while playing with randomized code. This makes it harder to defeat, but they still mainly just watch what's happening on the server. Today's world of anti-cheat is about after the act detection, and obsfucation, not necessarily prevention.
From my perspective of a business programmer: nothing is hacking-free or cheat-free. There is always a way. The real questions are: - How much time will the hacker have to spend monitoring the sockets and memory until he finds out something useful? - How will the server recognize a potential hack/cheat? The first rule of IT security: no data is safe. The job of a security specialist is to make it as time consuming as possible for the hacker to breach it. EDIT: "From my point as" to "From my perspective of"
mcodl is right. Security it is not an absolute. Your goal is to make so only an elite few have working hacks, and not every drooly 5 year old on the net. If your solution is simple and does not consume much of the devs time, but it makes it difficult for the vast majority to cheat you have won. Think about minecraft, when you have an entire community working on a hacked client project (nodus) you failed. Nocheatplus and anticheat were developed to force input to be valid even if you were running the hacks. These plugin worked as viable solutions to the problem because the vast majority of nodus users have zero technical skill, and the point at with there prepackaged program fell apart. They were S.O.L. I know this because I was an admin that among other things dropped the hammer. I studied a bit of programming in college. I fairly certain you could break up files into pieces and check sum the pieces. Randomly change the number of check summed pieces in each file periodically. It simple yet annoying as **** to the hackers.
Similarly to the anti-piracy measures IMO the best anti-hacker protection methods would be those that go unnoticed by the people writing the hacks, if you make it so a hacker's units do less damage and take more then that's something that may not be noticed and with enough subtle disadvantages the hackers will end up being disadvantaged more than the advantage the hacks provide. It will also take the authors of the hacks a very long time to track down all the disadvantages to ensure that users of the hack aren't being detected. There's a good article on how this sort of thing works for anti-piracy here: http://www.gamasutra.com/view/feature/3 ... at_bay.php IMO it could also work for hacks, though probably to a lesser extent. Edit: Of course now that I'm thinking about it I'm already thinking up several ways to easily counteract such methods, it's always easier to destroy that create . But at least with PA being a strategy game with an asynchronous client/server network model the potential vulnerabilities can be limited to mostly just getting a little more information than the player should have access to, or having a bot play.
Have fun dealing with bug reports and balance issues then when you do something like this. Seriously, that's a horrible idea. The chance of this happening to normal players who then would have no chance of detecting wheter or not it affected them would be pretty bad for the game.
Assuming that you need an active account and you can't hack the game to register one, there's always the most effective anti-hacking method: keep tabs on who is hacking the game as best you can, and every two months, boot everyone from the server who does it and force them to buy a new account if they want to play again. After witnessing it happen once, most people will be too scared to try playing with a hack since even if someone says it's undectable, you might be added to the blacklist for the next banwave the first time you fire it up.
Well, I still remember putting together like 3 e-mails to Blizzard for my naive friend who got his PC infected and got booted out of battle.net because of it. Hopefully Uber will have some part support dedicated to sorting through intentional hackers and victims. This may sound a bit too paranoid but automatic booting could be exploited by a hacker as well. Just start with a little phishing site and you'll eventually get a decent amount of user credentials to compromise and block. EDIT: And I agree with smallcpu as well on the above. I would personally rather discard such a match from statistics and send a warning e-mail to the possible cheater (or a victim of another hacker) first. Then possibly blacklist if repeated.