Authoritive Servers


My team is looking to do a large scale third person shooter with persistent characters. Basic idea is you log in, getting character data (level, weapon unlocks, ect.) from a database and then joining servers which would be exclusively run on our end (no player hosting). I'm not sure Unity's built in networking can handle this type of game so I'm looking at using Photon instead. However, since Photon only relays information between clients, is it possible to do an authoritive setup at all? Can Photon handle geometry, collisions, line of sight, ect., without extensive server code? I feel Unity would handle this aspect much better/easier, but Photon is much more scalable.

Thanks for your help.

Edit: One thought is to have Photon be a master server that handles logging in, friends list, DB access, ect. and have it boot up a headless Unity server whenever players start a new games. Is this within the scope of what Photon can/is designed to do, or should I be looking elsewhere?


  • Photon can handle any solution you suggested. We used it just to pass information between clients but we also had server logic run a complete level and physics code. Of course you can run Unity headless and use Photon as account and loadbalancing server.

    Photon can be programmed on the server side to do anything you need. The application "Lite" that's provided by us is just a sample and starting point for your own development.

    Running Unity in headless mode needs relatively much performance, server-side. Depending on your game, this might be the easiest way, though.

    We have also seen implementations with their own physics implementation, using a geometry, exported from Unity. This uses a custom physics / collision engine which runs on both sides: Photon and Client.
  • We'd really like to avoid writing our own physics /collision (none of the engineers on the project have this kind of experience), so I think we are we are going going to see how well we do with using Photon to start headless Unity. Thanks for your help.
  • Anyone else that runs into this thread should read this thread: viewtopic.php?f=6&t=4
  • And the great thing is: Having the Unity Networking Plugin will make this whole task *so* much easier. I just read about it and am really enthusiastic (I never took up the task of porting all my Unity based networking over to Photon but now it should be pretty easy ;-) ).