Regarding UE-66752
Dedicated servers running on the non-default port such as 7778 are unable to change map due to an incorrect server URL.
It looks like this may be due to a change to GetAddressURL in World.cpp for version 4.23
EDIT: On further inspection, while GetAddressURL has been changed (broken), I’ve traced this back to a change with ProcessServerTravel() in GameModeBase.cpp .
The previous (4.22) code worked, not sure why this was made but it’s affecting any server which has two running dedicated listen servers on it. It seems like every update lately has some game breaker that doesn’t get resolved for months.
Check out the the server log below
[2019.09.25-04.49.43:785][635]LogGameState: Match State Changed from InProgress to LeavingMap
[2019.09.25-04.49.43:789][635]LogGameMode: ProcessServerTravel: /Game/Levels/not_epic
[2019.09.25-04.49.43:793][635]LogLongPackageNames: Warning: URL: :7780//Game/Levels/not_epic: Name may not contain the following characters: ':'
[2019.09.25-04.49.43:796][635]LogNet: TravelFailure: InvalidURL, Reason for Failure: 'Invalid URL: :7780//Game/Levels/not_epic'
[2019.09.25-04.49.43:799][635]LogBlueprintUserMessages: [GameInstance] GameInstance Travel Error: InvalidURL
The ProcessServerTravel function was changed to use a modified NextURL which has .ToString() called on it rather than using the passed in URL. Why this change? Also why does FURL::ToString() return a url in the form :7778//map/path ?
Please address this asap so we can get on with using the awesome new features in update 4.23
Thanks.