class_docstr: Implements a python interface to interact with the SC2 binary.
  
  All of these are implemented as blocking calls, so wait for the response
  before returning.
  
  Many of these functions take a Request* object and respond with the
  corresponding Response* object as returned from SC2. The simpler functions
  take a value and construct the Request itself, or return something more useful
  than a Response* object.
code: def __init__(self, host, port, proc=None, timeout_seconds=None):
      timeout_seconds = timeout_seconds or FLAGS.sc2_timeout
      sock = self._connect(host, port, proc, timeout_seconds)
      self._client = protocol.StarcraftProtocol(sock)
      self._last_obs = None
      self.ping()
  
imports: import copy
  import functools
  import socket
  import sys
  import time
  from absl import flags
  from absl import logging
  from pysc2.lib import protocol
  from pysc2.lib import static_data
  from pysc2.lib import stopwatch
  import websocket
  from s2clientprotocol import debug_pb2
  from s2clientprotocol import sc2api_pb2
label_desc: Use image node_id 1 to create a new RemoteController object from inherited base classes: object with example: obj = RemoteController(host, port, proc, timeout_seconds)