{"id":76969,"date":"2020-09-28T11:00:54","date_gmt":"2020-09-28T08:00:54","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/how-to-build-your-multiplayer-games-server-architecture-cloudsavvy-it\/"},"modified":"2020-09-28T11:00:54","modified_gmt":"2020-09-28T08:00:54","slug":"how-to-build-your-multiplayer-games-server-architecture-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/how-to-build-your-multiplayer-games-server-architecture-cloudsavvy-it\/","title":{"rendered":"#How to Build Your Multiplayer Game\u2019s Server Architecture \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a3cc59360a4b\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a3cc59360a4b\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-build-your-multiplayer-games-server-architecture-cloudsavvy-it\/#Consider_Whether_You_Need_to_Run_Servers_At_All\" >Consider Whether You Need to Run Servers At All<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-build-your-multiplayer-games-server-architecture-cloudsavvy-it\/#Drawbacks_of_the_Listen_Server_Model\" >Drawbacks of the Listen Server Model<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-build-your-multiplayer-games-server-architecture-cloudsavvy-it\/#Dedicated_Servers_Really_Arent_That_Scary\" >Dedicated Servers Really Aren\u2019t That Scary<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-build-your-multiplayer-games-server-architecture-cloudsavvy-it\/#The_Cheapest_Option%E2%80%94Rent_a_Dedicated_Box_or_Two\" >The Cheapest Option\u2014Rent a Dedicated Box or Two<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-build-your-multiplayer-games-server-architecture-cloudsavvy-it\/#The_Scalable_Solution%E2%80%94AWS_GameLift\" >The Scalable Solution\u2014AWS GameLift<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-build-your-multiplayer-games-server-architecture-cloudsavvy-it\/#If_You_Like_Noise%E2%80%94Buy_Dont_Rent\" >If You Like Noise\u2014Buy, Don\u2019t Rent<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-build-your-multiplayer-games-server-architecture-cloudsavvy-it\/#Backend_Service_Options%E2%80%94Google_Firebase_RethinkDB\" >Backend Service Options\u2014Google Firebase, RethinkDB<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#How to Build Your Multiplayer <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/game\/\" data-internallinksmanager029f6b8e52c=\"7\" title=\"Game\" target=\"_blank\" rel=\"noopener\">Game<\/a>\u2019s Server Architecture \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<figure id=\"attachment_6951\" style=\"width: 700px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"imgchk9 wp-image-6951 size-full\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/524e921fd8b04570454812524f2a2513\/p\/uploads\/2019\/11\/3973a927.png\" alt=\"Multiplayer gaming\" width=\"700\" height=\"300\" data-crediturl=\"https:\/\/www.shutterstock.com\/image-photo\/gaming-game-play-tv-fun-gamer-537529714\" data-credittext=\"Shutterstock\/REDPIXEL.PL\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><figcaption class=\"wp-caption-text\"><span class=\"imagecredit\"><a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.shutterstock.com\/image-photo\/gaming-game-play-tv-fun-gamer-537529714\">Shutterstock\/REDPIXEL.PL<\/a><\/span><\/figcaption><\/figure>\n<p>One of the biggest problems indie game developers must solve when designing their game is deciding how the multiplayer is going to work. Do you have to run dedicated servers? Can you use peer-to-peer networking? Let\u2019s talk about it.<\/p>\n<p>This article focuses on the <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/general\/\" data-internallinksmanager029f6b8e52c=\"3\" title=\"General\" target=\"_blank\" rel=\"noopener\">general<\/a> infrastructure behind your game, rather than the exact details of how to get multiplayer networking working, as that will depend on your engine and how your game is programmed.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Consider_Whether_You_Need_to_Run_Servers_At_All\"><\/span>Consider Whether You Need to Run Servers At All<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Some games can manage without dedicated servers. If you\u2019re building a game that\u2019s mostly player-to-player interaction, without a ranked competitive system, you may not need servers at all.<\/p>\n<p>For example, Minecraft does this particularly well. You can play by yourself, on a local network, connect to servers hosted by other players, or host your own server. Of course, this does require a community backing and players interested in hosting their own servers in the first place, otherwise it\u2019s too much of a hassle to ask of your users. A hybrid system has worked for Rust; the developers run a few official servers, and the community runs their own on top of them.<\/p>\n<p>Besides having your community host servers, the simplest method of serverless architecture is the listen server model. With the help of an online subsystem like Steam, people can form their own lobbies, either by joining their friend\u2019s game, or finding and joining globally open sessions from other players on Steam.<\/p>\n<p>Usually, the person who created the lobby is the leader. They are selected as the server, and everyone connects to them. The lobby leader\u2019s computer becomes an ad hoc server, hosting the session for everyone in the lobby. This gets rid of the need to run servers entirely.<\/p>\n<p>If your game follows a more match-oriented gameplay, like a 5v5 shooter game, you mightwant a dedicated matchmaking server, designed solely to sort players into lobbies based on their stats (and not handle the actual gameplay). This would allow you to make the process of finding games automatic, and also implement your own matchmaking rules. You\u2019ll need a server like this anyway, even if you don\u2019t use a listen server model to run the games.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Drawbacks_of_the_Listen_Server_Model\"><\/span>Drawbacks of the Listen Server Model<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The listen server model is fantastic, and great for indie games that want to build multiplayer without having to pay for dedicated servers. But it\u2019s got two major drawbacks\u2014cheating and lag.<\/p>\n<p>The first is obvious. If you have 5v5 matches, even if you randomly select the server host, any given player stands a 10% chance of being chosen as the server. If they\u2019re the server, they have full control over the entire game, which makes the listen server model entirely unfeasible for a competitive game. Imagine Counter Strike, but every few matches you have someone in god mode on the enemy team, noclipping and killing everyone. Not fun for you or your players.<\/p>\n<p>This really can\u2019t be mitigated, but the effects of it depend on the type of game being played. Maybe your game is an online board game that\u2019s just played for the fun of it; there isn\u2019t much use to cheating during a game like that. With a decent report system, you can handle the few instances that do pop up, especially if your game isn\u2019t that big. This type of anomaly will be easy to detect, and it\u2019s unlikely that someone would go to the effort of developing cheats unless your game is big enough to afford dedicated servers anyway.<\/p>\n<p>The second drawback is a much bigger issue for smaller games. If the computer chosen as the listen server isn\u2019t that powerful or has a poor internet connection, the experience can be laggy. This can be mitigated with an external matchmaking server that chooses the best listen server out of the lobby, based on PC specifications and internet speed. This can\u2019t really be implemented with the stock Steam subsystem\u2014the person who started hosting the lobby will always be the lobby leader in that case.<\/p>\n<p>Either way, it\u2019s not uncommon at all for small games to use the listen-server model, as it\u2019s essentially free for the developer. And while it\u2019s expected of bigger games to have dedicated servers, they don\u2019t always\u2014<em>For Honor,<\/em> a AAA title from Ubisoft, <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/kotaku.com\/for-honors-dedicated-servers-make-a-big-difference-1823559981\">didn\u2019t have dedicated servers at launch<\/a>, much to their player\u2019s dismay.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Dedicated_Servers_Really_Arent_That_Scary\"><\/span>Dedicated Servers Really Aren\u2019t That Scary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"imgchk9 alignnone wp-image-5344 size-full\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/0b3f1e11415851f85e5cc4128beb2ffd\/p\/uploads\/2019\/10\/a3275aae.png\" alt=\"Server\" width=\"700\" height=\"300\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>While spending a monthly fee as an indie developer to upkeep your game sounds taxing, it may not be as bad as you think. Say your game runs 5v5 matches. How many matches do you expect to be running at one time? If you\u2019ve got 100 active players, that\u2019s only 10 matches.<\/p>\n<p>If you\u2019re game\u2019s not too intensive, it can likely run off of a single thread. A quad core server with hyperthreading could theoretically run 8 simultaneous game sessions. You\u2019ll definitely want to do testing to verify how many sessions a given server can support, so you can get a feel for how much power you\u2019ll need.<\/p>\n<p>And if you\u2019ve got 100 active players, you\u2019re already doing something right, because you\u2019ll have orders of magnitude, more people who have bought the game but aren\u2019t playing it 24\/7. For example, Rust has sold <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/steamspy.com\/app\/252490\">over 5 million copies<\/a>, but only sees around 50,000 people active at any one time\u2014100x more sales than daily active players.<\/p>\n<p>So, with 5v5 matches, and 100 active players, you\u2019ll need a server capable of supporting 10 matches. Maybe you find that a six core server with 64 GB of RAM can easily run all your matches. You can find a dedicated server with those specs for <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.soyoustart.com\/us\/essential-servers\/\">around $80 a month<\/a>. If you have 100 active players on average, you\u2019ve definitely sold at least a few thousand copies, so you\u2019ll certainly have the money to spare on giving your players a good experience.<\/p>\n<p>If you don\u2019t have that many players, you can probably run everything off a much small server, which brings your costs down significantly. If your game really takes off to the point where you start seeing your margins decrease, you can always look into alternative monetization options; cosmetics (like weapon and player skins) are a common choice; they give dedicated players something to spend money on, which gives you consistent monthly revenue to help offset the cost of the servers.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"The_Cheapest_Option%E2%80%94Rent_a_Dedicated_Box_or_Two\"><\/span>The Cheapest Option\u2014Rent a Dedicated Box or Two<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>With virtual servers, memory comes at a premium. If you compare the prices of AWS or Google Cloud Platform to the price of renting a dedicated box from a smaller company, you\u2019ll find you\u2019re being charged way more for the same amount of memory on AWS. This is a problem, especially for games, as memory is often the limiting factor for a server being able to run more sessions.<\/p>\n<p>A \u201cdedicated box\u201d simply means you\u2019re renting the actual hardware itself. You rent a whole rack out of a datacenter, which means you don\u2019t have to deal with virtualization overhead either.<\/p>\n<p>This sounds more expensive, but often, it\u2019s actually much cheaper. If you don\u2019t need top-of-the-line servers, you can rent older hardware for huge discounts. After all, old hardware used to be top of the line; when huge VPS providers like AWS upgrade to newer servers, they often sell off some of their older hardware. (You can actually buy them yourself off Ebay, more on that below.) Really, an older server may only be 10% or so less performant than a new server, but when it\u2019s half the price, it\u2019s a great deal.<\/p>\n<p><a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"http:\/\/redirect.viglink.com?u=https%3A%2F%2Fwww.ovh.com%2Fworld%2Fdedicated-servers%2F&amp;key=204a528a336ede4177fff0d84a044482\">OVH<\/a> is a good place to find fairly cheap dedicated servers. Their sister company, <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.soyoustart.com\/us\/essential-servers\/\">SoYouStart<\/a>, sells their older hardware, which you can find for very low prices.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"The_Scalable_Solution%E2%80%94AWS_GameLift\"><\/span>The Scalable Solution\u2014AWS GameLift<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2405\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/8dc49500f723c7aa817cd991d80b62be\/p\/uploads\/2019\/10\/9ca9de2d.png\" alt=\"GameLift Header Image\" width=\"700\" height=\"300\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>While AWS is more expensive, it does come with some great benefits. AWS GameLift is a service that makes running game servers on AWS\u2019s EC2 compute platform much easier.<\/p>\n<p>GameLift is basically a fancy version of EC2 autoscaling. It will automatically spin up new instances when demand gets high, or terminate instances once they\u2019re not needed, such as overnight when people aren\u2019t playing. It\u2019s practically the perfect use case for autoscaling; from the GameLift console, you can define the type of instance you want to use to scale with, and how many game sessions that server can handle.<\/p>\n<p>This helps offset costs significantly when, compared to dedicated servers, and when combined with EC2 Spot Instances, can make running on AWS a viable option for a fairly popular game. The cost per hour is higher (AWS is expensive), but you spend far less time actually running servers, as your architecture will scale to meet demand exactly.<\/p>\n<p>GameLift even includes a basic matchmaking system, which gets rid of the need to run a seperate matchmaking server. Players join a queue, and the GameLift matchmaking sorts them into sessions based on rules you define. If a new server is needed, one will be spun up.<\/p>\n<p>For small games that don\u2019t need more than one server, AWS GameLift is a bit overkill, but if you\u2019d still like to be on the AWS platform, you can reserve EC2 instances with a one year contract for about 40% cheaper than On-Demand. However, this still doesn\u2019t get anywhere close to the bang-for-your-buck that a cheap dedicated server will get you at other companies, so only spring for a reserved instance if you really love AWS.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"If_You_Like_Noise%E2%80%94Buy_Dont_Rent\"><\/span>If You Like Noise\u2014Buy, Don\u2019t Rent<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>There\u2019s a reason old dedicated servers are so cheap: Data centers sell their old hardware on Ebay all the time, often for massive discounts. In the server world, the <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/blog.codinghorror.com\/when-hardware-is-free-power-is-expensive\/\">hardware itself is a trivial cost<\/a>. The main money sink is the massive power bill associated with running the server, and the cooling required to chill the thing to a reasonable operating temperature.<\/p>\n<p>If you were to go out and rent a dedicated server from SYS, you\u2019d be paying about $84 a month for a 6 core Haswell (2014) Xeon with 64 GB of RAM and a few TB of storage space. This is already an\u00a0<em>extremely<\/em> good deal for a server of that size. Compared to AWS\u2019s\u00a0r5.2xlarge with 8 cores and 64 GB of RAM (the RAM is what\u2019s important here), you\u2019d be paying over $250 per month even with a year long contract, not to mention the extra $50-$100 or so for a comparable EBS volume.<\/p>\n<p>So with the SYS server being such a good deal, how much do you think it would cost to buy a comparable one of Ebay? The SYS server costs over $1,000 per year, so around $500-$700 or so might be a good estimate, especially considering the Xeon processor alone sold for over $600 retail, not to mention the cost of the RAM, drives, and assorted components.<\/p>\n<p>Nope. Here\u2019s a listing off Ebay for a rack with the same specs for $70 with free shipping:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2591\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/5bd0a52786d7dfed45533e1696651cff\/p\/uploads\/2019\/10\/8f303a61.png\" alt=\"Very good server for only $70 on ebay\" width=\"700\" height=\"236\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>You might be hopping at the opportunity to buy this up, but there are a few things to consider first.<\/p>\n<p>First of all, you don\u2019t want to put this thing in your bedroom. Servers are\u00a0<em>loud.<\/em> They\u2019re meant to go in a datacenter, and computers don\u2019t have ears. You might be able to get away with putting it in your basement, but don\u2019t expect to leave this in your bedroom closet, especially a 1U server, which have tiny 40mm fans that have to spin a billion times per second just to cool the thing.<\/p>\n<p>And while the hardware is cheap, the power isn\u2019t. A server like this will draw 100-200 watts while idling, and can peak over 500 watts, with some core-heavy servers being able to draw a whole kilowatt of power when fully loaded. If you\u2019re not experiencing insane load though, you likely won\u2019t pay too much for power, but expect your bill to go up by $10-15 per server.<\/p>\n<p>And lastly, there\u2019s the question of whether or not you can even run the servers from your home. Most home internet plans are not well equipped to do so. Not only is it usually against the ToS, but you won\u2019t have a static IP address, making networking very difficult. You will want to look into the business plans that your ISP offers if you\u2019re seriously considering buying your own server.<\/p>\n<p>If you do want to buy your own server, you should check out <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.labgopher.com\/\">LabGopher<\/a>, an aggregation service for finding used servers will allow you to browse Ebay listings more effectively.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"imgchk9 alignnone wp-image-2594 size-full\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/7042cc78917d7cea09e7220367d5587e\/p\/uploads\/2019\/10\/c0d7bda4.png\" alt=\"LabGopher's comparison menu\" width=\"700\" height=\"383\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Usually, you can find really great servers for less than $500 or so. The server in the comparison above is an exceptional deal, but isn\u2019t entirely rare.<\/p>\n<p>You don\u2019t have to host them from home though. There are providers who specialize in hosting other people\u2019s hardware, called <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.rackspace.com\/en-us\/library\/what-is-colocation\">colocation services<\/a>, which will hook up your server in their data center, complete with power and networking. This is an extreme option and a fairly serious commitment, but it can make sense in certain situations.<\/p>\n<p>Colocating a single 2U server will cost you a little over $100 per month. If that server is very powerful, that cost can be much lower than what you\u2019d pay renting a dedicated server of the same caliber. Keep in mind, though, that many colocation services will charge based on power usage, so you\u2019ll want to do your research first before colocating.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Backend_Service_Options%E2%80%94Google_Firebase_RethinkDB\"><\/span>Backend Service Options\u2014Google Firebase, RethinkDB<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"imgchk9 alignnone wp-image-2595 size-full\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/45ad344e9fc637cba3d036df331a34e5\/p\/uploads\/2019\/10\/42c37369.png\" alt=\"Google Firebase\" width=\"700\" height=\"300\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>This last option is for a special-use case. If your game only really needs a simple backend, you might be interested in a rea-ltime database. Real-time databases update instantly, and push updates to subscribed users over websockets. They\u2019re commonly used to build <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">app<\/a>s like Google Docs, where the real- time communication of information is key. This option works particularly well for mobile games, where ultra-low latency, fast action, and complicated processing aren\u2019t really required.<\/p>\n<p><a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/firebase.google.com\/\">Firebase<\/a> is a managed service from Google. It started as just a real-time database, but has since evolved to be a whole platform for the backend of mobile apps. There\u2019s a free tier, a $25 tier which should be enough for most smaller apps, and a pay-as-you-go plan that charges based on usage.<\/p>\n<p><a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/rethinkdb.com\/\">RethinkDB<\/a> is an open-source database built with real time in mind. You\u2019ll have to run it on your own server, but the processing power RethinkDB, plus a cheap dedicated server, should prove to be more than enough backend for most things, unless your application experiences a lot of traffic.\n<\/div>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener noreferrer\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/2586\/how-to-build-your-multiplayer-games-server-architecture\/\" target=\"_blank\" rel=\"noopener noreferrer\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#How to Build Your Multiplayer Game\u2019s Server Architecture \u2013 CloudSavvy IT&#8221; Shutterstock\/REDPIXEL.PL One of the biggest problems indie game developers must solve when designing their game is deciding how the multiplayer is going to work. Do you have to run dedicated servers? Can you use peer-to-peer networking? Let\u2019s talk about it. This article focuses on&#8230;<\/p>\n","protected":false},"author":1,"featured_media":76970,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2019\/11\/3973a927.png","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-76969","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/76969","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=76969"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/76969\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/76970"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=76969"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=76969"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=76969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}