Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 18 additions & 9 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,14 @@ jobs:
strategy:
matrix:
python-version: [ 3.11 ]
os: [ windows-latest, ubuntu-24.04 ]
# Ubuntu 24.04 builds will be available until the end of 2029.
# Ubuntu 22.04 builds will be available until the end of 2027.
os: [ windows-latest, ubuntu-24.04, ubuntu-22.04 ]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install Deps
Expand All @@ -28,32 +30,39 @@ jobs:
sudo dpkg --add-architecture i386
sudo apt-get install bash lib32z1-dev libc6-dev-i386
sudo apt-get install g++-multilib
- uses: actions/checkout@v2
- name: Update Clang (ubuntu-22.04 only)
if: matrix.os == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y clang-15
- uses: actions/checkout@v6
name: Clone AMBuild
with:
repository: 'alliedmodders/ambuild'
path: 'assets/ambuild'
- name: install AMBuild
run: pip install ./assets/ambuild
- uses: actions/checkout@v2
- uses: actions/checkout@v6
name: Clone SteamworksSDK
with:
repository: 'irql-notlessorequal/SteamworksSDK'
path: 'assets/SteamworksSDK'
token: ${{ secrets.STEAMWORKS_SDK_OAUTH }}
- uses: actions/checkout@v2
- uses: actions/checkout@v6
name: Clone hl2sdk-sdk2013
with:
repository: 'alliedmodders/hl2sdk'
ref: 'sdk2013'
path: 'assets/hl2sdk-sdk2013'
- uses: actions/checkout@v2
# Currently using SourceMod 1.12, once 1.13 is stable then
# the build system will use that as the basis for compilation.
- uses: actions/checkout@v6
name: Clone Metamod Source
with:
repository: 'alliedmodders/metamod-source'
ref: '1.12-dev'
path: 'assets/mmsource-central'
- uses: actions/checkout@v3
- uses: actions/checkout@v6
name: Clone Sourcemod
with:
repository: 'alliedmodders/sourcemod'
Expand All @@ -66,7 +75,7 @@ jobs:
run: |
cd build
bash ./build
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
name: Upload build artifacts
with:
name: "steamworks-x64-${{matrix.os}}-git"
Expand Down
29 changes: 26 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,27 @@
SteamWorks
==========
# SteamWorks

Exposing SteamWorks functions to SourcePawn.
Exposing SteamWorks functions to SourcePawn, 64-bit edition.

## How to get a build

Click on the Actions tab above, this will take you to a list of builds.

Choose the latest build from the `x64` branch, as builds older than ninety days have their artifacts automatically removed.

> Make sure it has the "SteamWorks.ext Build" subtext!

Pick the artifact that suits what your server is running on.

Click on the download icon _(down arrow with tray)_ to download the artifact,
if the icon is not visible, you have to sign in to GitHub in order for it to let you download them.

## Differences in Linux builds

The `ubuntu-22.04` and `ubuntu-24.04` builds differ in the environment they
were built in. Meaning that the version of `glibc` which they are using and expect as a minimum in order to run differs.

For reference:

`ubuntu-22.04` uses glibc 2.35.

`ubuntu-24.04` uses glibc 2.39.