ENet-CSharp
lidgren-network-gen3
ENet-CSharp | lidgren-network-gen3 | |
---|---|---|
2 | 5 | |
762 | 1,183 | |
- | - | |
6.2 | 0.0 | |
about 2 months ago | over 3 years ago | |
C | C# | |
MIT License | MIT 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.
ENet-CSharp
-
Worried about server security and seperation with Mirror Networking
You definitely want to a low level API (LLAPI) instead, like f.ex. LiteNetLib, ENet, lidgren or similar. I haven't touched anyone of these recently, except the first one a year-ish ago, so I won't say anything about where they stand today.
-
[Hobby // RevShare] Looking For Senior Multiplayer Developer (Unity)
ENet
lidgren-network-gen3
-
How do modern games solve the NAT issue in multiplayer?
I use the NAT holepunching implementation in https://github.com/lidgren/lidgren-network-gen3 for my game, and it works without issues for most users.
-
What's something you REALLY want to add to your game BUT you avoid doing it (because of technical difficulties or scope)?
I use the c# library lidgren for my game and it includes multiple techniques for managing the nat port forwarding issue. Most notably, nat hole punching. Highly recommended!
-
[Modding-Info] Restoring multiplayer
Heya, so I've been trying to restore the multiplayer functionality for the past week or so. Spent way to much time on this. I had to remake the whole thing over and over again because of issues.. Currently I didn't get much further than enabling an actual lobby. The main issue is that so much of the code to boot the game in online mode is obfuscated. Now to some information that might be useful for others, because honestly I never really did anything with c# and unity. Whenever you try to go into online mode the game connects to: world.gameaccounts.swordcoast.com Failing to get a proper response sets the game in offline mode. The full string is: private const string ࢩ = "wss://world.gameaccounts.swordcoast.com/scl/websocket/game_auth"; Also obfuscated and located in assembly-csharp.dll -> ngCloudServices Setting your host file to redirect world.gameaccounts.swordcoast.com to your local ip works but obviously we are missing the server. So once again we are failing to connect, setting the game to offline mode and locking all network functionality. GameConfig.json in the game folder mentions LAN Lidgrin which is actually a typo by the devs. The name of this library is Lidgren, see: https://github.com/lidgren/lidgren-network-gen3 I'm not sure if the config file really does anything since the webserver failure locks the game in offline mode. But the libaries are included in the game. As for debugging, output_log.txt in the data folder is actually quite useful to see where the code falls apart. For decompiling, editing and compiling your modified code use dnspy: https://github.com/VNGhostMans/dnSpyEx If someone is picking this up and needs more information about the games code structure and such let me know.
-
Worried about server security and seperation with Mirror Networking
You definitely want to a low level API (LLAPI) instead, like f.ex. LiteNetLib, ENet, lidgren or similar. I haven't touched anyone of these recently, except the first one a year-ish ago, so I won't say anything about where they stand today.
-
[Hobby // RevShare] Looking For Senior Multiplayer Developer (Unity)
Lidgren
What are some alternatives?
LiteNetLib - Lite reliable UDP library for Mono and .NET
KCP - :zap: KCP - A Fast and Reliable ARQ Protocol
GameNetworkingSockets - Reliable & unreliable messages over UDP. Robust message fragmentation & reassembly. P2P networking / NAT traversal. Encryption.
yojimbo - A network library for client/server games written in C++
dnSpyEx - Continue to develop the dnSpy project
Polly - Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. From version 6.0.1, Polly targets .NET Standard 1.1 and 2.0+.
Hazel-Networking - Hazel Networking is a low level networking library for C# providing connection orientated, message based communication via TCP, UDP and RUDP.
Scientist.net - A .NET library for carefully refactoring critical paths. It's a port of GitHub's Ruby Scientist library
MiniUDP - A Simple UDP Layer for Shipping and Receiving Byte Arrays
Coravel - Near-zero config .NET library that makes advanced application features like Task Scheduling, Caching, Queuing, Event Broadcasting, and more a breeze!
Neutrino - A low-latency, high performance network library for real-time apps and games.