Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Unity Multiplayer / Unet: Features

Discussion in 'UNet' started by Natrem, Jun 25, 2015.

  1. Natrem

    Natrem

    Joined:
    Feb 24, 2015
    Posts:
    31
    Hi!

    UNet (is the official name "Unity Multiplayer"?) has been released recently (https://unity3d.com/services/multiplayer) so there isn't much information about it. It looks promising so I'd like to know more about what's included, what will work in the future and what isn't planned.

    1. Matchmaking: What platforms are currently supported by the Matchmaker Server Services?

    2. Cross platform: "Unity Multiplayer is designed to be fully cross platform compatible", but will different platforms be able to communicate with each other? If UNet won't handle that, would it be possible to do it ourselves and how much work would that represent?

    3. Will a Unity Servers-side professional "Master Server" (like the old one in RakNet but with pro guarantees) be available?

    4. "Little or no customization is necessary" to use Unity Multiplayer on several platforms. What kind of customization are we talking about here?
    Thank you if you have answers to some of these questions.
     
    Last edited: Jun 25, 2015
  2. Natrem

    Natrem

    Joined:
    Feb 24, 2015
    Posts:
    31
    Up.

    For the 2. I read that some editors tried it in the past (successful for 1 console and PC/Mac/Linux but never between different consoles), maybe since Unity has the same API for all platforms it will be possible (through their own matchmaking servers) ?
     
  3. Natrem

    Natrem

    Joined:
    Feb 24, 2015
    Posts:
    31
    Does anybody in Unity staff have some answers to these? 1. and 2. are quite important to me, and I can't find useful information about it. Did I search wrong or is it really missing?
    Am I the only one interested by this by the way? I could use Photon or Forge, both look promising but Unity Multiplayer integration could be a real advantage, so having more details would be great to make a choice soon.
     
  4. ygt

    ygt

    Joined:
    Sep 18, 2014
    Posts:
    1
    here for answers..
     
  5. Natrem

    Natrem

    Joined:
    Feb 24, 2015
    Posts:
    31
    Well it seems that nobody really knows. Would it be possible to have at least a list of the currently supported platforms for the LLAPI (Transport Layer)? And if they can communicate with each other?
     
  6. Necromantic

    Necromantic

    Joined:
    Feb 11, 2013
    Posts:
    116
    1. I've had problems with the WebPlayer with Matchmaking due to the usual security stuff.
    2. I believe it is supposed to be cross-platform, haven't tried it though.
    3. Authoritative Master Servers were announced to come in a later phase of the Network System implementation.
     
  7. Natrem

    Natrem

    Joined:
    Feb 24, 2015
    Posts:
    31
    Thank you!
    I guess we won't have more details than that, so I think that I'll just develop my own networking framework on top of the Transport Layer, hoping that this LLAPI will work on all platforms (including consoles).
    Forge seems really good too but they don't support (yet or never?) console platforms.
     
  8. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,062
    @Natrem: If you require console support, you might consider PUN.
    If you ruled it out for some reason, let me know.
     
  9. Natrem

    Natrem

    Joined:
    Feb 24, 2015
    Posts:
    31
    I didn't know that PUN supported consoles, I only looked on the Asset Store page and it wasn't advertized so I assumed something wrong.
    Thank you for that information, it could make me change my mind and consider Photon.
    Does PUN support connection between different console platforms, through a Linux server by example? Is there any game that did that successfully (gather PS4 and Xbox players in a single game room by example)?
    What I need for my project is a network layer that provides really reliable generic connection from any platform to my server platform. The matchmaking part is a real plus, I'm glad that PUN provides that for all platforms.
    What I like in the Unity Transport Layer is that it's built-in, no plug-in needed or anything. I also appreciate the simplicity, I only need to connect and send some byte[]. What it lacks is the reliability (lot of bugs apparently), the technical service (missing even in this post), and the matchmaking part. But doing my own matchmaker will be cheaper anyway.
    What I like in PUN is the reliability, the supported platforms and the services included. But it's not cheap, and I don't want to add a heavy plug-in to my project, just to send some byte arrays and group people.

    So I still have to decide.
     
  10. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,062
    Owch! I didn't think of PUN as a heavy plugin! ;)

    Actually, if you like it lean and mean, you could also check out our LoadBalancing API from the "regular" Photon Unity SDK. It has no RPC and components but it's flexible and you can send your own byte[] easily. It has the same reliability, matchmaking and cross platform support.

    Cross platform on consoles is a topic of licenses and Terms of Services for PS4 and XBox One. Technically, both platforms can communicate just fine with Photon but you will have to check both ToS under which conditions you can have cross platform play. Technically: No problem.

    Yes, our service costs money. On the other hand, you don't need to host anything. You don't even have to enter a server address, if you use the Photon Cloud. And it's not like we run a single server in some backyard shack. There are servers in 5 regions live now and more coming.

    The servers run on Windows but as we optimized things, it makes up a slightly higher rental price with more connections per machine.
     
  11. Natrem

    Natrem

    Joined:
    Feb 24, 2015
    Posts:
    31
    Thanks for this information!
    For the communication between consoles, I already saw that ToS was the main obstacle. Having the confirmation that there is no theoretical technical issue is great.
    I was unsure about what is included in your plans. I deduced from your answer that everything (Cloud, Matchmaking) is included, even with PUN Free?
    Also, with what technology/language must be developed our servers if we want them in the cloud? Our goal is to reduce development hassle by running our servers in Unity instances.
    We need fully authoritative servers, and I saw we need Photon Enterprise Cloud to do that? I guess the pricing is not the same in that case?
     
    Last edited: Jul 6, 2015
  12. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    Wait... I was under the impression that UNET's big thing was cross-platform multiplayer. Xbox players could connect to Playstation 4 and PC and Mobile and Mac- all systems all playing together.

    I thought this was already stated and the big selling point. Was I mistaken? Is this only speculation and not absolute? Did I just dream this or just misinterpret the meaning of "cross-platform multiplayer"?

    If this is not going to be supported or won't be supported until "a lot later" then wtf should we even use Unet? Especially when it seems to be "released" broken (as if it's Early Access or only Alpha, despite it being their "release" version which passed Beta) alongside horrible documentation and barely-existent example projects (which don't even work).
     
    Last edited: Jul 6, 2015
  13. Natrem

    Natrem

    Joined:
    Feb 24, 2015
    Posts:
    31
    That's why I created this post, I believed the same thing and wanted to be sure but nobody in Unity staff seem to care.
    So either I continue with the LLAPI, hoping that it's low level enough to be bug-free, or I switch with a professional solution like Photon. Forge seems nice but needs a stronger history to be an option.
     
    CarterG81 likes this.
  14. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    Looking at all the different solutions, Forge sure is getting a lot of praise. Right now I'm thinking of just giving up on UNET. Especially after seeing new posts starting to pour in dealing with the exact same nonsense I've been dealing with. (UNET just plain doesn't seem to be working for anyone.)

    From Forge's developer

    and even better

    I am thinking of purchasing it within the next hour. UNET is beyond disappointing. I am quite infuriated that Unity would degrade themselves by saying this is their "Release". Saying that a broken system that has components that don't even work with rancid documentation is their "Release"? It makes them look awful. If that's their release, wtf was their beta or alpha?

    IMO, it's very deceptive to call the current UNET "released". It is as released as most of the early access games on Steam. It's bad enough our games are basically released with the developer being free of any criticism because of a defense "It's early access!" Now our software to develop games is also in this same way? Throw it out to the masses ASAP alongside the idea of quality or a trustworthy company name.

    I for one believe in quality. If it's not ready, don't release it. If it's still a beta, don't call it released. If you don't have anyone to write high quality documentation, don't you dare release it. Be known as a Valve/Blizzard and release it when it's done even if it takes longer to finish. Let people see the label of "Unity" and think "Hey, that'll be high quality and easy to learn!" Right now people see the label of Unity and think "Oh geez...not another Unity game..." or "New Feature? Nah, I should probably wait a few months for them to iron out the bugs. Then I will try it." The former is a problem we as gamedevs have to face. The latter is a problem with Unity itself. So we get the worst of both worlds.
     
  15. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,062
    @Natrem: If you need authoritative in-Unity hosted games, then PUN is not your solution, sorry. I missed that requirement.
    Photon (the server) is a dedicated process on a Windows machine. It's logic is written in C# and very extensible, but it doesn't run Unity's physics and doesn't have the scenes available.

    Aside from that, PUN Free is a very client driven workflow with matchmaking, in-room communication, optional integration of an authentication service, other external services (like PlayFab for accounts, user inventory, leaderboards, etc) and the option to use the Photon Cloud for checking things out. It's without obligation and costs.

    Check out some games done with Photon.

    @CarterG81: It seems you just repeat your initial mistake and simply believe the advertising for a product. You should try out stuff, experiment with it and get to know it. The developer of some middleware is maybe a bit biased towards their own product.
    You quote Forge. Other posts in Forge related threads were along the lines of "where is everyone from the Forge team?" when they didn't reply to anything for a few weeks.

    If documentation is good or bad does not depend exclusively on the one who writes it. We had both kinds of feedback on our docs, good and bad. Sometimes things just dont get across or are missed.
     
    Last edited: Jul 7, 2015
  16. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,062
    I forgot: Technically, cross platform communication is not an issue usually. Even for consoles. Unet will do it just fine, too. However, you need to cover all the ToS and requirements of the platform holders. This is usually up to the developer, sadly. I doubt that any middleware can solve this (including Unet).
     
    CarterG81 likes this.
  17. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    I am actually extremely skeptical of all advertising. I don't "simply believe". I research quite extensively and question everything.

    However when you see a lot of people with identical complaints about UNET leave UNET for Forge, and no longer have those complaints? That isn't advertising from Forge. That is reality telling you "Looks like people similar to you are much more satisfied with Forge."

    Their videos also indicate it actually works. As silly as it is to say: UNET doesn't have such videos. In fact, even the sample projects stickied (from what appears to NOT be a unity employee) are broken. Unity doesn't seem to care to support this with any community involvement, or even the proper quality assurance required for any release.

    Are you promoting piracy? The majority of things I've purchased from the asset store have no free trial. It's a leap of faith with few options.

    Otherwise, I'm confused. Forge really seems to be the best option based on my research, since I want something "easy" like UNET. I liked UNET, but after I decided to "try out stuff, experiment with it and get to know it" I found myself wasting 24+ hours - over a full work week for me (a part time gamedev, 20 hour workweeks). What did I gain? Absolutely nothing but the knowledge that UNET is still very much in beta, if not alpha.

    So the whole "try out stuff" is the worst advice you could have given me about UNET. Or anything. I'm not going to spend a full month "trying out" third party networking assets. I have a deadline I am trying to meet.

    I think you are confusing Forge with Bolt. Bolt disappeared for a month to merge with Photon.

    Forge is incredibly active.

    Not to purposefully defend them or anything, but I looked into this. They are very involved and active, and their thread says quite the opposite. People praise them for their quick answers and community involvement.

    I myself have already experienced quicker responses and better assistance than even the other great asset developers. Heck, after purchase they directly asked me that if I needed any tutorial to do anything with Forge, they will write the tutorial for me. That's about as good as you can get.

    I have plenty experience reading documentation, both good and bad. I don't know anything about Photon other than its good track record (it's been around and successfully used a lot). At this point, anything is better than a broken UNET.


    Thanks though. It's always nice when people think of you as some naive individual who buys into everything businessmen tell you, simply because you paste a quote that you believe seems legitimate.
    After all, if I never believed the commercial , I never would have bought a case and thus met my wife who I found in my backyard.

    Truthfully though, I've yet to make a mistake purchasing from the asset store when my instincts tell me "These guys have it together." or "This is what you want." In fact, the asset store is why I use Unity. Otherwise, IMO it's worthless. I am very optimistic about Forge, even despite my overall skeptical outlook on life. I trust my instincts.
     
    Last edited: Jul 7, 2015
  18. Natrem

    Natrem

    Joined:
    Feb 24, 2015
    Posts:
    31
    Right now we're still using the physics engine of Unity in both client and server, but we planned to replace it with our own simplified solution in the future. So a C# server without Unity would be possible; I may be concerned with the connection to Steam and this kind of framework in the server side (to check user's profile etc.).

    About Forge, I don't understand why they wrote "With Forge Networking, you can host servers at no CCU/DAU cost.". So we still have to host our own servers, and then pay for them, right? What's the difference with paying something related to CCU? Their framework is so optimized that you need only one server? They provide only the code (and their Arbiter Server) or am I wrong?

    Also I'd like to know the advantages of the UNET Transport Layer over plain .NET sockets. I understood that Forge uses C# sockets, so if I just want to send bytes I have no interest of using their framework over directly C# sockets. But what technologies are using the LLAPI and Photon?
    I guess you can't send C# sockets to console platforms, that's my main concern. You need an interface for each of them right?
     
  19. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    From what I understand, you handle everything yourself with no CCU limit. I assume this is because other systems have CCU limits and charge based on it. Thus they are more expensive.

    So Forge is, in the end, a lot cheaper. (I am skeptical that paying someone else with CCU limits would be in any way cheaper than hosting it yourself with no limit or additional cost.)

    CineTek explained some of it to me,

    I'm not entirely sure, since I've heard different things from different people and no one seems to know much about UNET, but here's what I've gathered.

    With Unity, it seems that if you use HLAPI you will end up paying, and there's the global CCU limit. (It seemed that way to me anyway. I am probably wrong.) I don't think this extends if you use the LLAPI and do it yourself, but I could be wrong. (It seemed almost purposefully confusing, like Unity wants people to be confused so they end up locked in to paying for a service they thought would be free / optional. I could be wrong though. I was just surprised when I found out some of the stuff was going to cost, and probably cost a lot since 100 global CCU is very low for many games.) I just thought the HLAPI was a big selling point for people who use Unity, but then to basically charge for it because if services that require the LLAPI to circumvent is confusing.

    With Photon, there's the CCU limit of some kind, but I have no idea about it or what it extends to.

    It's all a bit confusing to be honest, especially when you don't know all that much about the whole CCU / Business side of this stuff.

    I prefer to pay no one but my own hosting provider though, if it comes down to choosing who to pay. Paying someone else who charges per CCU just sounds like a waste of money for something as small as a masterserver to handle some matchmaking.
     
    Last edited: Jul 7, 2015
  20. Natrem

    Natrem

    Joined:
    Feb 24, 2015
    Posts:
    31
    Thanks for taking the time to answer.
    Do you have numbers to prove that? I have the same feeling but it would be nice to have some comparison between the price of renting a dedicated server to host your matchmaker and using more ready solutions. By example I see that first prices are about 100 USD/month to rent a dedicated server; how many CCU do you support with that? With Photon one-time fee (95 USD), it seems cheaper (100 CCU).
     
  21. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    @CarterG81
    Hi there! What you fail to realize @tobiass is to read on from that and realize we have lives in which people were getting married and many other events were going on. If you continue to read, we came back, have nothing but praise from developers on our platform because 1) we care 2) we release rapid updates and 3) we document. It is lovely that you kept tabs on our thread though :)

    Beautifully said by a developer of a middleware :). We ask everyone to please, try out Forge Networking, join our community, ask developers on our platform their thoughts. We are proud of not just our system, but our support, documentation and our great community :).

    @Natrem
    We have this out of the box in Forge Networking

    Same here on Forge, except that we are fully open source, we DO run Unity's physics, we DO have scenes available, and we run dedicated processes on Windows, Mac, Linux. Only difference other than those listed is that we do NOT charge CCU or have any CCU limitations.

    If something doesn't get across or is missed on our docs, we fix it, we add more docs to fit what people ask about. We don't just say "oh well, they didn't get it".

    These and many other reasons are why so many of our developers leave Photon, PUN, Bolt, and UNET to work with Forge Networking. We care about every developers feedback and do our best to cater tools specifically to their games and requests. On top of that we use Forge Networking for our own games, so we have a piece in the functionality pie here.

    Further reading,
    Forge Networking: http://forum.unity3d.com/threads/ne...ing-superpowered-fully-cross-platform.286900/
     
    Last edited: Jul 8, 2015
    CarterG81 likes this.
  22. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    You can get a host for $16/mo and even less than that. Whoever quoted you $100 is crazy. There are a million reasons why CCU is bad, you will NEVER pay more by hosting your own when it comes to no limitations. When you host your own on top of that you get blazing fast network access to databases since they are on the same server and you are just using localhost as your host :). Using something like Playfab has latency and round trip costs that can really kill a game depending on the design.

    We also will be having full tutorial series on how to host with Amazon and Rackspace, performance improvements, cron jobs and more. The power, speed, and cost of self hosting is unparallelled by any other service. The only thing better than going through EC2 or Rackspace is to host your own server farm, but lets leave that for when you guys are making your millions :D

    Edit: I am currently hosting 4 servers for games, websites, and other forms of communication right now and it is costing me less than $50/mo and our database access is instant :)
     
    Last edited: Jul 8, 2015
    CarterG81 likes this.
  23. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    No, just the general theory that they are making money by doing it that way. If that is what their business is about- then A LOT of money. That means the actual cost is petty in comparison. At least in theory. (Otherwise, they'd go bankrupt or stop the service.)

    So unless they get some kind of bulk deal (which they very well might) I find it hard to believe. Also, there are a LOT of options- including free ones. (I'm not sure how "Free" those free options are, or how fast/slow they are, but it's interesting none-the-less.) I'm sure there are worse deals and better deals, just because there are A LOT of choices.

    Why would you need a dedicated server? Is your matchmaker running dwarf-fortress level logic and sending WoW-zone amounts of bandwidth across the network?

    I have no idea what a matchmaker is (haven't looked into it yet) but just in theory I can't imagine that requiring much power at all. You aren't hosting the actual games on a matchmaker, are you?

    There's a lot of websites that charge around that or more to rent a dedicated server. However, who needs a dedicated server? I've run many game servers on non-dedicated servers, and they ran flawlessly with amazing performance. In fact, I had a Left4Dead server for over a year where I only paid like $8/month to run. I had pings of <10ms and 100% uptime. All that combined with incredible service and customer support (which costs them money). And after all that- they still profited a lot from me so the actual cost was probably a lot less than $8/month.

    There are some great deals and great companies. When all you need is a matchmaking server, "No CCU Limit" sounds like an amazing deal. (I can't imagine that a matchmaking server uses more bandwidth/resources than a full game server running with full client load 24/7. So perhaps even cheaper than $8/month is plausible.)

    I'd be interested in seeing how many CCU's 100 is. Also what happens to your game during primetime (when there is an influx of over 100 people trying to match all at once?) And do all concurrent servers consume a CCU / per population? Then even a small game, maybe 100 is insignificant. Is 100 more than we'd ever need or petty numbers even for a barely-successful game?

    If 100 turns out to be very little, I can see it starting to cost a lot. If 100 turns out to be a lot, then maybe it's a lot better deal than I think.

    But really I very much dislike the idea of paying to raise an imaginary cap. What does a CCU cap have to do with real bandwidth usage? At least with self-hosted no-limit stuff, you pay for what you use, not some imaginary limit imposed by people wanting to profit off of your reliance on them over their competition- all because the competition requires a miniscule amount of extra work (or none at all).
     
    Last edited: Jul 8, 2015
  24. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,062
    @CarterG81: Just to be clear: I didn't mean to offend you, nor did I expect you to be naive. If that came across, I'm sorry.

    Of course I don't promote piracy. That would be hilarious :)
    I was thinking along the lines of a trial period. You don't have to spend months on that but you should be sufficiently sure about the solution. Meeting the deadlines is not the end of your work if the game breaks under real life conditions.

    About costs: If the server you rent only does the matchmaking, then you're definitely right.
    If you do a mobile game, you might need a relay (there is probably a reason why Unet does it) and that equals traffic and that is expensive. Alternatively you need to run the host on your server(s) and manage them.

    Anyways. I am biased and so is my experience with those things. ;)
     
  25. Natrem

    Natrem

    Joined:
    Feb 24, 2015
    Posts:
    31
    Thank you everybody for all your points of view :)
    I wish UNET staff would have come and share theirs. I think I'll stick with my LLAPI for now, since it does what I need (send bytes) and I hope the cross-platform and reliability part will be there in the near future as promised. If it doesn't work it should be easy enough to switch to another solution.
    @farrisarts , do you think you'll increase the price of Forge Networking in the future or it will be around $65 forever?
     
  26. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    No problem! :) Feel free to send me a message or email if you have any questions in general (it doesn't have to be about Forge).

    The price of Forge is projected to increase as features are added just to continue funding development and support the large feature set :). It probably will increase over time rather than making some big price jumps though.
     
    CarterG81 likes this.
  27. PlayFabJames

    PlayFabJames

    Joined:
    Sep 25, 2014
    Posts:
    15
    I saw PlayFab mentioned in this thread, so I just wanted to weigh in. Any live multiplayer game is going to have two parts -- the multiplayer game servers, which typically need to be out "at the edges" close to where your customers are for minimal latency. And then all the other shared services, like authentication, match making, profile management, in-game messaging, leaderboards, item trading, etc. These services typically are much less latency sensitive, and so it makes sense to keep all these services consolidated in a single data center for efficiency and consistency reasons.

    PlayFab provides all those other shared services -- we don't provide the multiplayer services ourselves, though we have partnered with Photon to make it easier for developers who want to use Photon with PlayFab. You could also use Forge, or Unreal, or UNET, or any other networking solution with PlayFab as well.

    In fact, we have two different SDK's -- one for the game client, and one for game servers. You can see our Server-to-server API here: https://api.playfab.com/Documentation/Server.

    As a convenience for developers who want to build their own game servers, but don't want to bother hosting it themselves or hiring a full-time server-ops or DevOps person to keep it running, deal with pager alerts at 5AM, etc, we do as an optional service provide server hosting. You can upload your game server build, choose which geographic regions you want to turn on, and we'll spin up servers for you, monitor them, and make sure everything runs smoothly. It's just a wrapper on top of Amazon EC2 (though we also work with SoftLayer for larger developers).

    I've seen some of the prices thrown around in this post, and I can tell you that you get what you pay for. A typical multiplayer game server that we provision for a customer, with lots of RAM and multiple cores, typically costs $250/month. An EC2 medium instance typically costs as much as $500/month (though that assumes it's up the whole time which it probably won't be). How many concurrent users a given server can handle is entirely a function of your game design and the quality of your server code -- the only way to know for sure is to do a lot of testing.

    For anyone who's curious, here's a link to a presentation we gave at the Amazon AWS Loft in SF (http://www.slideshare.net/gwertzman/aws-loft-gwertzman) -- it includes a simplified network diagram for the PlayFab architecture -- a lot of thought goes into availability and reliability. We have redundant servers in multiple availability zones, we keep hot-spares running at all times for key services like matchmakers, everything is set up to auto scale, we track hundreds of real-time monitors with alarms set on everything, and so on.

    Happy to answer questions anytime about what it takes to actually run a live multiplayer game with millions of players.
     
  28. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    I know this is a necro, but I am still fascinated by these two sentences & the consistent arguments made by many developers (who argue that self-hosting is a horrible idea).

    I have always been & still am very interested in these two sentences of yours. Are there any links in your favorites tab that can help explain some of the reasons why CCU is bad or showing examples of why it is so much better to self-host?

    I ask because from my knowledge, these two sentences are very true. However, it would be nice to be able to point others to articles that show some argument or evidence to help them come to the same realization. (My own arguments just don't seem to cut it since I'm not a seasoned networking professional). I am also very unaware of what to tell other developer's when they constantly argue that these other hosting companies (like Unity or Photon Cloud) charge extra in exchange for "being there for you when things go wrong." (paraphrase). Is that even true? I don't get what they do for you that is any different than what AmazonEC2/Rackspace would do.

    I know you're too busy with Forge to explain these things, but it would be awesome if you had any quick links or could suggest specific google terms I could use to do my own research. (Although it would be nice bonus for potential forge users to know more details about WHY Forge's no-CCU is so fantastic. Or information to reassure developers that self-hosting with Forge won't be a nightmare like so many people claim it will be.)

    Every few months, I get lectured from other developers (other sites) about the dangers of self-hosting & why I'm an idiot to self-host rather than "pay extra for that safety net", and I'd like to know a bit more so I can defend the self-hosting stance a bit better. I just don't get why they view it to be so bad to use Amazon/Rackspace. Being self-taught (not-so-professional), it's hard to convince others even if I show them the math because they argue about "hidden costs"; often similar to that above link. And I just don't understand enough details to dispute their claims very well.
     
  29. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Thanks! :). Being someone who has worked at one of the largest casual online/multiplayer gaming companies in the world, I can tell you the order of operations from lowest to highest in their mind. Remember it is a bit biased because in large companies, it is all about control.

    3rd Party game hosting services are an introduction to getting your games networked. However the drawback is that they limit, cap and block at every corner. The reason for this is because they practice shared hosting. This is when you are not the only one on a machine, but share it with other game developers or even your own game servers (which would be nice if it were likely). The reason they provide this service is because the costs for them are low and they can throttle your network to save on their own cost. A friend of mine worked in a particular system that I will not name that actually BLOCKED their network requests because they were "making too many requests". These 3rd parties CAN do this (read the fine print) and they can throttle you because you are over-using what is covered by their cost + your payment. This is exactly the same practice as companies like T-Mobile. Sure you can use 5GB of data, but when you do, they are dropping you down to 2g Edge (internet from the early 2000's). The great benefit to these systems are often VERY easy to get into with little setup.

    Cloud hosting services is one step closer to raw power and complete freedom. The only limitations here are that sometimes (depending on your cloud provider) you will need to request them to make sure that your game servers or your databases are in a specific zone that is optimal for your servers. This system is going to be less costly when you are first starting out and gives you complete freedom. Amazon EC2 in fact gives you a FREE tier for a complete year. This is more than enough to test your project and develop it. Some servers are as low as $13/$14 a month (check Azure) and even cheaper on EC2. Not to mention you have the power of selecting your operating system, version, ram, hard drive space, installing MySQL or a NoSQL database, and much more on ONE Virtual Machine (instance). That's right, you can run a game server, chat server, MySQL server, and a website all on 1 box that costs you $13 a month. Now this freedom sounds great, however it becomes costly when you get to MEGA scale. The company I worked at spent millions of dollars to move AWAY from cloud hosting (Amazon EC2) to host their own server farm. This reduced the cost by a lot BUT it also required 24 hour, around the clock support (hired hands) to make sure everything was running smoothly at the server farm and remotely.

    Self Hosting is a classical way to start your own applications. Facebook and YouTube are examples of this. They both started hosting off of their own machines and have turned into Titans of the tech industry. Self hosting does require very good internet (monthly costs of $300+ can be assured) and you are going to begin to need more than 1 computer. ESPECIALLY for complicated games that use up a large portion of the CPU in the machine (unlike websites, but akin to video processing). These servers require someone to constantly watch them and to constantly check up their health and make sure everything is running smoothly. So the self hosting method is no longer a choice for many people starting off in the tech world anymore.

    Actually cloud hosting like Azure, Amazon EC2, or Rackspace you get 99.99% uptime guarantee. So you don't worry about hardware whatsoever. All you worry about it setting up your software however you like. Using whatever ports you want, and controlling your virtual machines however you want.

    Technically Cloud Hosting is not "self hosting". These are very different things as listed above. I would advise against self hosting, but I would highly advise to cloud host. It is cheap, easy, safe, and you can easily setup redundancies, backups, and parallel programs. In cloud hosting, the Virtual Machine (cloud server) is YOUR server, do whatever you want, run as many programs as you want, take advantage of the MASSIVE open source community to accelerate any product you create through open source software, and more. To be perfectly honest... I wouldn't doubt that a lot of these 3rd party (non Azure/Amazon EC2 like) game hosting services actually run in EC2 or Azure haha.

    I am sorry that I don't have any links for these, but perhaps some of the words I used here could be used in any keyword searches needed on Google.
     
    Last edited: Feb 7, 2017
    Jobayerbiplob, Cranick and CarterG81 like this.
  30. CarterG81

    CarterG81

    Joined:
    Jul 25, 2013
    Posts:
    1,773
    Thank you for all of this knowledge. This post is more than sufficient. Your job experience and explaining the specific terms & clarifying everything is extremely helpful.

    Thank you again! I was giddy when I saw this post in my alerts! WOOHOO! :D
     
    Brent_Farris likes this.