You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds the Steam GameServer lifecycle for dedicated server builds: initialization, callback dispatch, shutdown, server metadata, heartbeat/login helpers, UDP packet relay helpers, auth tickets, and license/status queries.
Adds hosted dedicated server Steam Datagram Relay helpers alongside the existing networking sockets wrappers.
Documents the dedicated server setup path and the GameServer-facing APIs.
Audit follow-up
steam_update() now dispatches SteamGameServer_RunCallbacks() when the GameServer API is initialized, so server-only builds do not silently skip callbacks if they use the shared update hook.
steam_gameserver_get_next_outgoing_packet() now reports success only when packet bytes were actually written to the provided buffer.
steam_net_sockets_recv_messages_on_poll_group() no longer frees a struct after transferring it into the result array, matching the ownership pattern used by the socket-pair helper.
steam_net_sockets_set_connection_name() now returns false when the networking sockets API is unavailable.
xcodebuild -project source/Steamworks_gml/extensions/steamworks/steamworks_macos/Steamworks.xcodeproj -scheme Steamworks -configuration Debug CODE_SIGNING_ALLOWED=NO build reaches compilation, then stops because this checkout does not include steam_api.h from the Steamworks SDK.
Checked Valve Steamworks docs for SteamGameServer_Init, GameServer callback dispatch, and the dedicated server lifecycle.
Runtime note: I did not run a live Steam dedicated server from this environment because the local checkout is missing the Steamworks SDK headers required for a native build.
I audited this again and pushed dbea49c with hardening fixes around callback dispatch, outgoing packet write success, and networking socket result ownership.
I have not run this against a live Steam dedicated server from this environment. The local checkout is missing the Steamworks SDK header steam_api.h, so the no-signing Xcode build reaches compilation and then stops at header resolution. Local validation done here: git diff --check, xcodebuild -list, the blocked xcodebuild ... CODE_SIGNING_ALLOWED=NO build attempt, and a cross-check against Valve SteamGameServer lifecycle/callback docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Close #157
Summary
Audit follow-up
steam_update()now dispatchesSteamGameServer_RunCallbacks()when the GameServer API is initialized, so server-only builds do not silently skip callbacks if they use the shared update hook.steam_gameserver_get_next_outgoing_packet()now reports success only when packet bytes were actually written to the provided buffer.steam_net_sockets_recv_messages_on_poll_group()no longer frees a struct after transferring it into the result array, matching the ownership pattern used by the socket-pair helper.steam_net_sockets_set_connection_name()now returnsfalsewhen the networking sockets API is unavailable.Validation
git diff --checkxcodebuild -list -project source/Steamworks_gml/extensions/steamworks/steamworks_macos/Steamworks.xcodeprojxcodebuild -project source/Steamworks_gml/extensions/steamworks/steamworks_macos/Steamworks.xcodeproj -scheme Steamworks -configuration Debug CODE_SIGNING_ALLOWED=NO buildreaches compilation, then stops because this checkout does not includesteam_api.hfrom the Steamworks SDK.SteamGameServer_Init, GameServer callback dispatch, and the dedicated server lifecycle.Runtime note: I did not run a live Steam dedicated server from this environment because the local checkout is missing the Steamworks SDK headers required for a native build.