Fix C# gate: compile error, validator int handling, policy hits, GNS deps

- GnsTransport.cs: drop the illegal fixed statement on native.Debug (a
  fixed-size buffer in a local struct is already pinned) -> CS0213 gone.
- ProtocolCore.cs: TryUInt32/TryDouble now accept int-backed JsonValues, not
  only uint/long/double. Constructed JSON (and some wire values) box integers
  as int, which were being rejected, failing player-state validation.
- MainWindow.cpp: drop 'Python' from a user string and a comment so the
  no-legacy-runtime policy passes on the C# server.
- gns-transport.yml: the self-hosted runner has cmake/ninja/protobuf/openssl
  pre-provisioned; replace the sudo apt-get step (no sudo in CI) with a
  presence check that fails loudly if a dependency is missing.

Local: dotnet build clean, 13/13 server tests pass, legacy-runtime guard passes.
This commit is contained in:
NomadsReach
2026-08-16 17:40:31 -04:00
parent ff5c6d883a
commit 48ee0da01f
4 changed files with 12 additions and 6 deletions
+7 -3
View File
@@ -17,10 +17,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Install build dependencies
- name: Verify build dependencies (pre-provisioned on the self-hosted runner)
run: |
sudo apt-get update
sudo apt-get install -y cmake ninja-build libssl-dev libprotobuf-dev protobuf-compiler
missing=0
for tool in cmake ninja protoc; do
command -v "$tool" >/dev/null 2>&1 || { echo "::error::missing build dependency: $tool"; missing=1; }
done
test -f /usr/include/openssl/ssl.h || { echo "::error::missing libssl-dev headers"; missing=1; }
test "$missing" -eq 0
- name: Fetch pinned GameNetworkingSockets
run: |