0
\$\begingroup\$

OK so I am using unity to make a multiplayer game, but I'm not sure how to connect players with each other over the internet.

Unlike other questions, this isn't a general problem of working out how to do UPnp or using unity's matchmaking server. My issue is that my server that I would use is a simple low powered pc (running normal windows 10, no idea how to use windows server).

I think it is powerful enough to match players with each other, but not to host more than one or two actual games.

The other issue is that I have a residential internet connection with a dynamic ip that changes every few months. However the speed should be ok (150Mb/s download, 20Mb/s download).

Also, I'm not planning to spend money on a monthly basis for a server (like unity's matchmaking service) as I plan to spend as little as possible (So far I've paid £12 to Microsoft for a dev account and I've received a £200 voucher from them so my current spending is -£189!)

So my question is should I use my server (would it work), are there any online services that are very cheap to use, or is there another way to make this work?

Only other thing is I could use the free 20 users at once on unity's matchmaking, but would this limit be too small?

EDIT: just for information, my game is a simple tank shooter. I was thinking about limiting the amount of tanks in a game somewhere around 8-20. The bullets in my game are physical objects with rigidbodys and they move at a slower speed (if you've ever played tank trouble, it looks like that). The world is in 3D. There is a potential for there to be up to a hundred bullets in a scene at once at the worst. After hosting a LAN world with 7 players connected for about 20-30 minutes, windows reports the data usage being around 3-4MB.

\$\endgroup\$
7
  • \$\begingroup\$ What if your game becomes successful? Plan for that. You'll need to spend money for hosting your servers eventually, if only to mitigate DoS attacks on your server. \$\endgroup\$
    – Vaillancourt
    Jan 1, 2017 at 14:52
  • \$\begingroup\$ Well, hopefully if my game becomes successful, I would earn enough from it to either upgrade my server or use an online tool. \$\endgroup\$
    – Joe Speers
    Jan 1, 2017 at 15:12
  • 1
    \$\begingroup\$ You mention that you expect your home server to be able to host only 1-2 games at a time, which puts it in the same rough range of simultaneous users as Unity's free offering. In a scenario like that, I don't really see any benefit to using your own server - especially since it has a dynamic IP so you'd need to couple it with a web service that clients could query to find out where to actually contact it (which will be another cost if you don't already have web hosting somewhere). It's a pile of extra complexity for relatively little gain and terrible scalability. \$\endgroup\$
    – DMGregory
    Jan 1, 2017 at 15:40
  • \$\begingroup\$ @JoeSpeers did you get the answer of your question? \$\endgroup\$ Jan 24, 2017 at 10:02
  • \$\begingroup\$ I guess the best way to purchase this assetstore.unity3d.com/en/#!/content/58948 or this assetstore.unity3d.com/en/#!/content/58179 \$\endgroup\$ Jan 24, 2017 at 10:03

1 Answer 1

1
\$\begingroup\$

Don't go the home server route. The hassle and reliablity problems (dynamic IP, power, etc.) aren't worth it.

  • Get yourself a small VPS for a fiver per month.

  • Amazon's AWS offers (or used to at least) a micro instance free for the first year

  • Google's app engine (applicable if you implement the matchmaking service on one of their supported platforms) has a fairly generous free quota if I'm not mistaken.

Implementing a matchmaking service, which lets the player's connect to each other (i.e. isn't running the game itself) shouldn't require much resources, nor would it require a specific OS.

The above suggestions are also easy to scale if your game takes off.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .