I'd like to clarify what Aren says.
So basically, in TNet, the actual physical server application is nothing more than a middleman for routing messages (it's a bit more complicated than that, but it helps to think of it that way). That's pretty much all it does, and it has zero knowledge of Unity at all.
In my game, I needed a dedicated server model, and the way you do this in TNet is by having a special build of your game which acts as the "game server", by starting up a TNet server instance and immediately joining it. Therefore your "server" is technically a player (as far as TNet is concerned) and because it joins first, becomes the host. This is what I'm doing in my game (since I needed server authoritative logic) and works like a charm.
I see your point, but...
isnt unity instance a single thread application? meaning it can hold as much activity as a single core can handle?
so if you use 1 unity instance for dedicated host(to have authoritative server) in tnet. woudnt that mean that you server may get very unresponsive and laggy with say over 50 online players in that particular unity instance?
which you may need to create another unity instance manually to hold another 50 players?
i am not sure yet, but sounds like unity networking cap is due of its single threaded capacity, so if more that 50 ccu in the instance the single core will get maxed out therefore gameplay ruined?
regarding ulink networking docs setup, they tried to to overcome this nasty cap of unity instance by doing a uZone witch will automatically fire up another unity server instance once it reaches certain number of ccu and assigns cpu affinity to the new fired up instance to avoid cpu saturation.
their philosophy sounds like :
if you have a multicore hardware for server, the assign affinity to a unity instance per core and have a master server that will check if one unity server instance is full the connect to the next in line
ie:
hardware with 8 cores, you can run 8 unity host (authoritative) instances
max players per instance 50 (depending on your gameplay features, physics, server side collisions player checks etc...)
Like Aren said, if you use tnet in a unity instance fopr server side then your server resources will get eatup bu unity very quickly, therfore support less ccu.
= 8 x50 = 400 players in a 8 core hardware node. sounds very little ccu for that hardware machine? not sure. but in theory that is it.
I think every networking tool that requires a unity instance to become a server will always have that cap due of the single threaded limitation.
would you care to explained on how you overcoming this? hopefully will help us to escalate the server setup.
thanks