Code Monkey home page Code Monkey logo

netcode.io's Introduction

Travis Build Status

netcode.io

netcode.io is a simple protocol for creating secure client/server connections over UDP.

It’s designed for games that shunt players from a main website or web backend to a number of dedicated server instances, with each dedicated server having some maximum number of players.

It has the following features:

  1. Connection oriented
  2. Encrypts and sign packets
  3. All packets are delivered over UDP
  4. Only authenticated clients can connect to dedicated servers

Source Code

This repository holds the reference implementation of netcode.io in C.

Other netcode.io repositories include:

How does it work?

Please refer to the second half of this whitepaper: Why can't I send UDP packets from a browser?

For a complete technical specification, read the netcode 1.01 standard.

How can I help?

This is an open source project and we welcome contributions. Please join us!

Here are some things that we think would be helpful:

  • Provide feedback on the reference implementation
  • Study the code, and look for flaws and weaknesses
  • Port netcode.io to your favorite language (eg. Java, Lua, Python, Ruby...)
  • We welcome anybody who would like to volunteer to perform a security audit of the code
  • Develop a testing framework to guarantee that different languages implementations conform to the standard

Please let me know if you have any more ideas, and feel free to ask questions and get involved by logging issues.

Contributors

These people are awesome:

Thank you for your contributions to netcode.io!

Author

The author of this library is Glenn Fiedler, a recognized expert in the field of game network programming with over 15 years experience in the game industry.

Glenn wrote an article series about the development of this library called Building a Game Network Protocol.

Open source libraries by the same author include: yojimbo and reliable.io

Sponsors

netcode.io is generously sponsored by:

And by individual supporters on Patreon. Thank you. You made this possible!

License

BSD 3-Clause license.

netcode.io's People

Contributors

derekargueta avatar gafferongames avatar ryan-scott-dev avatar toqueteos avatar vvanders avatar wirepair avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.