Search Unity

Running Unity Server on AWS Elastic Beanstalk?

Discussion in 'Multiplayer' started by soaring, Feb 1, 2017.

  1. soaring

    soaring

    Joined:
    Jun 22, 2015
    Posts:
    27
    We are building a PvP game that uses Unity as authoritative server. We are now working on getting these servers hosted in AWS. Based on our research, it looks like AWS Elastic Beanstalk may be a good choice in terms of helping us deal with load-balancing & server management. Just want to see if anyone has had any experience trying to run Unit Server on AWS Elastic Beanstalk and can share any experiences?
     
    theforgot3n1 likes this.
  2. theforgot3n1

    theforgot3n1

    Joined:
    Sep 26, 2018
    Posts:
    205
    I am doing the same thing. I know this is necro but the post perfectly sums up the same question I have. Anyone with experience on this?
     
  3. atomikm

    atomikm

    Joined:
    Feb 8, 2020
    Posts:
    20
    We are also interested in doing this. We are using Mirror for networking and would like to use Elastic Beanstalk to host the server. At the moment we are hosting it in a Linux EC2 instance.
     
  4. theforgot3n1

    theforgot3n1

    Joined:
    Sep 26, 2018
    Posts:
    205
    I actually got mine working. Took some time, lots of experimentation and mistakes, but works now. I use LightReflectiveMirror as the relay server which is hosted on an ec-2 instance.
     
  5. landinghand

    landinghand

    Joined:
    Jan 27, 2022
    Posts:
    4
    Disclosure: Writing as an employee at unordinal.com

    Beanstalk:
    Our experience with beanstalk is that it works but it's a hassle to set it up and the documentation is on the standard level of AWS docs (in our opinion, a bit lacking).
    You will get the best mileage if you compile your game server for Linux and Docker deployment.
    Regarding scaling, depending on how your game works you might not be able to use the out-of-the-box scaling of Beanstalk since that typically scales on how much resources your server uses (cpu and/or memory and/or network) instead of being able to scale when you have a match coming up. A common setup is to acquire a lobby from a lobby service (like Steam) and when the lobby is full you request a new game server to be spun up. Beanstalk does not handle that scenario in itself so you will need to add more code and setup around it.

    You also have Playfab:
    Playfab is also an option on the market. It demands an SDK to be integrated into your game and you need to run your deploycommans from a command line. When everything is set up you have a stable way of delaying your servers to Azure cloud.
    One small but annoying bug is that if your deployment fails, you have no error messages and a long timeout before the system is self reset - this is something every first-time user experience ;).

    I propose an alternative to you with Unordinal, of course there is a slight bias since I’m their community manager, but we offer a tool which has an automatic one click deployment of your servers from within the Unity editor. We also offer some analytics and insights on your game servers (At the moment the entire service is free of charge).
    Pros with this system is that our plugin automatically builds you a Linux server, which is then automatically uploaded to your closest cloud servers.
    You just have to click a button, get the IP and start playing your game.
    You can sign up with us and download the product, it should work right away.
    https://unordinal.com/product-2/
     
    Last edited: Jan 31, 2022
  6. theforgot3n1

    theforgot3n1

    Joined:
    Sep 26, 2018
    Posts:
    205
    A bit lacking is an understatement. The hardest part though is having lackluster google results on issues with eb, aws and so on.

    I got it working by deploying manually though on their management console. I recommend people to not fiddle too much with SSH. I got both a NodeJS server running (which just feeds the user a webgl build) and a dotnet 6.0.1 relay server (the Light Reflective Mirror one).