Atlas
Atlas copied to clipboard
Realm
- I'm not implementing games or ladder yet
- It turns out MCP does send a protocol byte, except it's 0x01, so I stuck it on a different socket; I chose port 6113 because it's what pvpgn uses
- Do you want the name "Olympus" as a setting?
- Sending a statstring for EID_USERUPDATE causes a rather esoteric rendering bug in Diablo II
- We could make not sending it only a D2DV/D2XP thing if it's expected for other products
- Take a look at SID_ENTERCHAT lines 73-90, see comment
- The SID_LOGONREALMEX response has to send an IP address, I did a quick lookup but it's not exactly ideal...lmk if you're already getting this somewhere or you want a different solution (see NetworkUtilities.cs)
- I'm using a bunch of static but essentially random values for the MCP chunks (only actually relying on the cookie), not sure what you want to do here
- I had to essentially duplicate several classes: Message, Frame, one of the exceptions, the ServerSocket, etc.; any or all of these could be much more DRY with a refactor, lmk what you think (feels icky)
- There are a handful of places I want to decompose into functions, add helpers, etc. - planning to hit that in my next pass of refactors if that's cool
- I left a couple pieces of commented out code as reminders for places I need to treat when I add games and ladder
- There are like 4-5 areas where I found the bnetdocs documentation could be improved, I can submit these later and trim out my comments