Advertisement

Hosting a game server

Started by July 24, 2014 05:33 PM
6 comments, last by Johan Yang 10 years, 3 months ago

Hello,

I was wondering for a while how I could host a game server for a personnal project, knowing that I cannot host it at home because my machine is in a private network and it would be too cumbersome to deal with NAT and dynamic IP address issues...

I learned about Google App engine and Amazon EC2 but I don't really know if one can simply rent one of their server, get a static public IP address and then host its application? Suppose my server-side application is a simple exe file, can I get one of their server running on Windows and run my app from here? (I doubt it works like this ^^)

Thanks for answering.

Have a good day

(PS : I am not sure if this is the right place)

With Google App Engine, you have to build your server using their infrastructure, so it's not a good match for a simple EXE.

For Amazon and other virtual-server providers, if you rent a virtual server with Windows OS, you can run an EXE on their server, and expose that to the internet with a static IP, and it will work fine. (You also have control over firewall rules.)
Other providers of virtual servers include interserver.net ($8/mo), rackspace.com (pricing is hard to tell), azure.net ($15/mo), and many others.

Note that a Windows virtual server will cost more than a Linux virtual server, because of the OS licensing cost.

Also, if your game is highly latency sensitive (FPS type games, not RPG type games) then you will likely find that virtualization introduces some amount of scheduling jitter that may be a problem for players. In that case, you need to rent an actual server; known as "root server hosting" or "self managed server hosting." Those kinds of prices start at $50/mo for low-end servers, and goes up. Check serverbeach.com, interserver.net, or many others for this option.
enum Bool { True, False, FileNotFound };
Advertisement

Ok I see thank you for your answer!

Can I ask you one more detail ? Talking about those virtual servers, how do you actually control it once you rent one? Do you have some kind of tool to upload files, explore the hard drive, run executables and stuff on the remote machine ?

Also the game I'm currently working on is an RTS, so.. what kind of delay do you get with such servers? From my experience it starts to be annoying if the delay is gets over 150ms for such games.

Thank you !

For nix servers, you'd typically use something like putty to connect to a command line interface over SSH.

For windows servers, you could do something similar or remote-desktop in to them.

For any server, an FTP client is a decent way to transfer files (assuming the server is running an FTP server).

Ok thank you !

Hi Roldak, have you had any luck with your server setup? We are in similar situation where we need to run a simple executable on a dedicated host for our game. If you happen to find a solution, could you recommend it to us?
Advertisement

If you can do a Linux environment, consider Docker -- Docker is an interesting technology for packaging "applications" -- not as in "single programs" but "user-facing applications" -- that might include several applications, data files, system/app configurations, etc and run those packages in isolation of other packages and of the host operating system. Its kind of like virtualization, but for applications on an OS rather than an OS on a hypervisor.

One of the really neat things is that you can make those packages, and run and test them on your local machine (quick iteration while you're figuring things out and making changes), and then push your package up to your server on tons of different Linux hosting providers. Ubuntu 14.04 supports Docker out of the box, I use Ubuntu for my local development -- I have a server from Digital Ocean that runs CoreOS (a minimal, small-footprint Linux distro designed to run Docker packages) -- packages "just work" * in either location.

* barring that I haven't done anything bone-headed, like configuring a path to the host systems storage that isn't replicated on the server.

throw table_exception("(? ???)? ? ???");

Hello Roldak, I would try a VDS/VPS solution if your needs are to only run a simple executable on the server. I'm not sure it's worth your time to build your server through Google App Engine, so I wouldn't recommend it. I've had luck recently with VDS/VPS solutions so perhaps you may find it suitable for your project also.

This topic is closed to new replies.

Advertisement