Skip to content

Commit

Permalink
Updated to GodotSteam Server 4.3
Browse files Browse the repository at this point in the history
Updated GA files, again...

Removed unnecessary bin folder

More GA fixes, send help
  • Loading branch information
Gramps committed May 21, 2024
1 parent 483bcb2 commit 994b7f4
Show file tree
Hide file tree
Showing 8 changed files with 3,227 additions and 4,264 deletions.
39 changes: 25 additions & 14 deletions .github/workflows/build-gdextension.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,19 @@ on:
steamworks_sdk_tag:
required: true
type: string

secrets:
steamworks_sdk_repo:
required: true

steamworks_sdk_repo_token:
required: true


env:
BASE_BRANCH: gdextension


jobs:
build-gdextension:
runs-on: ${{ matrix.opts.runner }}
Expand All @@ -27,18 +31,21 @@ jobs:
target: template_debug
platform: linux
arch: x86_64

- identifier: linux-release (x86_64)
name: Linux (x86_64) - template_release
runner: ubuntu-20.04
target: template_release
platform: linux
arch: x86_64

- identifier: linux-debug (x86_32)
name: Linux (x86_32) - template_debug
runner: ubuntu-20.04
target: template_debug
platform: linux
arch: x86_32

- identifier: linux-release (x86_32)
name: Linux (x86_32) - template_release
runner: ubuntu-20.04
Expand All @@ -52,18 +59,21 @@ jobs:
target: template_debug
platform: windows
arch: x86_64

- identifier: windows-release (x86_64)
name: Windows (x86_64) - template_release
runner: windows-latest
target: template_release
platform: windows
arch: x86_64

- identifier: windows-debug (x86_32)
name: Windows (x86_32) - template_debug
runner: windows-latest
target: template_debug
platform: windows
arch: x86_32

- identifier: windows-release (x86_32)
name: Windows (x86_32) - template_release
runner: windows-latest
Expand All @@ -77,13 +87,15 @@ jobs:
target: template_release
platform: macos
arch: universal

- identifier: macos-debug (universal)
name: MacOS (universal) - template_debug
runner: macos-latest
target: template_debug
platform: macos
arch: universal


steps:
- name: Checkout project
uses: actions/checkout@v4
Expand Down Expand Up @@ -149,6 +161,7 @@ jobs:
python -c "import sys; print(sys.version)"
python -m pip install scons
scons --version
- name: Load .scons_cache directory
id: godot-extension-cache
uses: actions/cache@v4
Expand All @@ -159,6 +172,7 @@ jobs:
${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}
${{github.job}}-${{env.BASE_BRANCH}}-${{env.BASE_BRANCH}}
- name: Compile extension
shell: sh
env:
Expand All @@ -167,11 +181,13 @@ jobs:
run: |
PATH=/opt/buildroot/bin:$PATH scons target='${{ matrix.opts.target }}' platform='${{ matrix.opts.platform }}' arch='${{ matrix.opts.arch }}' ${{ matrix.opts.args }} -j2
ls -la bin/
# - name: Strip bins
# if: "!startsWith(matrix.opts.identifier, 'windows-') && startsWith(matrix.opts.arch, 'x86_')"
# shell: sh
# run: |
# strip bin/*
- name: Strip bins
if: "!startsWith(matrix.opts.identifier, 'windows-') && startsWith(matrix.opts.arch, 'x86_')"
shell: sh
run: |
strip bin/*
- name: Prepare artifact
shell: sh
run: |
Expand All @@ -181,12 +197,6 @@ jobs:
cd project/addons/godotsteam_server
mkdir win32
touch linux64/.gdignore
touch linux32/.gdignore
touch osx/.gdignore
touch win64/.gdignore
touch win32/.gdignore
mv *.x86_64.so linux64/ || true
mv *.x86_32.so linux32/ || true
Expand All @@ -196,11 +206,12 @@ jobs:
rm -rf *.exp *.lib
cd ../../..
cp -n 'README.md' 'LICENSE.txt' 'godotsteam_server.gdextension' project/addons/godotsteam_server
echo "480" > project/steam_appid.txt
cp -n 'godotsteam_server.gdextension' project/addons/godotsteam_server
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: gdextension
path: |
project/
project/
retention-days: 14
10 changes: 8 additions & 2 deletions .github/workflows/build-releases.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,29 @@
name: Build Releases


on:
workflow_dispatch:
inputs:
steamworks_sdk_tag:
description: 'Steamworks SDK Tag:'
required: true
type: string
default: 'sdk-1.58'
default: 'sdk-1.59'

godotsteam_version:
description: 'GodotSteam Server GDExtension Tag:'
required: true
type: string
default: 'v4.1-gde'
default: 'v4.3-gde'


jobs:
build-gdextension-release:
uses: ./.github/workflows/build-gdextension.yml

with:
steamworks_sdk_tag: ${{ inputs.steamworks_sdk_tag }}

secrets:
steamworks_sdk_repo: ${{ secrets.STEAMWORKS_SDK_REPO }}
steamworks_sdk_repo_token: ${{ secrets.STEAMWORKS_SDK_REPO_TOKEN }}
42 changes: 34 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,43 @@ Feel free to chat with us about GodotSteam on the [CoaguCo Discord server](https

Current Build
---
You can [download pre-compiled versions _(currently v4.1)_ of this repo here](https://github.com/CoaguCo-Industries/GodotSteam-Server/releases).
You can [download pre-compiled versions of this repo here](https://github.com/CoaguCo-Industries/GodotSteam-Server/releases).

**Version 4.1 Changes**
- 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.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](https://godotsteam.com/changelog/server4/).

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
---
- GDExtension for 4.1 is **not** compatible with 4.0.3 or lower. Please check the versions you are using.
Expand All @@ -49,7 +75,7 @@ When exporting with the GDExtension version, please use the normal Godot Engine

Donate
---
Pull-requests are the best way to help the project out but you can also donate through [Github Sponsors](https://github.com/sponsors/Gramps), [Ko-Fi](https://ko-fi.com/grampsgarcia), or [Paypal](https://www.paypal.me/sithlordkyle)!
Pull-requests are the best way to help the project out but you can also donate through [Github Sponsors](https://github.com/sponsors/Gramps)!

License
---
Expand Down
Empty file removed bin/output here
Empty file.
Loading

0 comments on commit 994b7f4

Please sign in to comment.