Project Idea (NBA 2K16)
-
Hi, I was wondering if someone here could give me some pointers on how to to start with modding video games (if that's the correct term).
For a long time I've wanted to create a "client" for NBA 2K16 to play online again but I just don't know where to start, can't find anything on YouTube/forums/books that can help me just get started.
I study software development so the learning curve when it comes to coding is not so steep, I kinda just need to get something going. Any recommendations, videos, courses, books, will be highly appreciated :).
-
@_trippy_ You need to first look into how to reverse engineer and obtain Packet captures with WireShark. Might get lucky and someone already has the packet captures on a forum or by searching the web. It's needed to emulate the servers. Learning how to use IDA is most likely required for this task and c++. This isn't an easy task at all, but go for it.
-
If you trying to play online with friends again. Best thing for now is just using Parsec. Works great for all NBA 2k games. I see people hosting 2k all the time and people don't even have to own the game to play.
-
RedxSkull Thank you for sharing bro, is very discouraging that the 2k community just lets these games die, IMO they're better than the new ones.
Ima give myself a shot a this, honestly don't think I'll succeed but I think is worth the shot, thank you for pointing me in a direction .
-
_caLLaBoki_ This would be the best game the would add yet ngl 2k16 was GOAT Rank bro i hope this a project comming soon.
-
_caLLaBoki_ In a way you can say Take-Two company let the game to die out, but really it's that they re-use their servers for each NBA 2k title and server costs are very expensive. So when a game is outdated. They usually use those servers for newer titles. They don't want to pay for all those servers for each 2k game. What they should have done was add p2p or community server support as well to each title. So it wouldn't matter if the official servers were taken away. Main reason why they don't support older titles is, because they want players to move on to their newer games. It's like that for a lot of games. Especially COD. Remember, most gaming companies are about business first before caring about what the community wants.
-
_caLLaBoki_ said in Project Idea (NBA 2K16):
Hi, I was wondering if someone here could give me some pointers on how to to start with modding video games (if that's the correct term).
For a long time I've wanted to create a "client" for NBA 2K16 to play online again but I just don't know where to start, can't find anything on YouTube/forums/books that can help me just get started.
I study software development so the learning curve when it comes to coding is not so steep, I kinda just need to get something going. Any recommendations, videos, courses, books, will be highly appreciated :).
Unless you know reverse engineering, the learning curve will be very steep. We took a quick look at this franchise ~2 years ago and concluded that it'd likely take us a collective ~500h of work or so to get to a shippable product. If this doesn't discourage you, here are some things we figured out (on 2k17) while investigating:
- It uses an HTTP API for most "live service" tasks, with some (custom?) binary body serialization
- Their backend expects a special HTTPS client certificate, so if you want to sniff this traffic on newer games you have to extract the cert and key from the game
- It uses a combination of WebSockets and UDP for the game traffic
- WebSockets seemed to be used for the "neighborhood/park" feature, and UDP for the actual "match"
- Packet structure seemed very different between the two
- The game stores (caches) some files on disk that it gets from the HTTP API, this probably includes updated player lists, small patches and the like
- In order to get a playable mod, you'd have to figure out these 3 components, all without being able to sniff any data from it, and potentially find someone who has had the game installed since it was shut down and still have the cached files
- The different games did seem very similar however, so some research could probably be done on the newer (still active) games
Figuring out the HTTP API stuff seems like a good and very doable first step, after which I'd look at the UDP data (via the quick match feature or whatever it's called). If these are hosted by one of the participants and not always on a dedicated server you may be able to get at least that working fairly easily, but if you want the neighborhood/park functionality you're most likely looking at writing a game server from scratch - a very hard and time-consuming task.
After you've done all that, there's a very high probability T2 will send you a letter, yet another reason we felt like this just wasn't worth spending time on.
- It uses an HTTP API for most "live service" tasks, with some (custom?) binary body serialization
-
Very good info about this situation and Take-Two is known for sending C&D letters. Look at all the old GTA modding projects taken down by them and Red dead redemption projects ,etc.
-
Eldor I really wish I had that much time to spend on a project like this (college is taking my soul LITERALLY).
I've always enjoyed all this stuff, been playing mods since the days of AlterIWnet. Wanted to actually try and make something myself just to see how it worked internally but it looks like is a NO NO.
Thanks for the info Eldor & RedxSkull I really appreciate it .