mirror of
				https://github.com/R2Northstar/Northstar
				synced 2025-11-02 05:10:52 +01:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			v1.21.2-rc
			...
			v1.7.2-rc1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					08266412c8 | 
							
								
								
									
										20
									
								
								.github/workflows/add-to-project.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								.github/workflows/add-to-project.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,20 +0,0 @@
 | 
			
		||||
name: add-to-project
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  issues:
 | 
			
		||||
    types:
 | 
			
		||||
      - opened
 | 
			
		||||
  pull_request_target:
 | 
			
		||||
    types:
 | 
			
		||||
      - opened
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  add-to-project:
 | 
			
		||||
    name: Add to project
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/add-to-project@v0.5.0
 | 
			
		||||
        with:
 | 
			
		||||
          project-url: "https://github.com/orgs/R2Northstar/projects/3"
 | 
			
		||||
          github-token: "${{ secrets.PROJECT_BOARD_TOKEN }}"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										192
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										192
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,192 @@
 | 
			
		||||
name: Build
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    tags:
 | 
			
		||||
      - '*'
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
    inputs:
 | 
			
		||||
      job:
 | 
			
		||||
        description: 'Job to run'
 | 
			
		||||
        required: true
 | 
			
		||||
        default: 'build-thunderstore-package'
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  NORTHSTAR_VERSION: ${{ github.ref_name }}
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  build-launcher:
 | 
			
		||||
    runs-on: windows-2022
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Setup bundled plugins
 | 
			
		||||
        uses: actions/checkout@v2
 | 
			
		||||
        with:
 | 
			
		||||
          repository: R2Northstar/NorthstarDiscordRPC
 | 
			
		||||
          path: discord-plugin
 | 
			
		||||
      - name: Checkout launcher repository
 | 
			
		||||
        uses: actions/checkout@v2
 | 
			
		||||
        with:
 | 
			
		||||
          repository: R2Northstar/NorthstarLauncher
 | 
			
		||||
          ref: ${{ env.NORTHSTAR_VERSION }}
 | 
			
		||||
          path: northstar-launcher
 | 
			
		||||
      - name: Setup MSBuild
 | 
			
		||||
        uses: microsoft/setup-msbuild@v1.1
 | 
			
		||||
      - name: Setup resource file version
 | 
			
		||||
        shell: bash
 | 
			
		||||
        working-directory: northstar-launcher
 | 
			
		||||
        run: |
 | 
			
		||||
          sed -i 's/DEV/${{ env.NORTHSTAR_VERSION }}/g' LauncherInjector/resources.rc
 | 
			
		||||
          FILEVERSION=$(echo ${{ env.NORTHSTAR_VERSION }} | tr '.' ',' | sed -E 's/-rc[0-9]+//' | tr -d '[:alpha:]')
 | 
			
		||||
          sed -i "s/0,0,0,1/${FILEVERSION}/g" NorthstarDedicatedTest/ns_version.h
 | 
			
		||||
      - name: Build
 | 
			
		||||
        working-directory: northstar-launcher
 | 
			
		||||
        run: |
 | 
			
		||||
          cp -r ../discord-plugin/*Discord* .
 | 
			
		||||
          msbuild /p:Configuration=Release R2Northstar.sln
 | 
			
		||||
          msbuild /p:Configuration=Release NorthstarDiscordRPC.sln
 | 
			
		||||
      - name: Upload launcher build as artifact
 | 
			
		||||
        uses: actions/upload-artifact@v2
 | 
			
		||||
        with:
 | 
			
		||||
          name: northstar-launcher
 | 
			
		||||
          path: |
 | 
			
		||||
            northstar-launcher/x64/Release/Northstar.dll
 | 
			
		||||
            northstar-launcher/x64/Release/wsock32.dll
 | 
			
		||||
            northstar-launcher/x64/Release/NorthstarLauncher.exe
 | 
			
		||||
            northstar-launcher/x64/Release/discord_game_sdk.dll
 | 
			
		||||
            northstar-launcher/x64/Release/DiscordRPC.dll
 | 
			
		||||
            northstar-launcher/x64/Release/*.txt
 | 
			
		||||
      - name: Upload debug build artifact
 | 
			
		||||
        uses: actions/upload-artifact@v2
 | 
			
		||||
        with:
 | 
			
		||||
          name: launcher-debug-files
 | 
			
		||||
          path: |
 | 
			
		||||
            northstar-launcher/x64/Release/*.pdb
 | 
			
		||||
 | 
			
		||||
  build-northstar:
 | 
			
		||||
    needs: build-launcher
 | 
			
		||||
    runs-on: ubuntu-20.04
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Download compiled launcher
 | 
			
		||||
        uses: actions/download-artifact@v2
 | 
			
		||||
        with:
 | 
			
		||||
          name: northstar-launcher
 | 
			
		||||
          path: northstar-launcher
 | 
			
		||||
      - name: Download compiled stubs
 | 
			
		||||
        run:
 | 
			
		||||
          wget "https://github.com/R2Northstar/NorthstarStubs/releases/download/v1/NorthstarStubs.zip"
 | 
			
		||||
      - name: Checkout release files
 | 
			
		||||
        uses: actions/checkout@v2
 | 
			
		||||
        with:
 | 
			
		||||
          ref: ${{ env.NORTHSTAR_VERSION }}
 | 
			
		||||
          path: northstar
 | 
			
		||||
      - name: Checkout core mods
 | 
			
		||||
        uses: actions/checkout@v2
 | 
			
		||||
        with:
 | 
			
		||||
          repository: R2Northstar/NorthstarMods
 | 
			
		||||
          ref: ${{ env.NORTHSTAR_VERSION }}
 | 
			
		||||
          path: northstar-mods
 | 
			
		||||
      - name: Update mod version info
 | 
			
		||||
        run: |
 | 
			
		||||
          export MOD_VERSION=$(echo $NORTHSTAR_VERSION | tr -d 'v')
 | 
			
		||||
          cat <<< $(jq ".Version = \"${MOD_VERSION}\"" northstar-mods/Northstar.Client/mod.json) > northstar-mods/Northstar.Client/mod.json
 | 
			
		||||
          cat <<< $(jq ".Version = \"${MOD_VERSION}\"" northstar-mods/Northstar.Custom/mod.json) > northstar-mods/Northstar.Custom/mod.json
 | 
			
		||||
          cat <<< $(jq ".Version = \"${MOD_VERSION}\"" northstar-mods/Northstar.CustomServers/mod.json) > northstar-mods/Northstar.CustomServers/mod.json
 | 
			
		||||
      - name: Generate md5sum file
 | 
			
		||||
        working-directory: northstar-mods
 | 
			
		||||
        run: |
 | 
			
		||||
          echo -e "# Check with 'md5sum -c md5sum.txt' at the root of mods folder\n" > md5sum.txt
 | 
			
		||||
          git ls-tree -r $NORTHSTAR_VERSION --name-only | xargs -L1 md5sum >> md5sum.txt
 | 
			
		||||
      - name: Make folder structure
 | 
			
		||||
        run: |
 | 
			
		||||
          mv -v northstar/release/* northstar/.
 | 
			
		||||
          mkdir -p northstar/R2Northstar/mods
 | 
			
		||||
          mkdir -p northstar/R2Northstar/plugins
 | 
			
		||||
          mkdir -p northstar/bin/x64_retail
 | 
			
		||||
 | 
			
		||||
          mv -v northstar-launcher/DiscordRPC.dll northstar/R2Northstar/plugins
 | 
			
		||||
          mv -v northstar-launcher/discord_game_sdk.dll northstar
 | 
			
		||||
          mv -v northstar-launcher/wsock32.dll northstar/bin/x64_retail
 | 
			
		||||
          unzip NorthstarStubs.zip -d northstar/bin/x64_dedi
 | 
			
		||||
 | 
			
		||||
          mv -v northstar-launcher/* northstar
 | 
			
		||||
          rsync -avr --exclude="Northstar.Coop" --exclude=".git*" northstar-mods/. northstar/R2Northstar/mods
 | 
			
		||||
      - name: Checkout Navmesh repository
 | 
			
		||||
        uses: actions/checkout@v2
 | 
			
		||||
        with:
 | 
			
		||||
          repository: R2Northstar/NorthstarNavs
 | 
			
		||||
          path: northstar-navs
 | 
			
		||||
      - name: Navmeshes setup
 | 
			
		||||
        run: |
 | 
			
		||||
          mkdir -p northstar/R2Northstar/mods/Northstar.CustomServers/mod/maps
 | 
			
		||||
          mv -v northstar-navs/graphs northstar/R2Northstar/mods/Northstar.CustomServers/mod/maps
 | 
			
		||||
          mv -v northstar-navs/navmesh northstar/R2Northstar/mods/Northstar.CustomServers/mod/maps
 | 
			
		||||
      - name: Cleanup root Northstar repository files
 | 
			
		||||
        working-directory: northstar
 | 
			
		||||
        run: |
 | 
			
		||||
          rm -rf .git .github .gitignore *.md LICENSE thunderstore .ci.env.example
 | 
			
		||||
      - name: Upload
 | 
			
		||||
        uses: actions/upload-artifact@v2
 | 
			
		||||
        with:
 | 
			
		||||
          name: Northstar.release.${{ env.NORTHSTAR_VERSION }}
 | 
			
		||||
          path: northstar
 | 
			
		||||
 | 
			
		||||
  build-thunderstore-package:
 | 
			
		||||
    needs: build-northstar # comment out when running locally
 | 
			
		||||
    if: "!contains(github.ref, 'rc')" # Skip uploading release candidates to Thunderstore
 | 
			
		||||
    env:
 | 
			
		||||
      # Release envs, comment this out when running locally
 | 
			
		||||
      TCLI_AUTH_TOKEN: ${{ secrets.THUNDERSTORE_TOKEN }}
 | 
			
		||||
      TS_REPO: https://thunderstore.io/
 | 
			
		||||
      TS_COMMUNITY: northstar
 | 
			
		||||
 | 
			
		||||
      # Uncomment when testing locally, must be unique
 | 
			
		||||
      # NORTHSTAR_VERSION: 0.1.8
 | 
			
		||||
 | 
			
		||||
      # Thunderstore info and descriptions
 | 
			
		||||
      TS_NAMESPACE: northstar
 | 
			
		||||
      TS_MOD_NAME: Northstar
 | 
			
		||||
      TS_MOD_DESCRIPTION: Titanfall 2 modding and custom server framework.
 | 
			
		||||
    runs-on: ubuntu-20.04
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Setup tcli
 | 
			
		||||
        run: |
 | 
			
		||||
          wget -O tcli.tar.gz https://github.com/thunderstore-io/thunderstore-cli/releases/download/0.1.4/tcli-0.1.4-linux-x64.tar.gz
 | 
			
		||||
          tar xvf tcli.tar.gz
 | 
			
		||||
          sudo mv -v tcli-0.1.4-linux-x64/tcli /bin
 | 
			
		||||
 | 
			
		||||
      - name: (DEBUG) Download Northstar package
 | 
			
		||||
        if: ${{ env.ACT }} # Download Northstar package from releases when running locally instead of relying on previous jobs
 | 
			
		||||
        run: |
 | 
			
		||||
          wget -O northstar.zip https://github.com/R2Northstar/Northstar/releases/download/v1.6.3/Northstar.release.v1.6.3.zip
 | 
			
		||||
          unzip northstar.zip -d northstar
 | 
			
		||||
 | 
			
		||||
      - name: Download Northstar package
 | 
			
		||||
        if: ${{ !env.ACT }} # Download artifacts from previous jobs when running on GitHub's infrastructure
 | 
			
		||||
        uses: actions/download-artifact@v2
 | 
			
		||||
        with:
 | 
			
		||||
          name: Northstar.release.${{ env.NORTHSTAR_VERSION }}
 | 
			
		||||
          path: northstar
 | 
			
		||||
 | 
			
		||||
      - name: Make package structure
 | 
			
		||||
        run: |
 | 
			
		||||
          mkdir -p thunderstore/dist/Northstar
 | 
			
		||||
          rm northstar/ns_startup*.txt
 | 
			
		||||
          mv -v northstar/* thunderstore/dist/Northstar
 | 
			
		||||
          wget -O thunderstore/icon.png https://raw.githubusercontent.com/R2Northstar/Northstar/main/thunderstore/icon.png
 | 
			
		||||
          wget -O thunderstore/README.md https://raw.githubusercontent.com/R2Northstar/Northstar/main/thunderstore/README.md
 | 
			
		||||
 | 
			
		||||
      - name: Setup environment variables
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "MOD_VERSION=$(echo $NORTHSTAR_VERSION | tr -d 'v')" >> $GITHUB_ENV
 | 
			
		||||
 | 
			
		||||
      - name: Publish package to Thunderstore
 | 
			
		||||
        working-directory: thunderstore
 | 
			
		||||
        run: |
 | 
			
		||||
          tcli init --package-name=$TS_MOD_NAME --package-namespace=$TS_NAMESPACE --package-version $MOD_VERSION
 | 
			
		||||
 | 
			
		||||
          sed -i "s/communities = \[\]/communities = [\"$TS_COMMUNITY\"]/g" thunderstore.toml
 | 
			
		||||
          sed -i "s/Example-Dependency = \"1.0.0\"//g" thunderstore.toml
 | 
			
		||||
          sed -i "s/description = \"Example mod description\"/description = \"$TS_MOD_DESCRIPTION\"/g" thunderstore.toml
 | 
			
		||||
          cat thunderstore.toml
 | 
			
		||||
 | 
			
		||||
          tcli build
 | 
			
		||||
          tcli publish --repository "$TS_REPO" --file build/*.zip
 | 
			
		||||
							
								
								
									
										17
									
								
								.github/workflows/post-to-mastodon.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								.github/workflows/post-to-mastodon.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,17 +0,0 @@
 | 
			
		||||
name: Post-to-Mastodon
 | 
			
		||||
on:
 | 
			
		||||
  release:
 | 
			
		||||
    types: [published]
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  toot:
 | 
			
		||||
    runs-on: ubuntu-22.04
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Send toot to Mastodon
 | 
			
		||||
        id: mastodon
 | 
			
		||||
        uses: cbrgm/mastodon-github-action@v1
 | 
			
		||||
        with:
 | 
			
		||||
          message: "We just released Northstar ${{ github.event.release.tag_name }}\n\n${{ github.event.release.html_url }}"
 | 
			
		||||
        env:
 | 
			
		||||
          MASTODON_URL: ${{ secrets.MASTODON_URL }}
 | 
			
		||||
          MASTODON_ACCESS_TOKEN: ${{ secrets.MASTODON_ACCESS_TOKEN }}
 | 
			
		||||
							
								
								
									
										179
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										179
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,179 +0,0 @@
 | 
			
		||||
name: Release
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    tags:
 | 
			
		||||
      - 'v*'
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
    inputs:
 | 
			
		||||
      job:
 | 
			
		||||
        description: 'Job to run'
 | 
			
		||||
        required: true
 | 
			
		||||
        default: 'build-thunderstore-package'
 | 
			
		||||
 | 
			
		||||
permissions:
 | 
			
		||||
  contents: write # Needed to write to GitHub draft release
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  NORTHSTAR_VERSION: ${{ github.ref_name }}
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  build-northstar:
 | 
			
		||||
    runs-on: ubuntu-20.04
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Checkout release files
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
        with:
 | 
			
		||||
          ref: ${{ env.NORTHSTAR_VERSION }}
 | 
			
		||||
          path: northstar
 | 
			
		||||
      - name: Wait for launcher release build to be ready
 | 
			
		||||
        timeout-minutes: 30 # Only wait for 30 minutes. If we take longer, something probably broke
 | 
			
		||||
        run:
 | 
			
		||||
          bash northstar/wait_for_launcher_dl.sh $NORTHSTAR_VERSION
 | 
			
		||||
      - name: Download compiled launcher
 | 
			
		||||
        run:
 | 
			
		||||
          wget "https://github.com/R2Northstar/NorthstarLauncher/releases/download/${{ env.NORTHSTAR_VERSION }}/northstar-launcher.zip"
 | 
			
		||||
      - name: Download DiscordRPC plugin
 | 
			
		||||
        run:
 | 
			
		||||
          wget "https://github.com/R2Northstar/NorthstarDiscordRPC/releases/download/v6/northstar-discord-rpc.zip"
 | 
			
		||||
      - name: Download compiled stubs
 | 
			
		||||
        run:
 | 
			
		||||
          wget "https://github.com/R2Northstar/NorthstarStubs/releases/download/v1/NorthstarStubs.zip"
 | 
			
		||||
      - name: Checkout core mods
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
        with:
 | 
			
		||||
          repository: R2Northstar/NorthstarMods
 | 
			
		||||
          ref: ${{ env.NORTHSTAR_VERSION }}
 | 
			
		||||
          path: northstar-mods
 | 
			
		||||
      - name: Update mod version info
 | 
			
		||||
        run: |
 | 
			
		||||
          export MOD_VERSION=$(echo $NORTHSTAR_VERSION | tr -d 'v')
 | 
			
		||||
          cat <<< $(jq ".Version = \"${MOD_VERSION}\"" northstar-mods/Northstar.Client/mod.json) > northstar-mods/Northstar.Client/mod.json
 | 
			
		||||
          cat <<< $(jq ".Version = \"${MOD_VERSION}\"" northstar-mods/Northstar.Custom/mod.json) > northstar-mods/Northstar.Custom/mod.json
 | 
			
		||||
          cat <<< $(jq ".Version = \"${MOD_VERSION}\"" northstar-mods/Northstar.CustomServers/mod.json) > northstar-mods/Northstar.CustomServers/mod.json
 | 
			
		||||
      - name: Generate md5sum file
 | 
			
		||||
        working-directory: northstar-mods
 | 
			
		||||
        run: |
 | 
			
		||||
          echo -e "# Check with 'md5sum -c md5sum.txt' at the root of mods folder\n" > md5sum.txt
 | 
			
		||||
          git ls-tree -r $NORTHSTAR_VERSION --name-only | xargs -L1 md5sum >> md5sum.txt
 | 
			
		||||
      - name: Make folder structure
 | 
			
		||||
        run: |
 | 
			
		||||
          mv --verbose northstar/release/* northstar/.
 | 
			
		||||
          rm --dir northstar/release
 | 
			
		||||
          mkdir --parents northstar/R2Northstar/mods
 | 
			
		||||
          mkdir --parents northstar/R2Northstar/plugins
 | 
			
		||||
          mkdir --parents northstar/bin/x64_dedi
 | 
			
		||||
 | 
			
		||||
          unzip northstar-discord-rpc.zip -d northstar/R2Northstar/plugins
 | 
			
		||||
 | 
			
		||||
          unzip NorthstarStubs.zip -d northstar/bin/x64_dedi
 | 
			
		||||
          unzip northstar-launcher.zip -d northstar
 | 
			
		||||
          rsync -avr --exclude="Northstar.Coop" --exclude=".git*" northstar-mods/. northstar/R2Northstar/mods
 | 
			
		||||
      - name: Checkout Navmesh repository
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
        with:
 | 
			
		||||
          repository: R2Northstar/NorthstarNavs
 | 
			
		||||
          ref: 'v3'
 | 
			
		||||
          path: northstar-navs
 | 
			
		||||
      - name: Navmeshes setup
 | 
			
		||||
        run: |
 | 
			
		||||
          mkdir --parents northstar/R2Northstar/mods/Northstar.CustomServers/mod/maps
 | 
			
		||||
          mv --verbose northstar-navs/graphs northstar/R2Northstar/mods/Northstar.CustomServers/mod/maps
 | 
			
		||||
          mv --verbose northstar-navs/navmesh northstar/R2Northstar/mods/Northstar.CustomServers/mod/maps
 | 
			
		||||
      - name: Cleanup root Northstar repository files
 | 
			
		||||
        working-directory: northstar
 | 
			
		||||
        run: |
 | 
			
		||||
          rm -rf .git .github .gitignore *.md LICENSE thunderstore .ci.env.example *.sh
 | 
			
		||||
      - name: Upload
 | 
			
		||||
        uses: actions/upload-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
          name: Northstar.release.${{ env.NORTHSTAR_VERSION }}
 | 
			
		||||
          path: northstar
 | 
			
		||||
      - name: Create zip to upload
 | 
			
		||||
        run: |
 | 
			
		||||
          cd northstar/
 | 
			
		||||
          zip --recurse-paths --quiet Northstar.release.${{ env.NORTHSTAR_VERSION }}.zip .
 | 
			
		||||
          mv Northstar.release.${{ env.NORTHSTAR_VERSION }}.zip ../
 | 
			
		||||
      - name: Compute SHA-512 checksum
 | 
			
		||||
        run: |
 | 
			
		||||
          sha512sum Northstar.release.${{ env.NORTHSTAR_VERSION }}.zip
 | 
			
		||||
          echo "```" >> $GITHUB_STEP_SUMMARY
 | 
			
		||||
          sha512sum Northstar.release.${{ env.NORTHSTAR_VERSION }}.zip >> $GITHUB_STEP_SUMMARY
 | 
			
		||||
          echo "```" >> $GITHUB_STEP_SUMMARY
 | 
			
		||||
      - name: Upload zip to release draft
 | 
			
		||||
        uses: softprops/action-gh-release@v1
 | 
			
		||||
        if: startsWith(github.ref, 'refs/tags/v') && !contains(env.NORTHSTAR_VERSION, '-rc')
 | 
			
		||||
        with:
 | 
			
		||||
          draft: true
 | 
			
		||||
          files: Northstar.release.${{ env.NORTHSTAR_VERSION }}.zip
 | 
			
		||||
 | 
			
		||||
  build-thunderstore-package:
 | 
			
		||||
    needs: build-northstar # comment out when running locally
 | 
			
		||||
    env:
 | 
			
		||||
      # Release envs, comment this out when running locally
 | 
			
		||||
      TCLI_AUTH_TOKEN: ${{ secrets.THUNDERSTORE_TOKEN }}
 | 
			
		||||
      TS_REPO: https://thunderstore.io/
 | 
			
		||||
      TS_COMMUNITY: northstar
 | 
			
		||||
 | 
			
		||||
      # Uncomment when testing locally, must be unique
 | 
			
		||||
      # NORTHSTAR_VERSION: 0.1.8
 | 
			
		||||
 | 
			
		||||
      # Thunderstore info and descriptions
 | 
			
		||||
      TS_NAMESPACE: northstar
 | 
			
		||||
      TS_MOD_NAME: Northstar
 | 
			
		||||
      TS_MOD_DESCRIPTION: Titanfall 2 modding and custom server framework.
 | 
			
		||||
    runs-on: ubuntu-20.04
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Setup tcli
 | 
			
		||||
        run: |
 | 
			
		||||
          wget --output-document tcli.tar.gz https://github.com/thunderstore-io/thunderstore-cli/releases/download/0.1.4/tcli-0.1.4-linux-x64.tar.gz
 | 
			
		||||
          tar xvf tcli.tar.gz
 | 
			
		||||
          sudo mv --verbose tcli-0.1.4-linux-x64/tcli /bin
 | 
			
		||||
 | 
			
		||||
      - name: (DEBUG) Download Northstar package
 | 
			
		||||
        if: ${{ env.ACT }} # Download Northstar package from releases when running locally instead of relying on previous jobs
 | 
			
		||||
        run: |
 | 
			
		||||
          wget --output-document northstar.zip https://github.com/R2Northstar/Northstar/releases/download/v1.6.3/Northstar.release.v1.6.3.zip
 | 
			
		||||
          unzip northstar.zip -d northstar
 | 
			
		||||
 | 
			
		||||
      - name: Download Northstar package
 | 
			
		||||
        if: ${{ !env.ACT }} # Download artifacts from previous jobs when running on GitHub's infrastructure
 | 
			
		||||
        uses: actions/download-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
          name: Northstar.release.${{ env.NORTHSTAR_VERSION }}
 | 
			
		||||
          path: northstar
 | 
			
		||||
 | 
			
		||||
      - name: Make package structure
 | 
			
		||||
        run: |
 | 
			
		||||
          mkdir --parents thunderstore/dist/Northstar
 | 
			
		||||
          mv --verbose northstar/* thunderstore/dist/Northstar
 | 
			
		||||
          wget --output-document thunderstore/icon.png https://raw.githubusercontent.com/R2Northstar/Northstar/main/thunderstore/icon.png
 | 
			
		||||
          wget --output-document thunderstore/README.md https://raw.githubusercontent.com/R2Northstar/Northstar/main/thunderstore/README.md
 | 
			
		||||
 | 
			
		||||
      - name: Setup environment variables
 | 
			
		||||
        run: |
 | 
			
		||||
          # Strip leading `v` and if exists replace `-rc` with `0` and strip leading zeroes from last semver digit if necessary
 | 
			
		||||
          echo "MOD_VERSION=$(echo $NORTHSTAR_VERSION | tr -d 'v'| sed --expression 's/-rc/0/' | sed -E 's/([0-9]+)\.([0-9]+)\.(0*)([0-9])/\1.\2.\4/;')" >> $GITHUB_ENV
 | 
			
		||||
 | 
			
		||||
          # If it's a release candidate we also want to change a few things
 | 
			
		||||
          if [[ $NORTHSTAR_VERSION == *"-rc"* ]]; then
 | 
			
		||||
            # We want to push to a different package
 | 
			
		||||
            # i.e. `NorthstarReleaseCandidate` vs `Northstar`
 | 
			
		||||
            echo "TS_MOD_NAME=NorthstarReleaseCandidate" >> $GITHUB_ENV
 | 
			
		||||
            # And update mod description
 | 
			
		||||
            echo "TS_MOD_DESCRIPTION=Release candidate for next Northstar release." >> $GITHUB_ENV
 | 
			
		||||
            # Add disclaimer add the top of README
 | 
			
		||||
            echo -e '> ⚠️ This is a release candidate. Please report bugs or other issues on GitHub ⚠️\n' | cat - thunderstore/README.md > temp && mv temp thunderstore/README.md
 | 
			
		||||
          fi
 | 
			
		||||
 | 
			
		||||
      - name: Publish package to Thunderstore
 | 
			
		||||
        working-directory: thunderstore
 | 
			
		||||
        run: |
 | 
			
		||||
          tcli init --package-name=$TS_MOD_NAME --package-namespace=$TS_NAMESPACE --package-version $MOD_VERSION
 | 
			
		||||
 | 
			
		||||
          sed --in-place "s/communities = \[\]/communities = [\"$TS_COMMUNITY\"]/g" thunderstore.toml
 | 
			
		||||
          sed --in-place "s/Example-Dependency = \"1.0.0\"//g" thunderstore.toml
 | 
			
		||||
          sed --in-place "s/description = \"Example mod description\"/description = \"$TS_MOD_DESCRIPTION\"/g" thunderstore.toml
 | 
			
		||||
          cat thunderstore.toml
 | 
			
		||||
 | 
			
		||||
          tcli build
 | 
			
		||||
          tcli publish --repository "$TS_REPO" --file build/*.zip
 | 
			
		||||
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
								
							@@ -1,7 +1,6 @@
 | 
			
		||||
# Northstar
 | 
			
		||||
 | 
			
		||||
[](https://github.com/R2Northstar/Northstar/releases)
 | 
			
		||||

 | 
			
		||||
[](https://northstar.tf/discord)
 | 
			
		||||
[](https://r2northstar.gitbook.io)
 | 
			
		||||
 | 
			
		||||
@@ -13,17 +12,14 @@ Northstar is a modding framework client that allows users to host their own Tita
 | 
			
		||||
 | 
			
		||||
## Development
 | 
			
		||||
 | 
			
		||||
Northstar's development is split into 6 repositories:
 | 
			
		||||
Northstar's development is split into 4 repositories:
 | 
			
		||||
 | 
			
		||||
1. [NorthstarLauncher](https://github.com/R2Northstar/NorthstarLauncher) (Code for the C++ hook DLL)
 | 
			
		||||
1. [NorthstarMods](https://github.com/R2Northstar/NorthstarMods) (Code for the squirrel mods responsible for server gamelogic recreation and custom content)
 | 
			
		||||
1. [NorthstarMasterServer](https://github.com/R2Northstar/NorthstarMasterServer) (Responsible for server browser, authentication and persistence)
 | 
			
		||||
1. [NorthstarStubs](https://github.com/R2Northstar/NorthstarStubs) (D3D11 and GFSDK stubs for the Northstar dedicated server)
 | 
			
		||||
1. [NorthstarNavs](https://github.com/R2Northstar/NorthstarNavs) (Custom navmesh files used for AI navigation)
 | 
			
		||||
1. [NorthstarDiscordRPC](https://github.com/R2Northstar/NorthstarDiscordRPC) (Discord RPC plugin)
 | 
			
		||||
1. [Atlas](https://github.com/R2Northstar/Atlas) (Backend API for server browser, player authentication, and persistence)
 | 
			
		||||
 | 
			
		||||
The documentation is split into three repositories:
 | 
			
		||||
1. [NorthstarTF](https://github.com/R2Northstar/NorthstarTF) (Main website)
 | 
			
		||||
The documentation is split into two repositories:
 | 
			
		||||
1. [NorthstarWiki](https://github.com/R2Northstar/NorthstarWiki) (Wiki covering installation, hosting and configuration of Northstar)
 | 
			
		||||
1. [ModdingDocs](https://github.com/R2Northstar/ModdingDocs) (Guides and tutorials on how to mod using Northstar)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								release/R2Northstar/placeholder_playerdata.pdata
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								release/R2Northstar/placeholder_playerdata.pdata
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										1
									
								
								release/ns_startup_args.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								release/ns_startup_args.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
-multiple
 | 
			
		||||
							
								
								
									
										1
									
								
								release/ns_startup_args_dedi.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								release/ns_startup_args_dedi.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
+setplaylist private_match
 | 
			
		||||
@@ -1,26 +0,0 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# Check if contains command line arg
 | 
			
		||||
if [ -z "$1" ]; then
 | 
			
		||||
    echo "Missing command-line argument."
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
url="https://github.com/R2Northstar/NorthstarLauncher/releases/download/$1/northstar-launcher.zip"
 | 
			
		||||
wait_time_seconds=60
 | 
			
		||||
 | 
			
		||||
# Loop until the response code changes
 | 
			
		||||
while true; do
 | 
			
		||||
    response=$(curl --silent --output /dev/null --write-out "%{http_code}" $url)
 | 
			
		||||
    if [ $response -eq 404 ]; then
 | 
			
		||||
        echo "Response is 404. Retrying in $wait_time_seconds seconds."
 | 
			
		||||
        sleep $wait_time_seconds
 | 
			
		||||
    else
 | 
			
		||||
        echo "Site is accessible with response code $response."
 | 
			
		||||
        break
 | 
			
		||||
    fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# 10 second sleep just in case we hit some weird race condition
 | 
			
		||||
# where files are still being uploaded but release is done
 | 
			
		||||
sleep 10
 | 
			
		||||
		Reference in New Issue
	
	Block a user