Saturday, August 20, 2016

How to Set Up a Civilization V Server

 Last updated: 5/16/22

2K Game's instructions on how to set up a Civ V server are unfortunately lacking, they literally just took a guide that one of the forum members wrote and made it the 'official' guide. While the instructions will get you on right path to initially getting the server SDK running, you will be plagued with crashes and errors. The reality of an SDK existing only for Windows and not Linux should be a forewarning for how buggy this software is going to be. After over a week of trying to figure out how to correctly configure a Civ server, I decided to make my own guide that I can reference and reiterate on in the future. Let me be the first to welcome all of you die hard Civ V fans, and those that are waiting for the two expansions packs to be released for Civ VI so you can actually play the game. Civ VI has now hit the price point of "we've released all the DLC so it's now permanently at least 50% off.

I like to play Civ with my friends, unfortunately we are not all able to play at the same time. Online play without hosting your own server means that other players cannot connect and disconnect at will, and that turn timers are only measured in seconds rather than hours, which can be a problem if you like to take breaks and play a game that can span over a few days. This mode we are going to set up is called Pitboss mode and offers players the most versatility and control when playing online with friends. Below you will find the steps to get started.

Installing for the first time:

1. Ensure that network port 27016 is open to UDP communication on the server's router. Consult your router manual for instructions. The dedicated server does not use Steam's NAT punch-through facilities, so turn on port forwarding and make sure that you are allowing
2. We're going to skip the email settings for now, and come back to that later.
3. Install Sid Meier's Civilization V SDK. This can be found in the Tools section of your Steam Library.
4. Launch Sid Meier's Civilization V SDK.Make sure that *everything* successfully installs. One problem I experienced early on was that the specific version of .NET Framework was not installing successfully; I was getting an error message every time it tried to install. In that case there ended up being an issue with my installation of Windows and I had to reformat.
5. Select Dedicated Server from the SDK Launcher. Once Civ boots successfully you can exit out of the game for now.

Running a Pitboss game without crashing:

- Set the server application to run in fullscreen mode with the flag --window max or --window full with either your Steam Launch Options or in the Window's application's properties screen. For some reason players ending their turn wont be recognized server side until the game window is put into focus on the server. So your screensaver for example will interfere with the game.
- Run at a lower resolution. Also turn down all graphics to their minimum setting.
- Leave the game on the player list; no map view. After all looking at the map would be cheating.
- Use the Server specific launcher in the SDK menu. 
- Run Steam in offline mode.
- On default windows update will restart your computer at 3AM. You will need to configure this so that you don't need to restart your game every other morning or so.

Setting up email notifications: 

The instructions for setting up an email notification on 2K's forums are correct. However you will still have to change some settings in Gmail once you have followed the steps provided. After getting the server options set up in the SDK you will need to log into Gmail and go to Settings>Forwarding and POP/IMAP. Here you need to disable IMAP.

After that you will need to go to the My Account page for your Google account (NOT Gmail, but the Google account itself). From there you need to go to My Account>Sign-in and Security>Connected Apps and Site and then turn on the option that says Allow Less Secure Apps. Otherwise when the turn bot goes to do its thing, you will just get an email instead saying that an unsecure app is trying to access your Gmail. This most likely happens because the emails sent out by your server are unencrypted.

This is what a turn notification looks like:

The game name reflects my frustration of dealing with over a week of server crashes.

Since the SDK tends to crash when Steam is in online mode, Steam notifications aren't really an option. As a result getting email notification on your phone is probably the best way to go about turn notifications as of right now.

The Server Application Get Stuck at "Retrieving Host Information":

On Windows 7 and Windows 10 the only solution to this problem for me was to get the server application to run via the Civilization V SDK launcher by starting it in Steam. Initially when I clicked "Dedicated Server - Launch a Pitboss server" from the SDK launcher nothing would happen. I also noticed that when I right clicked on the icons that I could create a shortcut for all the other applications, but not the CivilizationV_Server icon.

**I have no idea why this works** but you have to cut (not copy) the CivilizationV_Server application from the "..\SteamLibrary\steamapps\common\Sid Meier's Civilization V SDK" directory into the "..\SteamLibrary\steamapps\common\Sid Meier's Civilization V" directory. Then run the SDK launcher again and try to make a server shortcut. This time it should work. Then copy (not cut) the CivilizationV_Server application back into the \Dedicated Server directory. This trick worked for me on two separate machines. In all my years of tech support...

Once you launch the application you should only be on the retrieving host information screen for literally one second. A Windows Firewall popup should appear asking you if you want to allow the application to speak to the Internet.

Setting the Sid Meier's Civilization V SDK application to be run as an administrator might help. However you do not have to do this for the CivilizationV_Server application.

How can I run the game in a cloud server:

Someone by the name of CraftedCard developed a Civilization 5 dedicated server application that is runnable on a headless GPU-less Linux machine. Which means that you can now run the application  on a cloud server with no graphics card (you're still going to have to run the Civ server app using Wine even though the Civ client app runs on Linux). Benjamin Jordanou-Bailey has written an excellent guide on how to do just that here if you need a little hand holding with the setup. This is an excellent guide for someone who is new to spinning up cloud machines and containerization. The readme of CraftedCard's repository also has some interesting note on issues they ran into when developing the application, something you'll appreciate if you got this far. 

Joining a pitboss game:

If you encounter a bug where a player or two are getting "error joining multiplayer session" it is probably because they don't have some small chunk of DLC that the game was hosted with. In this case it's best to remove that DLC option from the settings menu, even if you aren't using it. Otherwise the game may boot into vanilla Civ. The easiest way to tell if this happens is if you get the loading screen in the background that looks like the Atlas statue, and on game start you wont see tourism or faith.

If you listed your game as private other players will need to type in your IP and hit enter to connect. Otherwise if you are playing on a computer behind the same router or network as the server you will be be able to find the game listed under local network.


  1. thanks for this - I'm gonna try it out!

  2. Very helpful. Was all set to try it out then found out there is no Civ5 SDK for Linux :-(. From posts in community Wine isn't really an option either. Still, really appreciate the post--before reading I had no idea there were two PitBoss modes or even a Civ5 SDK. If I standup a Windows server I'll definitely use your procedure. Thanks again.