Comments (6)
Curious, does this also apply to the current live steam network? Attacks are basically trivial without replay protection. Would be very curious if it passed the security layer. And how are fragments to be handled?
Bit broader but still related are the out of order packets, also more common.
from gamenetworkingsockets.
Is this repo dead yet?
from gamenetworkingsockets.
@Mellnik There's a lot of work going on in another branch, addressing the first item on the roadmap.
https://github.com/ValveSoftware/GameNetworkingSockets/commits/snp-rewrite
from gamenetworkingsockets.
@fletcherdvalve Are you open to comments or is it pretty much a done deal? Asking because if indeed you're basing it on QUIC, I think there is a misunderstanding about their intent. Not sure even Google knows what they were smoking^Wthinking. It's faster but fragile, completely falls apart on some networks.
from gamenetworkingsockets.
@h1z1 I would definitely be interested in your opinions. I would say the main thing we got from Google QUIC was just the high-level idea to use packet-level acks instead of a simple sliding window. We didn't do the ACK encoding exactly like they did, we just used the basic idea that a richer ack protocol would result in less backing up and re-transmission. I've tested the code we have under some pretty horrendous simulated network conditions and it survives. (Although I haven't directly compared it to TCP yet.)
It is definitely more complicated than sliding window, I agree 100% on that. My assumption is that spending a bit more more CPU and memory to reduce re-transmission is the correct tradeoff right now for most use cases.
You can take a look at the encoding and approach in the snp_rewrite branch now.
https://github.com/ValveSoftware/GameNetworkingSockets/blob/snp-rewrite/src/steamnetworkingsockets/clientlib/SNP_WIRE_FORMAT.md
from gamenetworkingsockets.
Fixed.
from gamenetworkingsockets.
Related Issues (20)
- Building fails on Archlinux with error HOT 3
- thread sanitizer detects issues HOT 4
- valgrind: Conditional jump or move depends on uninitialised value HOT 6
- lets move to zpp::bits!? HOT 2
- Steps to build for iOS and Android
- VCPKG / Building x86-windows-static
- Where/Who to contact for console access HOT 1
- cs2 and csgo ping HOT 1
- Early Retry Mechanism for SteamNetworkingSockets Authentication HOT 9
- Build fails to succeed for Windows / Visual Studio HOT 1
- Request to add compression
- minbase_decls.h always defines DLL_EXPORT on Windows (issues with static pthread)
- Build fails with clang 16 from non utf-8 garbage character
- Q: Performance warning
- Segmentation fault on CreateListenSocketIP using WSL2 Ubuntu
- Fail to build in windows 10 x64 due to openssl HOT 2
- Install with libsodium
- Unable to establish P2P with ICE
- test_p2p client failing
- Inaccuracy in the message sending function
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gamenetworkingsockets.