docs: def send(self, data):
          """
          Send a RCON command over the socket
          :param data: The command to send
          :raise RconError: When it's not possible to evaluate the command
          :return str: The server response to the RCON command
          """
          try:
              if not data:
                  raise RconError('no command supplied')
              with self.lock:
                  self.socket.send(self._rconsendstring.format(self.password, data))
          except socket.error, e:
              raise RconError(e.message, e)
          else:
              timeout = self._timeout
              command = data.split(' ')[0]
              if command in self._long_commands_timeout:
                  timeout = self._long_commands_timeout[command]
              return self.recvall(timeout=timeout)