Sign in to follow this  
NathanielBennett

Unity3D Networking Requirements?

Recommended Posts

Hello.
Sorry about asking this in a more expertise forum.
I'm posting here becuase I think the guys at Unity Are p***ed off at me - about my n00bness (Funny if some of the guys are here as well [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img])

Basically, I'm just plain confused with getting networking working correctly on unity.
I mean, there is a Networking Project - showing you network with Unity's Builtin API's, which is all good and fun ,
But then I get told, "You shouldn't use those API's , you need a server Back End to use them. You have to pay £3000 a year for a server back end, which excludes the £2000 a year for hiring a dedicated server."

-Great.......

Why do I need a server Back-End?

All I want is for players to host there own games, and let people join those games, and have fun. I understand I need some type of server setup to host a list of all hosting players, but surely that Wou;d cost less then £3000 to get a System that hosts and gather a list - I could make something lke that in 20 minutes.

Still really confused?

BTW my game is another one of those Space Combat games - In the style of Halo REACH Sabre Level (it kicks ass [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img])
Thanks for your help.

Ow, and....If I get a Atom ITX pc (something like £80) Couldn't I use that as a Server? I mean, my connection sucks ass, and I'm not going to be paying £3000 a year for a fast upload connection- but Niether am I building an AAA game. Just a little Project, so me and some friends can play along together on my own custom built game [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img] (Others are welcome [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img])

Share this post


Link to post
Share on other sites
[quote]All I want is for players to host there own games, and let people join those games[/quote]

How do players find each other?

[quote] I could make something lke that in 20 minutes.[/quote]

The I suggest you do, and sell it cheaper, and make lots of money! For example: you can probably host a matchmaking server on a $20/month Linode instance, assuming you can run the server software on Linux (Unity doesn't), so the yearly server cost can probably be about $250.

Regarding putting servers under your desk / in your closet, the FAQ for this forum talks a bit about that.

Share this post


Link to post
Share on other sites
You need a master server that keeps track of all the games currently running, if you want players to be able to browse a server list. If you're fine with players having to type in their IPs to join games, you don't need one. But that hasn't been fine since 1997.

You could probably use an Amazon EC2 Micro instance to host a master server for free.

Share this post


Link to post
Share on other sites
For Free? is that possible? :D
Yeah, I understand. But Unity Uses .Net Sockets, so Technically I could use Linux? just use the mono library.

Alot of people say users hosting games is a bad idea as it induces lag.... Whats Xbox Live then? I thought that was people hosting there own game? Xbox live just makes sure people are behaving properly and baically is a community behind Every Xbox Multiplayer game.

Share this post


Link to post
Share on other sites
in truth it depends on how you build your server. xbox live i can't speak for directly, but from what i infer much of it is used as just that, a matchmaking service. then the clients select a host based on lowest ping/highest bandwidth measured in some form to each player. but that's all application side on determining what is done by clients. and where you draw the line with what the server controls.

if this is a game you only intend to play with friends, than you could just broadcast a packet onto the network when the host is hosting(or in reverse when a client is searching, they broadcast, and the host responds, this is a much better setup.)

if you want to play over the internet, this is where nat get's to be a bad guy, because many isp's generally put you behind their nat/pat schemes, basically this means that trying to directly connect is very difficult(if not impossible), without having a middle-man server to do the initially connection(which is probably where unity was talking about.)

i also assume they were thinking that you were expecting to have high end traffic, so you'd need a heavy duty server to handle such loads. but from the sounds of it, your not looking for anything like that.

in the end, if your playing on lan's only, then just implement host/client scheme's, and broadcasting on the local network to discover hosts. As well, an option for typing in ip/host names means that if someone does have a server with a public ip that they want people to play on, then anyone can just enter their address. You could also simple have a master server list hosted on some sub-domain, that when a player searches for servers over the internet, they download, and then query each server to see if it's still alive/active.

Share this post


Link to post
Share on other sites
[quote name='typedef struct' timestamp='1332606894' post='4924912']
You could probably use an Amazon EC2 Micro instance to host a master server for free.
[/quote]

Note that the micro instance is only free for the first year of your account, then they actually reserve the right to charge you for it. I don't know whether they actually do, though.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this