I want to make a game, where up to 6 players can play together and one if them should be the server/host.
So i need a Matchmaking and a Nat Punchthrough service. I want to host them by myself.
I also plan to make an console release.
Is there any good network library, which i can use?
UNet seems to be not updated anymore and when you take a look at the bug tracker/forum, it seems to be full of bugs.
Bolt has removed their Zeus MasterServer and now you need to use their services. And if you plan to make an console release you need to contact them. (No one knows, what this means)
And if you make more than 100k, you need to contact them…
Forge Networking was a paid Asset and is now for free on Github. This say’s a lot! The Asset Creator are not interested in their product anymore.
TNet is good, but the support from ArenMook is not the best.
LLAPI is great, and updated frequently. As for the HLAPI part - it can be completely replaced by HLAPI Pro (it’s free, search on the forum). It fixes all bugs that HLAPI has.
Photon is pricy and has no real way to scale it by yourself. Cloud is great, but no thx.
Bolt, Forge (Free) is bit obsolete. Forge (Paid) on the other hand is great AFAIK.
Haven’t tried the rest.
Correct, im not a friend of this cloud services. I want to host the most by myself.
I dont understand what you mean with “Forge (Paid) on the other hand is great” Forge is now on Github and cant be bought anymore and why is it great?
It’s an roundbased game with up to 4-6 players and i need something that uses rooms or where players can start an server by themself without open ports (Nat Punchtrough needed)
I would suggest LiteNetLib. I am currently using it. But you have to write something on top of it, because it is complete LLAPI lib. I use protobuf for serialization / deserialization, so my messages payload are not huge as well as latency for these techniques.
This seems to be the most promising method. Can you explain how to use litenetlib? I place the scripts in my unity project and go from there? Since it’s low level, I need to write my own networkmanager, identifies, network transforms, etc?
I use bolt but don’t think it has changed all that much in years. My favorite feature is the server authoritative movement. They no longer grant source code access though. I build my project expecting to replace bolt in the future.
I also tried smoothsync from the asset store but wasn’t sure how to make it authoritative. It seems like a good asset though. I have never heard of hlapi pro, thanks for mentioning it!
There is LiteNetLibSample Unity project, it contains basic code for running / connecting to a server. And yeah, I am writing my own abstract HLAPI so it can be used with any llapi libs that supports simple byte[ ] transmission. https://github.com/RevenantX/LiteNetLib/tree/master/LiteNetLibSampleUnity
Hi man.
I’m developing a multiplayer network lib that supports all kind of games.
It does some work for you like Nat Punch-through that you mentioned.
I made it capable of working through TCP and UDP channels simultaneously so you can decide which messages should go through which channel.
I’m still working on it but I have already a game, also in development, being made on top of this lib.
It is working very well.
If you want to give it a look here is the repo:
There is no release yet, but it’s coming soon (I think until August).
So the updated code is in the develop branch.