Skip to content

compatibilty for steam interface v9 - #1088

Draft
mithrand0 wants to merge 18 commits into
reactivedrop_betafrom
feature/sdk-1.65-compatibility
Draft

compatibilty for steam interface v9#1088
mithrand0 wants to merge 18 commits into
reactivedrop_betafrom
feature/sdk-1.65-compatibility

Conversation

@mithrand0

@mithrand0 mithrand0 commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Note: I have a modified engine.dll locally, that needs this. Without a patched engine, it won't work.

This PR is a draft, a proof of concept. It fully works, but is probably not production quality.

A lot still needs to be tested, but it seems promising. Findings below are with the latest Steam SDK 1.65:

Client

  • Client starts
  • Confirmed with latest steam_api.dll
  • Main screen seems to work
  • Workshop items from Steam do load
  • Can upload workshop submissions
  • Client can find and join lobbies
  • A map can be played and restarted

Server

  • Server starts
  • Confirmed with latest steam_api.dll
  • Steam API is inited from game code instead of engine
  • Gameserver is inited from game code instead of engine
  • Heartbeat to master servers is sent out
  • Server appears on the Steam Master List
  • Server can be joined
  • A map can be played and restarted
  • Workshop items can be downloaded with rd_enable_workshop_item
  • Bonus: workshop updates on server are fixed

What doesn't:

  • probably things that aren't tested and will show during gameplay

Summarized

I think it's promising, and surprisingly, joining lobbies works from both ends. Probably, once this is tested further, other issues arise, but all these should be in the game code itself.

@ywgATustcbbs

This comment was marked as spam.

@mithrand0

mithrand0 commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author
Network: IP 0.0.0.0, mode MP, dedicated Yes, ports 29001 SV / 27005 CL
Server is hibernating
Setting breakpad minidump AppID = 563560
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561197960265728 [API loaded no]
StartGameServer_Init resulted in success
maxplayers set to 8
---- Host_NewGame ----
Host_NewGame on map lobby
Unqualified = jacob_save_126_07_31_17_47_41.campaignsave
Creating new save with filename: save/jacob_save_126_07_31_17_47_41.campaignsave
New save created: save/jacob_save_126_07_31_17_47_41.campaignsave
Adding master server 208.64.200.65:27015
Adding master server 208.64.200.39:27011
Sending heartbeat to master server...
---- Host_Changelevel ----

@mithrand0

mithrand0 commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

No crashes in a map playthrough. Server/client locally work.

Connection to Steam servers work after a bit of hazzle:

Connection to Steam servers successful.
   VAC secure mode is activated.

Server shows up in the Steam master server list as well:

   "servers": [
      {
        "addr": "<hidden>",
        "gmsindex": -1,
        "steamid": "90291952997103646",
        "gameport": 29001,
        "specport": 0,
        "name": "Gandalf's Secret Lab",
        "game_description": "Alien Swarm: Reactive Drop",
        "appid": 563560,
        "gamedir": "reactivedrop",
        "version": "7.1.4.6",
        "product": "reactivedrop",
        "region": 255,

this is normally done by engine, but we need to redo it
Comment thread src/game/shared/swarm/asw_player_experience.cpp Outdated
Comment thread src/game/client/swarm/c_rd_infection_deathmatch_stats.cpp Outdated
@BenLubar

BenLubar commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

can delete steam_api.json; we don't need it

@mithrand0

Copy link
Copy Markdown
Contributor Author

I think the most practical next step is to publish a sdk165 test release with all the dll's, and begin testing everything from there. The concept works, and broader testing will tell us where adjustments are actually needed.

Any beautification or structural cleanup can follow at a later time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants