- Home /
implementing server side logic
we want to create a multiplayer game using a back end server other than unity's own networking features. we want to know about others experiences. how should we implement this? we don't have any of unity's features like collision detection and scene data and physx.
Answer by jashan · Aug 05, 2010 at 07:53 AM
There's various backend / middleware technologies you could build upon, like
If you really need collision detection and scene data in your backend server, you might consider having an actual "game server" in addition to your "networking server". I've outlined a possible architecture for such an approach in Porting Unity Networking to Photon (it's a forum posting in the Photon/ExitGames forums).
The idea is to use a Unity standalone game server that connects to your back end server and handles some of the things that would be very difficult to implement from scratch. Main problem there is latency because obviously you add some latency if the game server has to "check back" with a game server running on another machine (and you'd like want to have to run it on a separate machine so you can scale more easily). Well, for the details, check out the link.
I haven't implemented this solution, yet ... so I can't say for sure how well this will be working, yet.
thank you Jashan! i think unity's next big step is to create a great backend server. one of us should create a feedback ticket and send it to others to vote. the ideal solution is something like $$anonymous$$$$anonymous$$O engine's backends. exitgames is doing something but they don't share much info. my only hope was that if you tested that solution :)
Actually, I really don't see the point in UT entering the $$anonymous$$$$anonymous$$O backend server market. UT is creating a great game engine but $$anonymous$$$$anonymous$$O backends are a completely different story and market that really has nothing to do with Unity at all (except that you could and likely will use Unity for the client). I think it's best if they stay focussed on what they do: Deliver the best tool for creating game clients for all kinds of different devices. Of course, one can use a Unity standalone game as server service, too ... but has nothing to do with $$anonymous$$$$anonymous$$O backend server middleware, either ;-)
Answer by Ashkan_gc · Sep 20, 2012 at 03:26 PM
Well! Lots of time later, back to my own question from a google search.
Now we are using unitypark suite (uLink) for doing our MMO. It can have unity logic on the server. It has network load balancing and storage backend with a no sql database and lots of other great features.
take a look if you are interested www.muchdifferent.com We have articles on MMOs and backends on our blog and learning materials section on our own mindhammergames.com website.
Answer by Orionark · Mar 19, 2012 at 07:53 PM
I've been experimenting with using the actual PhysX SDK and PhysX.NET as a wrapper for C#, and then using the UnityEngine assembly to make sure the code base is shared between server and client. This approach also could potentially allow me to run server software on a Linux machine, as it doesn't rely on Unity much at all (as soon as I strip out the dependency on Unity's math primitives).
If I make some good progress I'll write a tutorial chronicling what I'm doing. It's been pretty straight forward so far. Unity uses PhysX 2.8.4 as its physics engine, so you can get the PhysX 2.8.4 SDK to run a simulation serverside that matches Unity. I'm using Lidgren as my network library for communicating back and forth, and it's very easy (and powerful).
Your answer
Follow this Question
Related Questions
Unity networking tutorial? 6 Answers
Photon Unity Network 1 Answer
LAN MMO Networking Technology 1 Answer
MMO server side programming 0 Answers
Multiplayer Persistant Gaming 1 Answer