Split the multiplayer code into multiple files, as it was unmanagable.