How to Set Up a Dedicated Gaming Server
Set up a dedicated gaming server for the most popular games
Don’t let your computer’s parts off the hook just because they were swapped out in an upgrade; put them back to work! Half of the top-ten most-played games on Steam come with the option to customize your entire gameplay, right up through running your own dedicated server. Are you going to sit back and play the game how somebody else envisioned it, or are you going to grab the goat by the horns, run your own server, and make it personal?
Why run the server on your LAN instead of remote hosting (rental server)?
There are many reasons why people rent a server from a remote provider; ranging from bandwidth availability, dedicated support, or even to eliminate any latency advantages between player and host.
Remote hosting can sometimes be a headache. Some server rental hosting services don’t consistently update the site’s server software for many days after a game update rolls out. By hosting the server yourself on a separate machine, you’re able to take command and update it as soon as you like, and the cost is only in the electricity required to run the system. All you need is to save the parts you replace when you upgrade, and build a new system out of it. Sure, it may be old tech, but most dedicated servers for games don’t require a lot.
What is the benefit of running your own dedicated server?
A dedicated server is often more stable than the game client itself. If something goes wrong on your gaming machine and you need to close the game or reboot your system, those that are connected to the server can still play and enjoy the game.
Remote Management (VNC)
Sometimes, the built-in server admin tools for games aren’t enough. That’s where remote management comes in. There are many options to remotely control the server. The most popular VNC program is TeamViewer, followed by the Microsoft Remote Desktop Connection.
For modern Windows systems, there is the option to use the free Remote Desktop Connection software from Microsoft. RDC lets you connect to another computer using login credentials as if you were physically at the computer. As reported at Windows Central (http://www.windowscentral.com/you-do-not-need-activate-windows-10), Microsoft has loosened their grip on un-activated copies of Windows 10.
To find out more about the Microsoft Remote Desktop Connection, visit Microsoft’s RDC page: http://windows.microsoft.com/en-us/windows/remote-desktop-connection-faq.
The biggest gaming news, reviews and hardware deals
Keep up to date with the most important stories and the best deals, as picked by the PC Gamer team.
Voice Chat Servers
Maybe you’re playing a multiplayer game that doesn’t allow for private dedicated servers. Voice chat has come to be an expected feature of most multiplayer games these days, and server requirements have changed very little in the past decade. If you can stream on Twitch or even video chat on Skype, you have more than enough bandwidth for hosting a voice chat server for your guild/clan/group. Assume no greater than 64Kb/s per user connected (10 users = 640Kb/s upload needed).
Common Games
Minecraft
Obtain the server software from the official site at (http://minecraft.net/download). This program will create additional files and folders in the location that you run it from. It is advised to run it from a new folder (e.g., D:\Minecraft Server\)
When you first run the server, it will create the following: /logs/, eula.txt, and server.properties. Open eula.txt, read it (if you wish), then change the last string from eula=false to eula=true, and save it.
Run the server again and the rest of the server files will be generated.
Edit server.properties using a text editor such as notepad, and make any changes you need. For a full list of what each property does, visit the wiki: http://minecraft.gamepedia.com/Server.properties
Note/change the port setting for router config: “server-port=25565” (default line 11).
Steam-based games
Check if the game you want to host is on the list of dedicated servers on Steam: https://developer.valvesoftware.com/wiki/Dedicated_Servers_List.
This list will provide information on whether you can obtain the dedicated server software by using the SteamCMD program, or from the Steam Client. It will also indicate if the game allows for anonymous login or if you have to purchase the game in order to access the dedicated server software.
SteamCMD
SteamCMD is a command line program that allows you to install software such as dedicated servers without the need to install the Steam Client (https://developer.valvesoftware.com/wiki/SteamCMD).
Use of SteamCMD assumes that you know the app ID of the program you wish to download or update.
The easiest way to use SteamCMD to install your dedicated server is to use SteamCMD-GUI (https://github.com/DioJoestar/SteamCMD-GUI/releases). This program allows you to select all of the desired variables and then install in one click. It even allows for running most Source servers. Usage of the SteamCMD-GUI tool is fairly straightforward. You will need to install the SteamCMD program separately before use; there is a quick button in the GUI tool to do this.
For Steam games with dedicated server software that does not have its own independent app ID, check in the game’s installation directory: (SteamInstall or SteamLibrary)\SteamApps\common\(Game Name)\ or at the game’s website or wiki.
Counter-Strike: Global Offensive
Acquisition: SteamCMD only, Anonymous-allowed. App ID: 740.
Installation over SteamCMD-GUI works well, but running the server will require that you become acquainted with the intricacies of the Source Dedicated Server Software (srcds.exe), which runs all Source engine servers.
For CS:GO Dedicated Server beginners, the pyr0s-csgo-server-launcher (http://code.google.com/p/pyr0s-csgo-server-launcher/) batch file mostly automates the server configuration and launch, making it easy to step into running your own CS:GO server.
If you want to further customize your server, we recommend reading further on CS:GO Dedicated Server configuration at the Valve Developer wiki (https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers).
ARK: Survival Evolved
Acquisition: SteamCMD and Steam Client. App ID: 376030 (note: this is not listed on the DS list page). All other guides will say to download app ID 346110, which requires steam login on SteamCMD and game purchase.
This server is best managed using the free Ark Server Manager (http://forum.arkservermanager.com/). This program will manage just about every aspect of the server, including SteamCMD installation and updates. Ark Server Manager uses the 376030 ID, meaning that you do not need to worry about entering your logic credentials to a third-party program. If you do not wish to use a GUI to run the server, the unofficial wiki for the game provides the best information on how to set up the server manually at http://ark-survival-evolved.wikia.com/wiki/Dedicated_Server_Setup.
This server does use a relatively high amount of resources.
Team Fortress 2
Acquisition: SteamCMD Only. App ID: 232250.
As a Source game, the configuration is similar to CS:GO; support is more limited, though.
We recommend that users new to running a TF2 server visit the wiki page to get started quickly.
Unlike CS:GO, this server is a breeze to run from the SteamCMD-GUI program, as the majority of settings that you will want to modify will be located in the server.cfg file (you will need to create this file in the f\cfg\ folder in the TF2-DS installation. An easy-start example of this file is listed on the wiki: https://wiki.teamfortress.com/wiki/Dedicated_server_configuration#Example_Server.cfg_for_TF2_dedicated_server ).
Space Engineers
SteamCMD, Steam Client, Automatically downloaded with game client to \DedicatedServer(64) and in .zip form in \Tools\ App ID: 298740.
Launch SpaceEngineersDedicated.exe as Administrator (or just click the [Run as Admin!] Button inside the program) from the folder that best fits your system: DedicatedServer for x86 or DedicatedServer64 for 64bit.
If you want to run the server strictly in console mode only, then select Local / Console and [Continue to server configuration]. This will let you set up the server parameters just as you would in the client, but with a few more fancy tricks.
If you want to launch the server as a system service with the configuration window open (not required for server to start or stay running), then click [Add new instance] and give a name to the service so that you can recognize it. If you run a new service instance, it will automatically configure to run when windows starts. You can add many services; each is able to control many different world saves and settings.
Terraria
No separate App ID; automatically downloaded with the game client. You can obtain the server software from the developers without downloading the game, as well as a third-party GUI tool for the server—visit the official Terraria Wiki Server page for more information: http://terraria.gamepedia.com/Server.
Terraria App ID: 105600—requires SteamCMD login to download.
Make sure you install the prerequisite software: XNA Framework 4.0 and .NET 4.0 Framework (Win10 needs only XNA).
Edit the serverconfig.txt to your liking and run start-server.bat; the server program is very straightforward and easy to use for anyone who has played the game.
For a dedicated server on a separate machine, it is advised to ignore the –steam launch option for this game, as it will only work if TerrariaServer.exe is launched via Steam Client (uses the Join Game function from user interactions to bypass port forwarding).
Router Configuration
Port Forwarding
If you aren’t familiar with port forwarding, or have questions regarding setting up port forwarding on your router, find specific information for your setup at http://portforward.com.
Default ports:
Teamspeak: UDP in (voice) 9987, TCP in (file transfer) 30033, TCP in (serverquery) 10011, TCP in (TSDNS) 41144.
Source Dedicated Servers (CS:GO, TF2, etc.): 27015 (TCP/UDP), 27020 (UDP) Note: add in any other ports you may use for additional servers (e.g., 27015 for CS:GO, 27016 for TF2, etc.)
Terraria: 7777
ARK: Survival Evolved: 7777, 27015, 32330
If your router supports dynamic DNS, it is advised to set that up. If not, there are alternative methods.
Dynamic DNS (DDNS)—hosting your dynamic IP at a domain name
Instead of handing out your IP address to friends, give them an easy-to-remember domain name built to always correctly point to your IP address. Most games allow for domain name connections instead of IP addresses.
Dyn (formerly DynDNS) shut down free services in 2014, leaving many home users to go find a new provider. Luckily, many other companies have stepped up to the plate to welcome those looking for a free, simple Dynamic DNS service for their projects. Some modern routers even come with an account to their proprietary DDNS hosting that you configure on your router directly.
Here’s a short list of free services that you can use for your home server:
FreeDNS (https://freedns.afraid.org/)
DtDNS (https://www.dtdns.com/)
DuckDNS (http://duckdns.org/)
No-IP (https://www.noip.com/)
EntryDNS (https://entrydns.net/)
Get Building!
Many of us upgrade our computers and wonder what to do with the parts that we just replaced. It’s very often the case that those parts end up collecting dust on a shelf or in a box. It’s time to put them to good use by turning them into another rig. If you've ever had other people connect to you to play a game, you've hosted a server. Using dedicated server software on a remote machine is just the same, except that you're freeing up system resources.