Modern games are services and run on a plethora of devices. So, operating a modern game brings many of the challenges and surprises of distributed systems to new environments. However, unlike a traditional distributed system where developers have control over all nodes, they now deal with customer-supplied devices that are almost entirely outside their control.