Skip to content
.NET Networking library with support for game emulation.
C# Other
  1. C# 99.7%
  2. Other 0.3%
Branch: master
Clone or download
Latest commit 1b44bdf Jan 7, 2019

README.md

GladNet3 (Glader's Library of Advanced Development for Network Emulation Technologies)

GladNet3 is the 3rd generation of the .NET/C# GladNet networking library. The library evolved overtime to support the niche of server/client emulation for game development. The implementation supports already two major emulation implementations such as World of Warcraft and Phantasy Star Online. In short GladNet3 is a library that contains a collection of APIs that allow you to quickly assemble a client that can connect to game servers or a server that can accept the connections of existing game clients. It has extendable API that can support multiple cryptography schemes and serializers. The recommended serialization for custom binary protocols is the FreecraftCore.Serializer which already supports Phantasy Star Online, World of Warcraft and many other custom binary protocols.

Why

Emulation development for networking has not had any unification. If you want to create a network client or server to emulate a game there aren't very many useful emulation specific libraries to get up and running quickly. GladNet3 fills a niche in providing the components and APIs required to get something from working very quickly. Combined with the highly configurable FreecraftCore.Serializer you can begin to build and send binary DTOs with the GladNet3 network client on day one.

The high productivity and the unified approach allow the emulation community to collaberate and focus efforts which support other unrelated projects. For example, preformance improvements merged from efforts by project A would also benefit unrelated project B and would in turn affect several downstream emulation projects that depend on it.

Just as ASP.NET has provided a common framework for .NET web development GladNet3 tries to do the same. Adopting a similar Handler (controller) API with provided contexts that allow you to act on the message. A unified framework for emulation client/server development is just as benficial as the Microsoft ASP.NET project has been for other .NET developers.

Features

Client

  • Async
  • .NET TcpClient
  • HTTP Client
  • (R)UDP Client
  • Lidgren
  • PhotonServer Standalone
  • FreecraftCore.Serializer (Attribute-based custom binary protocol serializer)
  • JSON
  • Protobuf
  • XML

Server

  • Async
  • .NET TCP Server
  • Protobuf

Builds

MyGet: hellokitty MyGet Build Status

NuGet: TODO

Tests

AppVeyor: Build status

License

Contributions including pull requests, commits, notes, dumps, gists or anything else in the repository are licensed under the below licensing terms.

AGPL with the exception that an unrestricted perpetual non-exclusive license is granted to HelloKitty (Andrew Blakely)

You can’t perform that action at this time.