← Back to Blog

Do You Want to Become the Admin of a Game Server?

Have you ever wanted to be the admin of a game server, controlling all the info about a Server, holding all the power to kick, ban, or give items to any player you want?

This post will walk you through how to create your own game server. I won't walk through the specific steps to create one particular game server, but I'll point out what you need and the steps required for most game servers to run, and let anyone from anywhere join your Server.

Researching the game you want to host a Server for

Some Games let you open Community Servers (the kind of server you can host), for example: CSGO, Rust, Unturned, Arma, 7 Days to Die, etc. Most survival-genre games allow hosting your own Server, while others don't. So how do you know which game allows opening separate servers from the official server provided by the publisher? Here are 2 ways you can find out whether a game supports hosting your own Server:

  • Play the game, look for genres within it: Usually if you've played a game, you'll easily spot Community Servers if there are any — though in some cases these servers get arranged to be less visible, giving way to the Official Server.
  • Search for the keyword "How to host Game ABC XYZ": This is the easiest way, since unless a game has too few players, someone has probably created a Server and written guides for hosting a Community Server for that game.

At this step you can also pick up some info useful for later, like: the OS supported for running the Game server, the config needed, the port the server uses, etc.

Example: a post guiding how to host a CSGO server from steam: developer.valvesoftware.com

Preparing infrastructure

Now that you've figured out which game can host a Server and which can't, it's time for the next step: preparing the infrastructure for your game Server to operate. A game Server is actually a Service running on a computer, similar to a web service (apache2, nginx), a database service (mysql, redis), etc. The infrastructure here is just a computer that can run your game server on it.

Choosing where to run the server

Basically, to run a game Server you just need 1 computer to start setting up and running it — but depending on your needs, you'll have different choices. Here are a few main options.

  • Using your home computer: This is only suitable if you want to open a server to play with friends for a short time, without needing to be Online 24/7. If you run your computer at home 24/7 (not counting workstation-grade machines), the computer's lifespan will likely drop very quickly and it could die unexpectedly at any time. On top of that, the Server's performance won't be optimal and will be heavily affected since you're also running other software on your personal computer.
  • Renting a VPS (Virtual Private Server) from a third party: This is the most optimal option for a small-scale Server with <100 regularly active players needing 24/7 uptime. With this approach, you rent a server from a provider — a few names worth mentioning are (BizflyCloud, LongVan, Vietnix, etc.) — to install the game server on. These servers usually share CPU with other users, so the price is cheaper, from a few hundred thousand to over a million VND. The advantage of using a VPS is you won't have to set up much networking — renting a VPS already gives you a WAN IP so users from anywhere can connect to your server.
  • Renting a Dedicated Server: This option is for the big spenders wanting to run a server seriously and hoping for revenue. A Dedicated Server is an independent machine placed in a Datacenter, usually with a high CPU clock speed (~3GHz). A high CPU clock speed helps some games that only run on 1 Core perform more effectively. Since it operates independently, a Dedicated Server also makes it easier to add features like a Firewall or a network-layer Application to defend against DDOS. Because of its high performance and the features you can add, the monthly cost for these Dedicated Servers isn't small at all, usually from a few million to tens of millions VND per month.

Operating System

You might think: I only know how to use Windows, so how could I install a game Server? A game Server has to involve typing all sorts of complicated commands to install, right? Completely wrong — games aimed at opening Community Servers mostly support running on Windows, aimed at people without much IT knowledge. Beyond that, you can host a game Server on a variety of different OSes, depending on whether the game supports it:

  • Linux
  • MACOS
  • Even Docker

Configuration

RAM

The server's config also matters a lot — usually the resource requirement will depend on the game and the number of active (online) players in the game server. There's a way to roughly estimate the amount of resource needed — take the example of CSGO:

Example: If you open CSGO and play the Mirage map, the CSGO process takes up about 2GB ram, so the game Server hosting that map will likely also take up around ~2GB Ram.

To easily pick the right amount of RAM needed for a game Server, it's best to host it online for a trial run and you'll figure out the RAM needed. However, running a server at a RAM usage that's always near full (90-100%) also isn't great. In my experience, keeping RAM usage around 70% is the most ideal for cost optimization.

CPU

Next up, CPU — CPU is usually harder to estimate since it depends on the number of Players online. CPU handles processing users' actions and operations, so the more Users, the more CPU it eats up. How much CPU you need can only be determined by building it out in practice.

So what happens if you try to carry a super-heavy Server on a weak machine? Or if the server has to operate overloaded? The answer is simple, and you've probably already guessed part of it — players in the server will experience lag since the server can't process players' actions fast enough. And for a game, the worst thing possible is lag — anyone who plays games regularly understands this very well!

Disk

Disk doesn't matter much for some games — as long as there's enough free space (not full, <80%), the game server can run completely normally. But for some games using large databases to store player data, you should consider using an HDD with high read/write speed (IOPS) or using an SSD for the Server. Using an SSD also helps the server and game server start up a bit faster.

Network

Depending on the game, different network bandwidth gets required, and if your players come from overseas or domestically, different bandwidth is needed too. For my current game Server with about 50 players online from overseas, 100mbps bandwidth is fairly generous.

Another network issue worth caring about: when you host a server on a home computer, you'll need Port Forwarding from the modem to your computer, since the modem is like your house's front door — behind that door there are many rooms (other electronic devices), so you need to tell the modem that if anyone requests your game server, direct them to your specific room (your personal computer). A lot of people self-hosting a game server at home run into difficulty at this step.

If you use a VPS or dedicated Server, you need to pay attention to the provider's Firewall and the OS's Firewall — if any firewall isn't open, players won't be able to connect to your server.

So now you have the basic knowledge needed to start creating your own game server!

Extending your game Server

For some games, third-party developers create free and paid modules that help admins add more features to a game server. For example:

  • Rust: uMod, Oxide
  • Unturned: RocketMod, OpenMod
  • CSGO: SourceMod
  • ...

On top of that, some games on Steam have a workshop where developers create new items with new functionality for each game.

Wrapping up

So what does a game server actually look like when it's running?

This is my Windows Server machine currently running 3 Unturned game Servers — if you look closely you'll see each user's typed commands, pretty interesting, right 😃

Hope this post gives you a new experience for the new year, or at least a bit of knowledge about game server infrastructure. HAPPY NEW YEAR!!!

If you're running into technical challenges or need help with systems, DevOps tools, I'm confident I can help. Get in touch at hoangviet.io.vn

Thank you all! Have a nice day!

Have thoughts on this?

I'd love to hear your perspective. Send me a message.

Get in touch