Skip to content
Snippets Groups Projects
  1. May 27, 2017
  2. May 26, 2017
    • Monster Iestyn's avatar
      Merge branch 'netcode-hotfix' into 'master' · 3928b75b
      Monster Iestyn authored
      Netcode hotfix
      
      Various netcode fixes are included in this branch. Most important of all of course is a fix for the Net_CloseConnection invalid node -32769 detected message thing, or rather what actually caused that to occur.
      
      It's a merge to master since everything here should be compatible with 2.1.18: the only main changes are related to recieving packets (whether you're the host of a netgame or a client), which AFAIK shouldn't cause desyncs if you played with these fixes on a 2.1.18-hosted netgame (or hosted a netgame with the fixes and 2.1.18-using players join you).
      
      See merge request !185
      3928b75b
    • Monster Iestyn's avatar
      Cleanup part 2, make ye old 2.1.18 warning a debugfile only message, and make... · 4d1af864
      Monster Iestyn authored
      Cleanup part 2, make ye old 2.1.18 warning a debugfile only message, and make the node == -1 have its own debugfile only message too
      
      Also get rid of a stray newline
      4d1af864
    • Monster Iestyn's avatar
      Remove cruft from my initial days of fumbling with this branch · ab5835cd
      Monster Iestyn authored
      textcmd[0] for PT_NODETIMEOUT can't hold anything < 0 anyway, and you'd probably have to really try to get >= MAXNETNODES
      ab5835cd
    • Monster Iestyn's avatar
      Display node's IP when printing the "sending file to node n" message, if... · e0927027
      Monster Iestyn authored
      Display node's IP when printing the "sending file to node n" message, if noticedownload is turned on
      e0927027
    • Monster Iestyn's avatar
    • Monster Iestyn's avatar
      whoops · 7979f84e
      Monster Iestyn authored
      7979f84e
    • Monster Iestyn's avatar
      PT_REQUESTFILE checking: · aecc97de
      Monster Iestyn authored
      * if you sent it to a client rather than the server, game over, your connection is closed
      * if files that don't exist or are too large are requested are listed, game over, your connection is closed (they should have been checked on YOUR side beforehand, silly)
      * if the server has downloading disabled anyway, ...yeah, you get the idea
      
      Don't worry, I made sure Got_RequestFilePak cleaned up the full file request list for the node in case of failure
      aecc97de
    • Monster Iestyn's avatar
      Merge branch 'exit-your-server-desync-fix' into 'master' · db7d2171
      Monster Iestyn authored
      Exit your server desync fix
      
      This branch fixes this bug: https://mb.srb2.org/showthread.php?t=41811
      
      Here's an explanation of how this bug is actually happening:
      * Pressing Enter with "Start" selected calls `D_MapChange` to make a map change command. (Note that part of it is actually delayed because it's called from a menu, but this isn't relevant to the bug)
      * `D_MapChange` itself calls `SV_StartServer` to start up the server, if you're supposed to be the server player.
      * Pressing Esc while starting up a server like shown in the gif causes the server to be cancelled, and go back to the title screen.
      * HOWEVER, since we're still in `D_MapChange`, the map change command is made anyway.
      * Since we're not in a netgame as expected, no random seed is added, and the map change command has a total size of 9 bytes (1 for the id + 8 for the actual data). This is then stored in the net command buffer. The random seed would add another 4 bytes if it WAS added, note.
      * Next time you start a server, and let it work as normal, two more net commands are added: an "add player" command (size 3), and a map change command (size 13, including random seed this time). Your net command buffer now has a total size of **25** (9 + 3 + 13).
      * This net command buffer is then sent as a `PT_TEXTCMD` packet to yourself.
      * SRB2 recieves the `PT_TEXTCMD` you sent to yourself, and some time later, tries to run the net commands stored in it.
      * The first map command is read as if it's size 13 rather than size 9 (it isn't), mistakeningly thinking a 4-byte random seed is stored (since you ARE in a netgame now). This means your buffer reads what it thinks is the next net command starting from position **[14]** in the buffer.
      * Bad luck, it gets an id of **0**, which doesn't correspond with any net command!
      * This message is then printed in the console:
      
      > WARNING: Got unknown net command [14]=0 (max 25)
      
      * The game subsequently kicks you out the server with a "desynch" message.
      
      tl;dr The game doesn't correctly cancel the map change when you cancel the server with Esc like that. This is not a good thing.
      
      See merge request !188
      db7d2171
  3. May 25, 2017
  4. May 23, 2017
  5. May 22, 2017
  6. May 20, 2017
  7. May 19, 2017
  8. May 17, 2017
    • Monster Iestyn's avatar
      Merge branch 'sdl-fixes' into 'master' · b564c8ab
      Monster Iestyn authored
      SDL fixes and cleanup
      
      Mostly cleanup tbh. I noticed a few things that bugged me when examining SDL's code recently, thought I might as well fix them up a bit.
      
      These changes definitely does not affect netplay, so this can be merged to master just fine.
      
      See merge request !183
      b564c8ab
  9. May 15, 2017
  10. May 13, 2017
  11. May 12, 2017
  12. May 11, 2017
Loading