def METHOD_NAME(self) -> None:
    """@brief Handle 'server' subcommand."""
    # Create a session to load config, particularly logging config. Even though we do have a
    # probe, we don't set it in the session because we don't want the board, target, etc objects
    # to be created.
    session_options = convert_session_options(self._args.options)
    session = Session(probe=None,
            serve_local_only=self._args.serve_local_only,
            options=session_options)
    # The ultimate intent is to serve all available probes by default. For now we just serve
    # a single probe.
    probe = ConnectHelper.choose_probe(unique_id=self._args.unique_id)
    if probe is None:
        return
    # Assign the session to the probe.
    probe.session = session
    # Create the server instance.
    server = DebugProbeServer(session, probe, self._args.port_number, self._args.serve_local_only)
    session.probeserver = server
    LOG.debug("Starting debug probe server")
    server.start()
    # Loop as long as the probe is running. The server thread is a daemon, so the main thread
    # must continue to exist.
    try:
        while server.is_running:
            sleep(0.1)
    except (KeyboardInterrupt, Exception):
        server.stop()
        raise