Server 4.x
A history of all changes to the server4 branch.
Version 4.11
- Added: pre-commit static checks, thanks to false
- Changed: merged GDExtension branch into Godot 4, thanks to fales
- Changed: improvements to the build system, thanks to fales
- Changed: revised small bits of code
- Removed: automatic API fix for Windows as it will not run due to failing to load
Version 4.10
- Added: new enums for UGC, Utils
- Added: new functions for Utils
- Changed: sendMessages() now has delete_failed_messages parameter
- Changed: updated for Steamworks SDK 1.65
- Changed: updated in-editor docs
- Changed: k_cchDeveloperMetadataMax now set to 10000 instead of 5000
- Removed: isSteamRunningOnSteamDeck() as new functionality was introduced in SDK 1.65
Version 4.9.3
- Added: missing descriptions for constants and enums in in-editor docs
- Changed: initFilterText() no longer takes argument as it is meant for future use
- Fixed: filterText() breaking character encoding during filtering process
- Fixed: missing networking enum binds
- Fixed: error in in-editor docs
- Fixed: incorrect array types for some signals
Version 4.9.2
- Changed: added last of the enum and constant notes to the in-editor docs
Version 4.9.1
- Changed: version bump for Godot 4.6.2 and to match GDExtension update
Version 4.9
- Added: new functions and enums from Steamworks SDK 1.64
- Added: GodotSteam icon to Windows builds for precompiled editors
- Changed: part one of in-editor doc updates, adding text for constants and enums
- Changed: updated in-editor docs for SDK 1.64
- Changed: swapped NULLs for nullptrs where necessary
- Fixed: enum namespace qualification for proper extension_api.json generation, thanks to leetleaf
Version 4.8.1
- Changed: SCsub and config.py for ARM64 and Android
Version 4.8
- Added: new enums to Result and HTTPStatusCode per Steam SDK 1.63
- Changed: converted functions entirely over to the Flat API system
- Changed: renamed some minor parameters
- Changed: getAPICallFailureReason() now returns enum instead of string Fixed: initFilterText() now takes filter options
- Fixed: sendMessages() not compiling correctly
Version 4.7.2
- Added: missing function updatePlayerData()
- Changed: converted Input, NetworkingUtils and UGC class to Flat API to stop MinGW crashes
- Changed: int to uint64_t in file_share_result callback which broke the UGC handle
- Removed: remnant bind for current_stats_received which was removed long ago
Version 4.7.1
- Changed: minor things from porting process
- Fixed: binding certain functions to non-server classes
- Fixed: code related to checking for manual run_callbacks() and embedded callbacks
Version 4.7
- Added: patch file for MinGW compatibility
- Added: missing UGC functions setAllowLegacyUpload(), removeAllItemKeyValueTags()
- Added: missing Networking Sockets function setConnectionUserData()
- Added: missing Networking Utils functions setDebugOutputFunction(), getIPv4FakeIPType(), getRealIdentityForFakeIP(), setGlobalCallbackSteamNetConnectionStatusChanged(), setGlobalCallbackSteamNetAuthenticationStatusChanged(), setGlobalCallbackSteamRelayNetworkStatusChanged(), setGlobalCallbackFakeIPResult(), setGlobalCallbackMessagesSessionRequest(), setGlobalCallbackMessagesSessionFailed(), iterateGenericEditableConfigValues()
- Added: missing Remote Storage call results published_file_subscribed, published_file_unsubscribed
- Added: some missing constants
- Added: default values to getQueryUGCContentDdescriptors() and getUserContentDescriptorPreferences() for max_entries as there are only five values currently
- Added: missing releaseCurrentThreadMemory() function
- Changed: included file ID in returned callback item_updated
- Changed: included next cursor in returned callback ugc_query_completed
- Changed: added missing result response to steam_server_disconnected callback
- Changed: minor swaps from integers to enums where needed
- Changed: some argument or variable names for clarity
- Changed: global_stats_received now returns the enum / int instead of string for result
- Changed: retrieveConnectionDetails() now returns a dictionary instead of the connection details string
- Changed: base_prices to base_price in getItemsWithPrices()
- Fixed: added missing "app_ids" hint to get_app_dependencies_result callback
- Fixed: published file ID not being uint64_t in some Remote Storage signals
- Fixed: various types
- Fixed: using direct values instead of constants when the names could not be found
- Fixed: setOverlayNotificationPosition() not using given argument
- Fixed: incorrect spelling in enum name
- Removed: branch_size key from returned dictionary in getSupportedGameVersionData() as it was misleading and useless
- Removed: sender_user_data key from returned dictionaries in receiveMessageOnChannel()
- Removed: buffer from returned dictionary in getConfigValue() as it was just the size
- Removed: unnecessary keys in certain Networking Socket functions where messages are received or sent
- Removed: createHostedDedicatedServerListenSocket() as it should only be in the GodotSteam Server version
Version 4.6
- Added: new functions to UGC
- Changed: getNumSubscribedItems and getSubscribedItems now take include_locally_disabled argument
Version 4.5.2
- Fixed: crash when GodotSteam converts IP addresses internally
Version 4.5.1
- Changed: updated docs
- Changed: getItemDefinitionProperty now returns dictionary, thanks to gkwaerp
Version 4.5
- Added: missing Utils class: functions, enums, constants
- Changed: minor clean-ups
- Fixed: wrong accessor for Networking Sockets, thanks to Michael Janesway
- Fixed: missing callback fro validate_auth_ticket_response, thanks to Michael Janesway
- Fixed: all wronge accessors for all other class functions
Version 4.4
- Added: public properties with set/get functions
- Added: failures now print to editor
- Changed: updated to Steamworks SDK 1.61
- Changed: added new enums from newest SDK, removed the now missing ones
- Changed: deprecating serverInit in next patch, migrate to serverInitEx
- Changed: return typed for getHTTPResponseHeaderValue and getHTTPStreamingResponseBodyData
- Changed: configureConnectionLanes now has correct type for lanes argument
- Changed: NetworkingSockets now take dictionary for options, based on godot4 branch in main GodotSteam repo
- Changed: reworked getUserAchievement, getUserStatFloat, getUserStatInt to mirror godot4 branch in main GodotSteam repo
- Fixed: setHTTPRequestRawPostBody, backport from godot4 branch in main GodotSteam repo
- Fixed: serializeResult now returns PackedByteArray
- Fixed: misspelled enum
Version 4.3
- Changed: constants list to add missing and remove unused
- Changed: Networking Messages, Sockets, and Utils now use Steam IDs instead of identity system
- Changed: various bits and pieces
- Changed: IP logic for all related functions
- Changed: UserUGCListSortOrder enums for readability
- Changed: UGCContentDescriptorID enums for readability
- Changed: getResultStatus() now returns the integer / enum
- Changed: getAuthSessionTicket() now defaults to 0 for Steam ID
- Fixed: wrong string IP conversions, thanks to jeremybeier
- Fixed: typo with UGC_MATCHING_UGC_TYPE_ITEMS enum
- Fixed: minor case issue with Workshop enums
- Fixed: typo with NETWORKING_CONFIG_TYPE_STRING enum
- Removed: unnecessary enums
- Removed: Networking Types identity system and related bits
- Removed: P2P Networking constants as they are duplicates of the P2PSend enum
- Removed: getIdentity() as it is redundant now
Version 4.2
- Added: new Remote Storage enum to WorkshopFileType
- Added: two new UGC enums to ItemState and ItemPreviewType
- Added: new Remote Play enum, form factor for VR headset
- Added: two new result enums; not supported and family size limit exceeded
- Added: three new enums to NetworkingConfigValue
- Added: new general constant ACCOUNT_ID_INVALID
- Changed: k_ESteamNetworkingConfig_SDRClient_DebugTicketAddress was replaced by k_ESteamNetworkingConfig_SDRClient_DevTicket, value is the same but reference changed
Version 4.1
- Added: a missing constant
- Changed: backported various fixes from non-server GodotSteam
- Changed: updated various function arguments to match non-server GodotSteam
- Changed: constants now live in godotsteam_server_constants.h like non-server GodotSteam
- Changed: further fixes to initialization functions
Version 4.0.1
- Changed: how initialization functions work, passing empty string now uses default IP (expected behavior)
- Fixed: incorrect verbal message from serverInitEx()
Version 4.0
- Added: missing server functions from steam_gameserver.h
- Added: missing enums for server modes
- Added: in-editor documentation
- Changed: various improvements under-the-hood
- Changed: reorganized some constants
- Removed: unused enums, signals, functions
- Removed: unnecessary classes that are not part of the server build