pub async fn run(
connections: DynP2PConnections<P2PMessage>,
p2p_status_receivers: BTreeMap<PeerId, Receiver<P2PConnectionStatus>>,
api_bind_addr: SocketAddr,
cfg: ServerConfig,
db: Database,
module_init_registry: ServerModuleInitRegistry,
task_group: &TaskGroup,
force_api_secrets: ApiSecrets,
data_dir: PathBuf,
code_version_str: String,
) -> Result<()>