Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
7c6d6e4
Rework detours
jensewe Aug 11, 2024
b4bd3a7
Fix snapshot leaking memory
jensewe Aug 11, 2024
d022234
Enable optimization
jensewe Aug 11, 2024
5b42cbb
Attempt to fix missing `ThreadInterlockedDecrement`
jensewe Aug 12, 2024
37fd62d
Attempt to fix missing `ThreadInterlockedDecrement`
jensewe Aug 12, 2024
a0ccd9e
Attempt to fix wrong player data
jensewe Aug 13, 2024
699f394
oops
jensewe Aug 13, 2024
4c59343
oops2
jensewe Aug 13, 2024
63e96e6
Fix mistake clearing packed entities
jensewe Aug 14, 2024
0405b09
Fix mistake clearing packed entities 2
jensewe Aug 14, 2024
73d4e74
Fix mistake clearing packed entities 3
jensewe Aug 14, 2024
37624ca
Update extension.cpp
jensewe Aug 14, 2024
2e3ac94
Fix mistake clearing packed entities 4
jensewe Aug 14, 2024
8037ff1
Fix mistake clearing packed entities 5
jensewe Aug 14, 2024
87e6661
Revert all packed entity changes
jensewe Aug 15, 2024
0950f0b
Remove outdated binaries
jensewe Aug 15, 2024
fcc930a
Remove leftover line
jensewe Aug 15, 2024
9421187
Update AMBuildScript
jensewe Aug 15, 2024
7f084a4
Update windows gamedata & Cleanup
jensewe Sep 21, 2024
33b926e
Remove leftover `CGameClient::s_iOffs_edict`
jensewe Sep 21, 2024
d36606c
Fix unable to `UnhookArrayPropGamerules`
jensewe Jan 27, 2025
b152c11
Update .gitignore
jensewe Apr 7, 2025
2530f0f
Attempt to address entity origin issue
jensewe Apr 8, 2025
85abebe
Attempt to address entity origin issue
jensewe Apr 8, 2025
0cd8455
Merge branch 'main' into rework
jensewe Apr 8, 2025
ea8cb33
Merge branch 'rework' of https://github.com/jensewe/Left4SendProxy in…
jensewe Apr 8, 2025
b5bbddb
Reworks
jensewe Aug 17, 2025
381330d
Merge branch 'main' into rework
jensewe Aug 17, 2025
551aea3
Fix missing "sm_hashmap.h"
jensewe Aug 17, 2025
d6f66f9
Fix missing hash policy
jensewe Aug 17, 2025
6834384
Cleanup
jensewe Aug 17, 2025
b0656f7
Fix SM1.11 compatibility
jensewe Aug 17, 2025
4612903
Fix callback type of gamerules hooks
jensewe Aug 17, 2025
cf5a28a
Fix assertion failure on current client index
jensewe Aug 17, 2025
b6b04fb
Enable debug build
jensewe Aug 17, 2025
85b4ab3
Fix wrong element passed to callback when hooking datatable member
jensewe Aug 18, 2025
d80906e
Fix some mistakes causing crashes
jensewe Sep 2, 2025
b2124fe
Fix startup crash on windows
jensewe Sep 3, 2025
11bfeab
Remove currently unnecessary interfaces
jensewe Sep 3, 2025
b7207cd
Deprecate use on local server
jensewe Sep 3, 2025
3a3da91
Improve documentation in include file
jensewe Sep 3, 2025
4850c88
Restore `SMEXT_ENABLE_FORWARDSYS`
jensewe Sep 3, 2025
2a190e7
Remove client assertion to prevent crashes
jensewe Oct 7, 2025
0ef1ccb
Fix client 0 in string proxy callback
jensewe Oct 7, 2025
47e00f7
Bump version & Update info
jensewe Oct 7, 2025
6f6bddc
Revert fatal assertion in `HookEntity`
jensewe Oct 7, 2025
4d3def9
Fix frame snapshot leaking
jensewe Oct 11, 2025
12b42ea
Fix obsolete packs cause crashes on new client joining
jensewe Oct 11, 2025
00dbed3
Fix crash on unloading
jensewe Oct 12, 2025
28b1d38
Minor optimization on save/apply change state
jensewe Oct 12, 2025
93f5167
Allow returning invalid ehandle
jensewe Oct 12, 2025
2fc2d5e
Minor code reordering
jensewe Oct 12, 2025
885afa3
Cleanup
jensewe Oct 12, 2025
f80e6a4
Minor include reorganizing
jensewe Oct 12, 2025
eca27e2
Enable Valve's memory override
jensewe Dec 7, 2025
8587476
Update Python version to 3.12
jensewe Dec 7, 2025
95db5f3
Revert "Enable Valve's memory override"
jensewe Dec 7, 2025
0d4368d
Attempt to fix invalid memory access on windows
jensewe Dec 7, 2025
e6e2b93
Revert "Attempt to fix invalid memory access on windows"
jensewe Dec 10, 2025
ef1cce4
Enable Valve's memory override
jensewe Dec 11, 2025
e759314
Disable debug build for Windows
jensewe Dec 11, 2025
888611b
Reconcile folder structure
jensewe Dec 11, 2025
98ebc2e
Fix source codes being included to package
jensewe Dec 11, 2025
06a2ef0
Update AMBuild to 2.2
jensewe Dec 11, 2025
f4d82c4
Attempt to add safetyhook support
jensewe Dec 12, 2025
c753d18
Add build for multiple SM versions
jensewe Dec 12, 2025
6744475
Merge branch 'master' into rework
jensewe Dec 12, 2025
2784f22
Fix build step & name
jensewe Dec 12, 2025
01355d6
Merge branch 'rework' of https://github.com/jensewe/Left4SendProxy in…
jensewe Dec 12, 2025
fb7b052
Attempt to fix hl2sdk manifest lookup
jensewe Dec 12, 2025
f7874dd
Fix build
jensewe Dec 12, 2025
2d24f52
Fix build with SM1.11
jensewe Dec 12, 2025
c0906e5
Fix build artifact name
jensewe Dec 12, 2025
75a1230
Restore local server support except when network backdoor is used
jensewe Feb 6, 2026
355cc5a
workflow: Remove L4D1 build to prevent confusion
jensewe Feb 6, 2026
30f0a37
Fix compile errors
jensewe Feb 6, 2026
48dbdef
Notify user when used in single player
jensewe Feb 6, 2026
9a17315
.gitignore: Add safetyhook folder
jensewe Feb 6, 2026
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
83 changes: 55 additions & 28 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,24 +13,42 @@ jobs:
strategy:
matrix:
os: [ubuntu-22.04, ubuntu-latest, windows-latest]
sm_version: [sm1.11, sm1.12, smlatest]
include:
- os: windows-latest
os_short: win
compiler_cc: msvc
dbgopt:
- os: ubuntu-latest
os_short: linux
compiler_cc: clang
compiler_cxx: clang++
dbgopt: --enable-debug
- os: ubuntu-22.04
os_short: oldlinux
compiler_cc: clang-14
compiler_cxx: clang++-14
dbgopt: --enable-debug

- sm_version: sm1.11
sm_branch: 1.11-dev
mm_branch: 1.10-dev
hl2sdk_manifest_prepare: true
- sm_version: sm1.12
sm_branch: 1.12-dev
mm_branch: 1.12-dev
hl2sdk_manifest_prepare: false
- sm_version: smlatest
sm_branch: master
mm_branch: 1.12-dev
hl2sdk_manifest_prepare: false

fail-fast: false

name: Build Project ${{ matrix.os_short }}
name: Build ${{ matrix.os_short }}-${{ matrix.sm_version }}
runs-on: ${{ matrix.os }}
env:
SDKS: '["l4d","l4d2"]'
SDKS: '["l4d2"]'

steps:
- name: Setup Environment
Expand Down Expand Up @@ -72,27 +90,42 @@ jobs:
)

- uses: actions/setup-python@v5
name: Setup Python 3.8
name: Setup Python 3.12
with:
python-version: 3.8
python-version: 3.12
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip setuptools wheel

- name: Checkout Repository
uses: actions/checkout@v4
with:
path: src

- name: Prepare Alliedmodders Directory
shell: bash
run: |
mkdir alliedmodders

- name: Install AMBuild
working-directory: alliedmodders
run: |
git clone https://github.com/alliedmodders/ambuild
pip install ./ambuild

- name: Prepare Sourcemod
working-directory: alliedmodders
run: |
git clone --recursive https://github.com/alliedmodders/sourcemod -b 1.11-dev
git clone --recursive https://github.com/alliedmodders/sourcemod sourcemod -b ${{ matrix.sm_branch }}

- name: Setup HL2SDK Manifest Environment
if: ${{ !matrix.hl2sdk_manifest_prepare }}
shell: bash
run: |
echo "HL2SDKMANIFEST=${{ github.workspace }}/alliedmodders/sourcemod/hl2sdk-manifests" >> $GITHUB_ENV

- name: Prepare HL2SDK Manifest
working-directory: alliedmodders
if: matrix.hl2sdk_manifest_prepare
shell: bash
run: |
git clone https://github.com/alliedmodders/hl2sdk-manifests hl2sdk-manifests
echo "HL2SDKMANIFEST=${{ github.workspace }}/alliedmodders/hl2sdk-manifests" >> $GITHUB_ENV

- name: Prepare L4D SDK
working-directory: alliedmodders
Expand All @@ -104,36 +137,30 @@ jobs:
- name: Prepare Metamod Source
working-directory: alliedmodders
run: |
git clone https://github.com/alliedmodders/metamod-source mmsource-1.10 -b 1.10-dev

- name: Install AMBuild
working-directory: alliedmodders
run: |
git clone https://github.com/alliedmodders/ambuild
pip install ./ambuild
git clone https://github.com/alliedmodders/metamod-source metamod-source -b ${{ matrix.mm_branch }}

- name: Checkout Repository
uses: actions/checkout@v4
with:
path: src

- name: Run AMBuild
working-directory: src
shell: bash
run: |
cd extension
mkdir build
cd build
python ../configure.py \
--hl2sdk-root="${{ github.workspace }}/alliedmodders" \
--sm-path="${{ github.workspace }}/alliedmodders/sourcemod" \
--mms-path="${{ github.workspace }}/alliedmodders/mmsource-1.10" \
--sdks=${{ join(fromJSON(env.SDKS)) }}
--mms-path="${{ github.workspace }}/alliedmodders/metamod-source" \
--sdks=${{ join(fromJSON(env.SDKS)) }} \
--enable-optimize \
${{ matrix.dbgopt }}
ambuild

- name: Copy to addons directory
working-directory: src
shell: bash
run: |
cp -r extension/build/package/addons/sourcemod/extensions addons/sourcemod

- name: Upload Binary (Package)
uses: actions/upload-artifact@v4
with:
name: sendproxy-${{ matrix.os_short }}
path: src
name: sendproxy-${{ matrix.os_short }}-${{ matrix.sm_version }}-${{ env.GITHUB_SHA_SHORT }}
path: src/build/package
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,6 @@

.vscode/*.*

extension/build/*
extension/build/*
build/*
safetyhook/*
Loading