[HN Gopher] Packet-editing games in Golang (2021)
       ___________________________________________________________________
        
       Packet-editing games in Golang (2021)
        
       Author : jszymborski
       Score  : 79 points
       Date   : 2024-03-26 05:52 UTC (17 hours ago)
        
 (HTM) web link (remyhax.xyz)
 (TXT) w3m dump (remyhax.xyz)
        
       | bilekas wrote:
       | I'm still not sure how it's going to modify the packets from the
       | server side in any meaningful way though.. The packets that are
       | issues server side are only modified on the client and so only if
       | the client side is expecting some flag/value such as (item #) for
       | example?
        
         | tuvan wrote:
         | Its value depends on how safe the games netcode is. I used to
         | play an FPS game where the hits were client authoritative and
         | hackers edited enemy positions and made them stand in a row in
         | front of the hacker. Hacker could easily wipe the enemy team
         | with that.
        
         | phw wrote:
         | An unrelated but practical example: I used to play a
         | competitive ski racing game. You would race a course and upon
         | finishing, your client sent the locally-determined finishing
         | time back to the server, where it would end up on the global
         | leader board. It was possible to modify the finishing time in-
         | flight, and set it to whatever you wanted because the server
         | had no way to know if a client was lying. To be fair, I did not
         | succeed because the time was still "protected" by a hash whose
         | input I could not be bothered to figure out.
        
         | tmpz22 wrote:
         | Plenty of games don't bother to implement server-side-
         | validation exhaustively. Including big Triple A titles (which
         | is why anti-cheat providers make a killing with their ring-0
         | spyware).
        
       | daghamm wrote:
       | This looks interesting, but I find it hard to follow when half of
       | the magic happens in some library I've never seen before. Would
       | love to see something like this in plain code.
       | 
       | "github.com/chifflier/nfqueue-go/nfqueue"
       | 
       | "github.com/sergi/go-diff/diffmatchpatch"
       | 
       | "github.com/google/gopacket"
       | 
       | "github.com/google/gopacket/layers"
        
         | nzach wrote:
         | For a more stdlib-oriented implementation you could look at
         | this proxy: https://github.com/jpillora/go-tcp-
         | proxy/blob/master/proxy.g...
        
       ___________________________________________________________________
       (page generated 2024-03-26 23:02 UTC)