Hacker News new | past | comments | ask | show | jobs | submit login
Just Cause 2 Multiplayer: Behind the scenes with gaming's greatest hack (redbull.co.uk)
127 points by bensillis on Sept 17, 2012 | hide | past | favorite | 39 comments



About that 1800 players number. Based on posts by one of the developers, their server doesn't do any sort of calculation:

> Our server is basically 'dumb', it doesn't do anything in the sorts of processing bullet trajectory, player line of sight or any hit detection at all.

http://www.jc-mp.com/forums/index.php/topic,638.msg4783.html...

Unlike other games which run a full simulation on the server-side, their server (I presume) mostly routes messages between players. This means that the server trusts the client, which is rather poor design for a competitive multiplayer game. Once this is released, players will probably prefer a cheat-free game to a large-scale one.

This is, nevertheless, a fantastic mod. But these people have not yet solved the c10k-equivalent problem for massively multiplayer games.


>which is rather poor design for a competitive multiplayer game

Watching that video, I would guess the environment isn't so much competitive (even single player JC2 is very no-particular-goals-in-mind-just-blow-shit-up oriented) as it is mass chaos. It looked like what would happen if /b/ bought an island. So cheating is probably only a minor concern at this point.


While cheating may not be a problem in a noncompetitive sandbox environment, griefing is. Consider a dumb client that fakes logging in to the game server and sends thousands of explosions to a player's screen at once, or drops hundreds of jets or explosive barrels everywhere instantaneously. There is practically no limit to sending these hand crafted packets in comparison to how fast the GPU will be able to render the resulting actions. So now, you have a massive DoS problem on your hands. Ideally nobody will do this, but my point is lots of problems can come up when you trust the client.


"drops hundreds of jets or explosive barrels everywhere instantaneously"

I don't know about you but this sounds like an awesome feature to me


The first time, sure. When it's happening every other minute it will just be dull.


DayZ is also not "competitive" at its core (and Arma2 even has anti-cheat measures built in -> BattleEye)... this doesnt stop script kiddies from server-hopping and killing/teleporting every one (even though they have no benefit from it beside the "lulz")..


Totally different game. DayZ is about solo play until you encounter other people, and even without cheating 90% of encounters with another person are shoot first, ask questions later.

Additionally, Just Cause is about just grabbing the nearest car and gun, then going out and causing chaos. DayZ requires players to spend literally days acquiring equipment, finding vehicles, fixing them. Finding a vehicle in DayZ can be a super rare find. In Just Cause 2, cars are everywhere.

Basically, cheating is a problem in DayZ because of the extreme scarcity of the resources. In Just Cause 2, there is no such scarcity. Therefore, cheating in DayZ ruins the game for everyone. Cheating in Just Cause 2 would probably go unnoticed, unless the cheater decided to become invincible.


They could verify those things on other clients, instead of on the server. I think that's typical for pure P2P multiplayer games. They could use something like - every player sending their version of 'what happened' to the server which then decides the proper outcome.

Btw, is it required to simulate everything on the server side? I know it is the conventional way to prevent cheating, but how about just randomly sampling some of the actions to detect cheating, and ban that user?


"They could verify those things on other clients..."

But clients are not trustworthy. How do you decide which clients to trust? How long before your 'adversary' discovers your trust methods an replicates them in his client?

"...server which then decides the proper outcome."

This requires processing power. Random sampling is perhaps a possible solution, but if you're overwhelmed with nefarious client activity (50% perhaps) and you're only sampling, say, 10%, still 40% of your gameplay is cheating clients. If you increase your sampling based on finding increases in cheating, you start to overwhelm your server farm.

tl;dr - this is not an easy problem to solve


If 50% of your clients are cheating, are you really playing a game?


If you can write a little C program that speaks enough of the game's wire protocol to simulate a bot, send nasty packets, and also provide a vote of confidence when other bots ask if those packets are correct--and then run 100000 of them over a few machines--then 99.999% of your clients could be "cheating" while there are still people trying to play a real game.


One major problem with this is there are plenty of legitimate communications that will originate from a single client -- namely, those client's in-game actions!

Any cheating that takes the form of something "possible" for a client to do would be undetectable under such a scheme. (eg aimbotting)


On the other hand it's not like usual FPS have everything calculated on the server side, which is why there is a difference between most MMOs and FPSs and why there are still cheaters. There are various countermeasures. There are even a lot of MMOs that do a big part on the client side.

Maybe clients could also verify each other. There has been some thought on this topic, but I don't how far the research went.


Can't the server mitigate a lot of this cheating by enforcing a matching checksum? That's how Subspace (AKA Continuum) does it, and cheating seems to be fairly minimal.


rsanchez1 and jjrumi both posted reasonable answers, but are hellbanned.

Guys: You need to email an admin and get yourself unbanned. Most people don't see your posts.


Impressive accomplishment, but perhaps the title should read: "How two men made an FPS mod to support 1,800+ multiplayers in their spare time".


It really irritates me when the titles get changed after a submission gets popular. Now comments like this one lose their meaning since the original title has changed to something completely different.

If it's a bad title, it's a bad title. Just leave it alone. Bad titles will be corrected in the comments (like here) or won't be upvoted in the first place. Just stop messing with them.


For anyone who is curious, the original title was:

"How two men made an 1,800 player shooter in their spare time"


I can't stop cracking up watching these videos. It's like a 3D visualization of Reddit or 4chan.

"...in the last test players were killed 223,704 times, averaging out at 1.29 untimely ends per second."


This one's particularly great:

http://youtu.be/1-zhdU4GSBA

You can tell there are pretty often some weird syncing errors, but hey, it's worth it for stuff like this.


As per the recent test, I think a lot of latency issues have become less pronounced. Only in 'Dome Deathmatch' did I really see any glaring movement issues.

There are still plenty of funny movement related issues because of latency, but they don't really affect the game too much.

And it's totally worth it. I sat there laughing for a good long while after someone dumped a jet right into the ground, taking at least 5 people with him.


Even though it was mostly chaos, I actually find it kind of interesting how people chose to interact with one another in this free for all:

"They turn up to do everything, from monster truck rallies to dragging boats along motorways with a helicopter just because. Some simply chose to roleplay as Panau City’s air traffic controllers"


Yeah, I did see some glimpses of that in the video. Air formations and boat-jumping rallies, things like that. It's intriguing that somewhere inside the chaos people found a way to organize.


>Sure, you can have 8,000 players questing in World of Warcraft at once, but there’s no massively multiplayer shoot’em up or action game to be found. The latest Call of Duty game, Black Ops 2, has a 18 player level cap; Grand Theft Auto 4 multiplayer is capped at 32 on the PC and just 16 on consoles.

>Foote says it’s the politics and the economics of making a game that often has to run on as many as three or four different systems that’s stopping it.

>“We don’t have any schedules or design plans that we have to stick to. We have freedom of imagination,” he says. “I think if game studios had that same freedom, we would see much more unique content coming out.”

This seems very much at odds with APB, which is the only serious effort at a GTA-style MMO I'm aware of. Their interviews were all about how the money and freedom was a curse, that being able to do anything meant they had no idea what to do and ended up with, well, a massive failure.

I have to question whether this is going to last. Goal-less, open gameplay means little in the way of storytelling, and without a way to compete "seriously" between teams it won't have the WoW guild dynamics, so I'm not sure what'll keep people coming back. Anyone know how second life is doing these days?


I used to play Multi Theft Auto a lot years ago on GTA: Vice City, which was similarly buggy but excellent fun. This just looks completely insane.

Impressive work by the developers - even though they've effectively piggy-backed onto an existing game, presumably the engine etc is closed-source and therefore their efforts are worthy of admiration.

I wonder if Multi Theft Auto is still going, I still have my Vice City disc somewhere...


The funniest thing is this guy started reverse engineering by reverse engineering MTA to create bots that followed people to kill them and all sorts of other hacks.

Now look where he is. I find that an awesome progression!


MTA:SA is still going (fairly) strong. I still get on it every so often. Lots of fun.


There's MTA for GTA:SA too. The increase in land space is really worthy it.


Would be great to see some articles on their technical approach, I assume they have used techniques to reach those scales based upon the fact the average pair of players are too far away from each other to be visible


They trust client data. It makes scaling a lot easier (and cheating/griefing).


i second that, immediately went to check if the source code is available, but sadly nothing.


It seems hard to general to get your hands on any modding code. Apparently the modding culture doesn't encourage opensource as much as other hacking circles.


Modding seems very 'credit-heavy' and it can be difficult to get credit for your work when a bigger, better team can simply fork your code and call it their own. Then again I don't have any experience in this field so I could be completely off-target.


Reminds me of the Grand Theft Auto San Andreas multiplayer mod from a few years back. A few fans in their spare time creating a multiplayer mod for a popular game that lacked it. It really makes you wonder, I understand some games don't have multiplayer due to the fact you not only need to find room in the budget to accommodate more development & testing time, you then also have to invest into the server infrastructure to support the game as well as implement some kind of anti-cheating functionality.

I think this modification is proof that even pointless multiplayer games that are essentially just deathmatch on a massive scale are popular and fun, longevity wise if this were a paid mod I'd expect many would get sick of the boring gameplay after a while.

Different game modes like; Racing mode, Team Deathmatch, Police and Bad Guys, Capture The Flag and good old fashioned single deathmatch. Will be interesting to see how they further improve this, I just went and bought the game because of this mod.


The big difference is that this is basically just ad-hoc networking. All of the game logic is still done on the client side, with no synchronization. There is absolutely nothing to prevent speedhacks, wallhacks, aimbots, etc, all of the reasons that the big boys stopped doing it that way a decade ago.


Planetside2 is a new MMOFPS that actually plays like a real game and supports up to 2,000 players in a huge persistent world. Beta is out now and it's quite fun. It will be free-to-play when it's released.


DUST514 is another MMOFPS that is in beta: http://www.dust514.com/

It takes place _inside_ the world of EVE Online (~30-50k online at a time), which is a fully persistent single-server universe.


The best part of the article is the response from Avalanche, the studio that developed the original game. Rather than try to shut the project down, they praised the authors and invited them over for a visit. Awesome! When companies act like that, it makes me want to support them.


Looks ok, still when explosions don't do damage to the surrounding area it doesn't seem as real. In Minecraft when a creeper blows up, it leaves a pit in the ground and in your beautiful new home.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: