Education time! What happens behind the scenes when the servers need updated?
Let me start off by saying that I've worked for Xbox Live at Microsoft for about 2 years. I worked as a Change/Release Engineer, which means I've worked with, quite literally, thousands of updates that have been implemented on the Xbox Live servers. These include game updates, patches, security fixes, etc, etc, ETC.
I thought I'd help describe what the process is for bug fixes and how it affects servers in a large online game environment, similar to what Defiance is being hosted on. I find this stuff fascinating and fun and maybe somebody out there will too.
Preface:
Server downtime is spent applying the fixes that were created in their test environments. What I mean is, servers aren't taken offline in order to create a fix, they are only taken offline to implement the fix. The fixes are created in a test environment. There are rare exceptions to this, of course.
This is how it usually/generally happens, and yes this is going to be detailed:
1) A bug is reported and logged officially in the back-end DB.
2) A PM (project manager) for that project/game gets the bug report list and discusses the changes with their CM (change manager) or RM (release manager) (and often the Change/Release Engineer, which is the job I have) to be prioritized.
3) The bug reports are then sent to the dev/test teams to confirm the bug and create the fix in their test environment (which is usually a very closed off environment that does not touch any outside internet)
4) The fix for the bug is reported to the PM (who has been tracking the progress the whole time).
5) The PM takes the fix and reports back to the CM or RM to schedule a time for the fix to be applied to the 'other' test environment, which is connected to the internet, but only very specific people/computers can access this network.
6) The CM or RM works with the Change/Release engineer(s) (this is the job that I have) to implement that fix into the TEST environment.
7) The test/dev teams (or in many cases the Change/Release engineer themselves) then confirm the fixes applied work correctly. Assuming they do work correctly, the next step is......
8) The CM or RM (or both) have a meeting (depends on the company, ours were weekly, but I imagine Trion is having these daily right now) discussing ALL bug fixes that need to be applied to the LIVE environment (LIVE meaning the game servers that the public connects to) and figure out which ones have priority and how to schedule them.
9) The CM or RM works with the Change/Release engineer(s) (this is the job that I have) to schedule the implementation of the fixes into the LIVE environment.
10) The Change/Release Engineer implements the fixes into the LIVE environment.
--This last step (step 10) is where the game servers are often taken down by the Change/Release Engineer. Depending on the server setup, they will take a subsection of servers out of rotation, apply the fix (rebooting them or keeping them off as necessary), then return the fixed server back into service before taking down the next set of servers.
Anyway, there's a small glimpse into how a game servers and fixes work.