diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 9146dfa53da..4b1ec0f0c42 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -31,6 +31,12 @@ jobs: arch: x64 - platform: linux arch: x86 + - platform: linux + arch: x64 + dedicated: true + - platform: linux + arch: x86 + dedicated: true runs-on: ${{ matrix.platform == 'windows' && 'windows-latest' || 'ubuntu-latest' }} container: ${{ matrix.platform == 'linux' && 'registry.gitlab.steamos.cloud/steamrt/sniper/sdk:latest' || '' }} steps: @@ -58,7 +64,7 @@ jobs: if: runner.os == 'Linux' working-directory: ${{ github.workspace }}/src run: | - VPC_NINJA_BUILD_MODE=${{env.BUILD_TYPE}} devtools/bin/vpc /${{ matrix.arch == 'x86' && 'linux32' || 'linux64' }} /jbmod /ninja /define:SOURCESDK ${{ env.BUILD_TYPE == 'Retail' && '/define:PUBLISH' || '' }} +everything /mksln _vpc_/ninja/${{ matrix.arch }} + VPC_NINJA_BUILD_MODE=${{env.BUILD_TYPE}} devtools/bin/vpc /${{ matrix.arch == 'x86' && 'linux32' || 'linux64' }} /jbmod /ninja /define:SOURCESDK ${{ env.BUILD_TYPE == 'Retail' && '/define:PUBLISH' || '' }} ${{ matrix.dedicated && '/dedicated +dedicated' || '+everything' }} /mksln _vpc_/ninja/${{ matrix.arch }} if [ "${{ matrix.arch }}" = "x86" ]; then sed -i 's/i386-linux/i686-linux/g' _vpc_/ninja/${{ matrix.arch }}.ninja fi @@ -79,12 +85,14 @@ jobs: - name: Build (Linux) if: runner.os == 'Linux' working-directory: ${{ github.workspace }}/src - run: ninja -f "_vpc_/ninja/${{ matrix.arch }}.ninja" -j$(nproc) + run: | + ninja -f "_vpc_/ninja/${{ matrix.arch }}.ninja" -j$(nproc) + rm -f ../game/srcds* - name: Store artifacts uses: actions/upload-artifact@v7 with: - name: game-${{ matrix.platform }}-${{ matrix.arch }} + name: game-${{ matrix.platform }}-${{ matrix.arch }}${{ matrix.dedicated && 'srv' || '' }} retention-days: 1 path: | game @@ -94,7 +102,7 @@ jobs: - name: Store symbol artifacts uses: actions/upload-artifact@v7 with: - name: game-${{ matrix.platform }}-${{ matrix.arch }}-sym + name: game-${{ matrix.platform }}-${{ matrix.arch }}${{ matrix.dedicated && 'srv' || '' }}-sym retention-days: 1 path: | game/**/*.${{ matrix.platform == 'windows' && 'pdb' || 'dbg' }} @@ -219,8 +227,10 @@ jobs: cp -r $art/* dist/$target/ rm -f dist/$target/srcds* + rm -f dist/$target/jbmod/bin/*_srv* dist/$target/jbmod/bin/linux64/*_srv* cp -r $art/* dist_srcds/$target/ rm -f dist_srcds/$target/jbmod_* dist_srcds/$target/jbmod*.exe + rm -f dist_srcds/$target/jbmod/bin/client* dist_srcds/$target/jbmod/bin/x64/client* dist_srcds/$target/jbmod/bin/linux64/client* fi done diff --git a/src/launcher_main/dedicated_main_jbmod.vpc b/src/launcher_main/dedicated_main_jbmod.vpc index 1265bd8782f..83db400973f 100644 --- a/src/launcher_main/dedicated_main_jbmod.vpc +++ b/src/launcher_main/dedicated_main_jbmod.vpc @@ -1,7 +1,7 @@ $Macro OUTBINNAME "srcds" $Conditional "MOD_LAUNCHER" "1" -$Conditional "DEDICATED" "1" +$Conditional "DED_LAUNCHER" "1" $Include "launcher_main.vpc" diff --git a/src/launcher_main/main.cpp b/src/launcher_main/main.cpp index 44301ebdb3a..af46f1b169e 100644 --- a/src/launcher_main/main.cpp +++ b/src/launcher_main/main.cpp @@ -36,7 +36,7 @@ typedef int (*LauncherMain_t)( int argc, char **argv ); #error #endif -#ifndef DEDICATED +#ifndef DED_LAUNCHER #ifdef WIN32 // hinting the nvidia driver to use the dedicated graphics card in an optimus configuration // for more info, see: http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf @@ -224,7 +224,7 @@ static bool GetGameInstallDir( const char *pRootDir, char *pszBuf, int nBufSize unLength = pSteamApps->GetAppInstallDir( k_unMyModAppid, pszBuf, nBufSize ); } -#ifndef DEDICATED +#ifndef DED_LAUNCHER UnloadSteam(); #endif @@ -462,7 +462,7 @@ int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdL SetEnvironmentVariableA( "SDK_EXEC_DIR", szGameInstallDir ); -#ifdef DEDICATED +#ifdef DED_LAUNCHER #define LAUNCHER_PROCNAME "DedicatedMain" #define LAUNCHER_DLL_PATH "%s\\" PLATFORM_BIN_DIR "\\dedicated.dll" #else diff --git a/src/lib/public/linux32/bitmap_srv.a b/src/lib/public/linux32/bitmap_srv.a new file mode 100644 index 00000000000..81618a08c4e Binary files /dev/null and b/src/lib/public/linux32/bitmap_srv.a differ diff --git a/src/lib/public/linux32/choreoobjects_srv.a b/src/lib/public/linux32/choreoobjects_srv.a new file mode 100644 index 00000000000..ccf44ac178b Binary files /dev/null and b/src/lib/public/linux32/choreoobjects_srv.a differ diff --git a/src/lib/public/linux32/dmxloader_srv.a b/src/lib/public/linux32/dmxloader_srv.a new file mode 100644 index 00000000000..0ec68d06a0a Binary files /dev/null and b/src/lib/public/linux32/dmxloader_srv.a differ diff --git a/src/lib/public/linux32/libtier0_srv.so b/src/lib/public/linux32/libtier0_srv.so new file mode 100644 index 00000000000..63bdf108786 Binary files /dev/null and b/src/lib/public/linux32/libtier0_srv.so differ diff --git a/src/lib/public/linux32/libvstdlib_srv.so b/src/lib/public/linux32/libvstdlib_srv.so new file mode 100644 index 00000000000..9c820b4220b Binary files /dev/null and b/src/lib/public/linux32/libvstdlib_srv.so differ diff --git a/src/lib/public/linux32/particles_srv.a b/src/lib/public/linux32/particles_srv.a new file mode 100644 index 00000000000..41b07209eeb Binary files /dev/null and b/src/lib/public/linux32/particles_srv.a differ diff --git a/src/lib/public/linux32/tier2_srv.a b/src/lib/public/linux32/tier2_srv.a new file mode 100644 index 00000000000..207aee67436 Binary files /dev/null and b/src/lib/public/linux32/tier2_srv.a differ diff --git a/src/lib/public/linux32/tier3_srv.a b/src/lib/public/linux32/tier3_srv.a new file mode 100644 index 00000000000..4b7ec24a5ea Binary files /dev/null and b/src/lib/public/linux32/tier3_srv.a differ diff --git a/src/lib/public/linux64/bitmap_srv.a b/src/lib/public/linux64/bitmap_srv.a new file mode 100644 index 00000000000..f0c86e14e78 Binary files /dev/null and b/src/lib/public/linux64/bitmap_srv.a differ diff --git a/src/lib/public/linux64/choreoobjects_srv.a b/src/lib/public/linux64/choreoobjects_srv.a new file mode 100644 index 00000000000..7315b216582 Binary files /dev/null and b/src/lib/public/linux64/choreoobjects_srv.a differ diff --git a/src/lib/public/linux64/dmxloader_srv.a b/src/lib/public/linux64/dmxloader_srv.a new file mode 100644 index 00000000000..1cc07e2993a Binary files /dev/null and b/src/lib/public/linux64/dmxloader_srv.a differ diff --git a/src/lib/public/linux64/libtier0_srv.so b/src/lib/public/linux64/libtier0_srv.so new file mode 100644 index 00000000000..fa137c93d42 Binary files /dev/null and b/src/lib/public/linux64/libtier0_srv.so differ diff --git a/src/lib/public/linux64/libvstdlib_srv.so b/src/lib/public/linux64/libvstdlib_srv.so new file mode 100644 index 00000000000..46fc988b581 Binary files /dev/null and b/src/lib/public/linux64/libvstdlib_srv.so differ diff --git a/src/lib/public/linux64/particles_srv.a b/src/lib/public/linux64/particles_srv.a new file mode 100644 index 00000000000..d12587ad19e Binary files /dev/null and b/src/lib/public/linux64/particles_srv.a differ diff --git a/src/lib/public/linux64/tier2_srv.a b/src/lib/public/linux64/tier2_srv.a new file mode 100644 index 00000000000..16546ff81f9 Binary files /dev/null and b/src/lib/public/linux64/tier2_srv.a differ diff --git a/src/lib/public/linux64/tier3_srv.a b/src/lib/public/linux64/tier3_srv.a new file mode 100644 index 00000000000..d00f17c4fb0 Binary files /dev/null and b/src/lib/public/linux64/tier3_srv.a differ