libzt
GameNetworkingSockets
Our great sponsors
- Sonar - Write Clean C++ Code. Always.
- InfluxDB - Access the most powerful time series database as a service
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
libzt | GameNetworkingSockets | |
---|---|---|
5 | 33 | |
56 | 6,598 | |
- | 0.6% | |
3.8 | 7.5 | |
7 days ago | 6 days ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libzt
-
What are the most important metrics for measuring cloud and endpoint security?
BlindSPOT: https://blindspotsec.com/ Specific graphic from BlindSPOT: https://blindspotsec.com/wp-content/uploads/2021/04/Failure_Before.jpg How to Measure Anything in Cybersecurity Risk: https://www.amazon.com/dp/B01J4XYM16/ Monte Carlo simulation approach: https://embracethered.com/blog/posts/2020/red-teaming-and-monte-carlo-simulations/ D3FEND: https://d3fend.mitre.org/ ATT&CK mappings: https://github.com/center-for-threat-informed-defense/attack-control-framework-mappings ATT&CK evals: https://attackevals.mitre-engenuity.org/index.html CALDERA: https://github.com/mitre/caldera Offensive Countermeasures: https://www.amazon.com/dp/1974671690/ SPIFFE: https://spiffe.io/ SPIRE: https://github.com/spiffe/spire Zerotier: https://www.zerotier.com/ Zerotier libzt: https://github.com/zerotier/libzt
GameNetworkingSockets
-
I FIGURED OUT NETWORKING
Keep in mind that if you do go the GodotSteam route, there's GameNetworkingSockets from valve that doesn't have the requirement of needing Steam that you can use for releasing on other platforms. It has the same interface as the Steamworks SDK without requiring the Steamworks SDK.
-
Peer to Peer online multiplayer?
Their UDP-but-connection-based game networking protocol can be used completely separetely from Steam (it also supports encryption). I think that does not include their relay networking solution, but still.. maybe it's helpful. They also have a TCP-like interface to make it easy to plug into an existing solution.
-
Multiplayer game packaging
If you want to go the route of using a raw protocol and packing your messages yourself, I suggest to at least have a look at Valve's GameNetworkingSockets either for inspiration of what you might need or even to just use the library: https://github.com/ValveSoftware/GameNetworkingSockets
-
does it cost money to have a small coop server?
There is early NAT piercing support in Valve's GameNetworkingSockets. Check out:
-
What network messaging library do you recommend?
You can also try Valve's GameNetworkingSockets with a serialization of your choice.
-
How do modern games solve the NAT issue in multiplayer?
I do wonder if you'd get better performance if the clients connected to an adapter running on the local machine, and those adapters then communicated through the bridge over UDP. Valve made their networking library opensource, so you could just directly use that. It'll do the p2p STUN stuff for you, and if that fails you could route the traffic through your server(s) (and at least it will UDP behind the scenes, so hopefully less acknowledgement latency).
- Epic Online Services gets free cross-play tooling that will support Linux
-
Making a multiplayer server
Inconsistencies can be prevented by ensuring the server handles all operations and does so in a given order, then transmits the results to clients. I wrote a little about this for my game Avoyd a long while ago. Clients (including a client running the server) send an edit request via reliable ordered UDP (e.g. using Enet, Raknet, Steam Networking etc.) and the server places these in a single queue then performs the edits and sends the results back also using reliable ordered UDP.
-
Which one of these plans should i take to make my game multiplayer?
https://github.com/ValveSoftware/GameNetworkingSockets Works with AND without Steamworks.
-
P2P vs Client Server
If you want to try a known library, I think Valve might have a good one (didn't test this myself, though): https://github.com/ValveSoftware/GameNetworkingSockets If you search for "C++ game development P2P library" you can find some suggesting on SO (but without having tested some and having an idea on what you really want, it will be hard to pick one).
What are some alternatives?
nakama - Distributed server for social and realtime games and apps.
libdatachannel - C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets
netcode.io - A protocol for secure client/server connections over UDP
ZeroTier - A Smart Ethernet Switch for Earth
GloSC - Tool for using the Steam-Controller as systemwide XInput controller alongside a global overlay [Moved to: https://github.com/Thracky/GlosSI]
Proton - Compatibility tool for Steam Play based on Wine and additional components
GlosSI - Note that I am not currently contributing to GlosSI. This fork is only here just in case I do decide to contribute again.
AreWeAntiCheatYet - A comprehensive and crowd-sourced list of games using anti-cheats and their compatibility with GNU/Linux or Wine.
wine
tinyfecVPN - A VPN Designed for Lossy Links, with Build-in Forward Error Correction(FEC) Support. Improves your Network Quality on a High-latency Lossy Link.
spire - The SPIFFE Runtime Environment
HeroicGamesLauncher - A Native GUI Epic Games Launcher for Linux [Moved to: https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher]