Does the server have to be a clone of the game?

So, I’m just curious because all of the tutorials I’ve found have been “Clones” of the game, using Network.instantiate to re-create each players client in a single instance, although I was curious as to if this had to be the case, because running a 2.5GB File-Size graphical updating server is kind-of retarded in terms of Computer Usage.

How would I go about doing a stand-alone server, I know basic Connections, but that’s about it, still learning networking… .if I was to do a stand-alone I wouldn’t use any of unity’s networking API, right? Just do one from scratch in C#?

The reason this came to mind was I was attempting to have the server running in a scene that didn’t have a terrain, players, or anything like that which it needed to graphically update, but while doing it that way I noticed that I couldn’t do any position updating or anything like that.

You are missing a key idea. If its the server, you disable all renderers, and you are running the entire game without the visuals.

I believe its better to run the game if its physics based using this approach since Unity physics are not deterministic (or so Ive read/heard)

I guess you can probably do some kind of authoritive server using your own networking, but it would be harder.

How would I go about disabling the rendering, because from what I heard the only way to do this is by running it in -batchmode, and that’s for unity pro users only, or am I missing something. I probably am missing a bunch of key-ideas as this is my 5th day studying networking, but I was writing a stand-alone server just now to test it out and currently I’m down to a multi-threaded input/output server Basic chat, but still nothing for storing data to the player, although the player class has been created.

Actually, its really easy to disable all the renderers without actually disabling any

turn off all the cameras :wink: