Open otavepto opened 5 months ago
For those who are interested: batch script to easily download the dedicated server via steamcmd and anonymous login HomefrontDedicatedServer_Batchscript.zip
Steam API v0.89.39.43 (2010/2011)
SteamClient009
SteamGameServer010
SteamGameServerStats001
SteamUser013
SteamFriends006
SteamUtils005
SteamMatchMaking008
SteamMatchMakingServers002
STEAMUSERSTATS_INTERFACE_VERSION007
STEAMAPPS_INTERFACE_VERSION003
SteamNetworking003
STEAMREMOTESTORAGE_INTERFACE_VERSION002
SteamMasterServerUpdater001
Enshrouded Dedicated Server not working too.But original gbe worked.It seems the new code broken something.
I have tested it with the game "Special Forces: Team X" and can confirm that it works with the last two official versions (802d8bcc and 475342f0) by Goldberg. (game will show up in the server browser)
It doesn't work with the version R4_20231108 by ce20fdf2 anymore.
So I tested the game Special Forces: Team X
(app id 217860) but couldn't replicate the problem on my end. I'm using real LAN.
In game option Find Match
can detect my other machine.
Left machine is called Mr_Goldberg
(Remote Desktop), right machine is called Mr_Goldberg_222
I could join the match
And the multiplayer match plays fine
I'm using the latest build/release. Please let me know your steps so I can try to reproduce them. Also let me know if this game has a dedicated binary for the server browser like Homefront, I was testing with the in-game browser as you can see.
I meant via the in-game browser, correct. I used experimental - steam_api.dll with "steam_interfaces" and "disable_lan_only" in local steam_settings folder.
Special Forces doesn't have dedicated server files.
I've created PR #82 to revert all networking changes as well as avatar, source query, and all of the friends stuff. Please give it a try when you have some time.
Special Forces: #82 fixes the issue with not showing the client hosted games in game browser, great! Now the only question is which of the removed parts/code is actually causing the issue.
non #82 build: joining via overlay and invite function works. So is this possibly an indicator that it has something to do with the networking/source query code changes.
That's assuring to know, thanks a lot for testing. I suspect it'd be the networking changes, what I can do is create multiple PRs each reintroducing one of the disbaled features. I'm honestly fine with completely removing those additions since it's functional now.
Friend avatar is the least suspected one, source query is a new addition and while it introduces a lot it's still a new addition. The changes in the networking to get it all working together is the potential problem. On my end it's sporadic whether it will work or not (Special Forces X), as shown above it worked at the time of posting the image, but another time it completely stopped, so it's difficult for me to always reproduce it.
Another thing I kept getting errors from libssq which reads the info from the query server until I completely disabled all firewall software I have, including the default one in Windows.
Remove completely or possibly add the option to disable? I would like to test another PR with all features except networking changes.
Thanks for your effort, much appreciated!
Edit: I tested "disable_source_query.txt" and nothing changed, as expected.
It may be difficult for me to add a configurable option given the amount of changes, but I re-added everything in this new PR #83 except the part I'm most worried about, it's in the steam_matchmaking_server.cpp
Previously every server list request was being treated a LAN server request, so I changed the current code to do that, this is an example:
https://github.com/otavepto/gbe_fork/pull/83/files#diff-598e28eac6f8b732776dda808faee8f6ac5a59ac233ca90ff45577f049d55af6R147-R148
The function Steam_Matchmaking_Servers::RequestServerList
https://github.com/otavepto/gbe_fork/blob/3d43d39f0801c3fd5196f9f1707da07d65328dd0/dll/steam_matchmaking_servers.cpp#L38 behaves the same as original code when the given server list type = LAN.
Also reverted the function which sets the incoming server details, originally it used the server details from the incoming local packet, so I removed the code which tries to use libssq: https://github.com/otavepto/gbe_fork/pull/83/files#diff-598e28eac6f8b732776dda808faee8f6ac5a59ac233ca90ff45577f049d55af6R339
When you have time, please give it a test. I would suggest disabling the source query like you did and the friend avatar, just to be sure that these 2 are non effective. If it worked then try enabling them, hopefully they won't cause problems. Thank you so much for the time you invest in testing this, I really appreciate it.
Works: with "disable_source_query.txt" the client hosted game will be shown once you click on "Refresh" in the game browser. without "disable_source_query.txt" the client hosted game will be shown immediately without clicking on "Refresh"
configurable option: you are right. Maybe it makes sense to add an option for "LAN server request" ? (just a thought)
I created PR #85 which should implement your suggestion. But I made things opt-in instead of opt-out, so by default the emu will behave as it originally did, like the original repo. And the user can enable the new options by creating the 2 new config files mentioned in the PR.
Thank you very much :) Linux build failed ?
Yup I'll take care of that in a moment, also I missed one important change
Works flawless, thanks :)
I've created a release with these changes, but I'll keep this one until we figure out over time why Homefront server isn't recognized. Can't thank you enough for the help.
The new build work on Enshrouded too. Thank you for your hard work.
That's very good news, thank you for testing it.
ARK Server Manager not working
An example would be
Homefront Dedicated Server
appid 55280. The game cannot find the server (on local network) via its in-game server browser.Also connection to the server via direct IP doesn't work, the game accepts the IP, but then hangs at joining match.