There's no way for a mod to send a player from one dedicated server to another mid-game (server hop / hive / raid instances). Everything that could do it is either locked to the main menu, where mod scripts aren't loaded, or blocked outright. DayZ had g_Game.ConnectFromServerBrowserIP,port, password) for this. I can't find anything a mod can actually reach in Reforger.
What I've tried (1.7):
Room.Join() returns EBERR_INVALID_STATE if you call it from inside a session, and RequestConnectViaRoom(room) just returns false. Both only work from the main menu.
Problem is, the moment the client leaves a server the menu is base game only. All the mod scripts unload (tested, still happens with -addons), so a modded MainMenuUI hook never runs to finish the rejoin.
GetInviteRoom() (what SCR_MenuLoadingComponent.JoinInvite reads to auto-join) has no SetInviteRoom(), so I can't seed it from script.
ServerCatalogueApi + ServerInfo.RequestJoin() would be ideal, and it isn't documented as menu only, but I can't even reference it. The Game module ships its own stripped ServerInfo (GetName/GetScenarioName/GetPlayerLimit/IsCrossplay/IsModded, no RequestJoin) that shadows the real online one, so any mod use gives:
Undefined function 'ServerInfo.RequestJoin'
Types 'ServerInfo' and 'ServerInfo' are unrelated
GetItems(out array<ServerInfo>) won't compile either (array type mismatch).
Any of these would fix it:
A scriptable in-session connect, e.g. GameStateTransitions.RequestConnectToServer(string address) or by room id, callable from a game mode or player controller.
Or fix the ServerInfo name clash so mods can use ServerCatalogueApi + ServerInfo.RequestJoin().
Or add SetInviteRoom(Room) / SetJoinRoom(Room) so a mod can seed the vanilla menu auto-join that already exists.
Use case is server to server raids / hive setups (extraction shooter type stuff, a hub server plus separate raid servers). It goes through backend rooms so it stays crossplay, not raw ip:port.
Repro for the ServerInfo one: declare array<ServerInfo> servers = {}; then call ServerCatalogueApi.GetItems(servers) or serverInfo.RequestJoin(cb). Won't compile: Undefined function 'ServerInfo.RequestJoin'.