Atlas icon indicating copy to clipboard operation
Atlas copied to clipboard

Realm

Open richard-pianka opened this issue 2 years ago • 1 comments

richard-pianka avatar Apr 04 '23 02:04 richard-pianka

  • 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

richard-pianka avatar Apr 04 '23 16:04 richard-pianka