{"repo":"mas-bandwidth/netcode","free":true,"listed":false,"github":"https://github.com/mas-bandwidth/netcode","clone":"git clone https://github.com/mas-bandwidth/netcode.git","description":"Secure client/server protocol for multiplayer games built on top of UDP","language":"C","stars":2596,"topics":["udp","packets","protocol","client-server","game-development"],"license":"BSD-3-Clause","category":"game-templates","readme_excerpt":"netcode netcode is a secure client/server protocol for multiplayer games built on top of UDP. Design Real-time multiplayer games typically use UDP instead of TCP, because head of line blocking delays more recent packets while waiting for older dropped packets to be resent. The problem is that if you want to use UDP, it doesn't provide any concept of connection so you have to build all this yourself, which is a lot of work! netcode fixes this by providing a minimal and secure connection-oriented protocol on top of UDP, so you can quickly get to exchanging unreliable unordered packets and get busy building the rest of your game network protocol. Features Secure client connection with connect tokens. Only clients you authorize can connect to your server. This is perfect for a game where you perform matchmaking in a web backend then send clients to connect to a server. Client slot system. Servers have n slots for clients. Client are assigned to a slot when they connect to the server and are quickly denied connection if all slots are taken. Fast clean disconnect on client or server side of connection to quickly open up the slot for a new client, plus timeouts for hard disconnects. Encrypted and signed packets. Packets cannot be tampered with or read by parties not involved in the connection. Cryptography is performed by the excellent sodium library. Many security features including protection against maliciously crafted packets, packet replay attacks and packet amplification attac","default_branch":null,"files":null,"tree":[],"storefront":"/r/mas-bandwidth","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mas-bandwidth/netcode/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}