Hi, I'm wondering how it would work out if you where to run a game server with your own game in your own house.
So suppose I made my own online game with 200 Players on a server, and I created my own Server Machine for these players to play on, and then I began to run the server and players would join anytime they want and begin to play, how would it work out latency-wise and Lag-wise.
Information I host it from the UK in my home. (May affect me, I could have slow downloads etc)
I only want UK players to join (So there aren't latency problems from people from other countries)
I want 200 Players and an Open World game.
They'll be Physics and players simoutaniously playing the game killing each other and doing missions.
Servers running on the machine.
Login, World and Chat
Memory: 4GB DDR3 (Probably not enough to host 200 Players) Processor: Pentium G6950 Motherboard: Asus 1156 P7F-M WS Server Motherboard Program: Photon
I'm also wondering what and how Bandwith would work on a server, i don't know much, i also heard it uses Upload Speed and not download
Would I be able to host this game from my home on my own server or would I need a DataCentre to host it for me (Players In the UK only)
I've hosted a MineCraft server on my computer and played at the sametime, because of my decent proccessor and 2GB of ram I didn't have slow down or poor framerate.
I've only had 5 Players playing at once, and the people I was playing with where from other countries, and had low lag or no lag.
Thanks for reading.
200+ players in a realtime game is almost impossible. The server specs are quite irrelevant. If you create a dedicated server you wouldn't need to draw anything, just pure gamelogic.
The biggest problem is your bandwidth... I guess you have ADSL? Asymmetric DSL does have a very small upload (mostly 1:10). You would have to optimise the network traffic yourself. But that would not help much. If 200 players are connected to your server all clients get their updates from your server. So if every player can only "see" only 20 other players and you only transfer the position in the world (3*float = 12bytes) that would be 240 bytes per update per player.
If you want smooth game play you will need at least 20 updates per sec.
240byte * 200 player * 20 updates per sec = 960 KB/s
So you need at least 1MByte/s upload speed. But that's extremly optimised and it's only the position (no rotation, no state, no actions). In the worst case if all players can be seen that would be 12*200*200*20 = 9.6 MByte/s
That's why all big MMOs use many servers to distribute the load. Instance-servers for a closed area. etc...
If you can manage it with the networking engine(RakNet) that comes with Unity i'm impressed :D
Anyways, good luck
answered Apr 13 '11 at 02:16 PM
Ok I try to remove the old dust on my older memory… make some research. Cool found something. Yesterday I was saying one of the first test on Runuo was 1000 user online but that was not the only one.
Later on the same test Ryan the creator I think was testing with ((Razor)) (acting like mater server) ((Runuo)) (acting like server) The test result was over 3000 user online.
answered Sep 26 '12 at 11:01 PM
Where is he going whit is number, when RunUo was starting it was tested with 1000 user online. I was testing the same server 10 or 15 year ago with a 300k connection 15 user online so you can obtain a 25 megabyte today so what is the problem.
If you're interested in following the development process of an MMO Server, I'm doing exactly that on a blog here
What you're asking is entirely possible, and you will have tons of people tell you that it's not possible. If you're trying to make the next big, realistic fps with thousand player battlefields, I would have to agree with them. However, if you're starting up a local MMO (growing in popularity these days with the number of online games coming out) it is not rocket science to hand roll a server that can support persistent world gameplay style and chat for a few hundred users on a local PC.
Winsock was tested about 10 years ago or more when Winsock 2.0 first came out with completion ports. One 1.4 ghz pc was able to support 50,000 connections with only 2 threads and 55-65% cpu utilization using less than half a gig of memory (pp.196 Jones, Ohlund 2002*) This was over a LAN so it was, of course, faster. However there's still enough to work with for our needs.
It will depend heavily on how your game is set up and how efficiently data is sent. For example a float or double position value that we often use with Vector3s can usually be truncated with no noticeable difference and may result in up to half the latency relevant to that one bit of communication. It might take a little bit of scale work to adjust your player sizes relative to 1 Unity unit as opposed to .1 or .01 that gives desired position accuracy and should still allow for a terrain at least 10,000 square units using a smaller data type like short. Anyway there are plenty of other unique ways to cut corners that, believe it or not, no one has thought of yet.
*Network Programming for Microsoft Windows 2nd ed.
answered Sep 26 '12 at 07:27 AM