Skip to content

The dedicated server builds for GodotSteam, an open-source and fully functional Steamworks SDK / API module and plug-in for the Godot Game Engine.

License

Notifications You must be signed in to change notification settings

GodotSteam/GodotSteam-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

GPGP
GP
and
GP
May 20, 2024
dd598c4 · May 20, 2024

History

24 Commits
May 20, 2024
May 20, 2024
Oct 3, 2023
Feb 24, 2024
May 20, 2024
Oct 3, 2023
Oct 3, 2023
May 20, 2024
May 20, 2024
May 20, 2024
Oct 3, 2023
Oct 3, 2023
Oct 3, 2023

Repository files navigation

GodotSteam for Godot Engine

An open-source and fully functional Steamworks SDK / API module and plug-in for the Godot Game Engine (version 4.x). For the Windows, Linux, and Mac platforms.

Additional Flavors

Pre-Compiles Plug-ins Server Examples/Demos
Godot 2.x GDNative Server 3.x Godot 3.x
Godot 3.x GDExtension Server 4.x Godot 4.x
Godot 4.x --- GDNative Server 3.x
Multiplayer Peer --- GDExtension Server 4.x

Documentation

Documentation is available here. You can also check out the Search Help section inside Godot Engine after compiling it with GodotSteam.

Feel free to chat with us about GodotSteam on the CoaguCo Discord server.

Current Build

You can download pre-compiled versions of this repo here.

Version 4.3 Changes

  • 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

You can read more change-logs here.

Compatibility

While rare, sometimes Steamworks SDK updates will break compatilibity with older GodotSteam versions. Any compatability breaks are noted below. API files (dll, so, dylib) should still work for older version.

Steamworks SDK Version GodotSteam Version
1.59 or newer 4.2 or newer
1.58a or older 4.1 or older

Versions of GodotSteam that have compatibility breaks introduced.

GodotSteam Version Broken Compatibility
4.3 Networking identity system removed, replaced with Steam IDs

Known Issues

  • Steam overlay will not work when running your game from the editor if you are using Forward+ as the renderer. It does work with Compatibility though. Your exported project will work perfectly fine in the Steam client, however.
  • Using MinGW causes crashes. I strongly recommend you do not use MinGW to compile at this time.

"Quick" How-To

For complete instructions on how to build the Godot 4.x version of GodotSteam Server from scratch, please refer to our documentation's 'How-To Modules' section. It will have the most up-to-date information.

Alternatively, you can just download the pre-compiled versions in our Releases section and skip compiling it yourself!

Donate

Pull-requests are the best way to help the project out but you can also donate through Github Sponsors!

License

MIT license