mirror of
				https://github.com/R2Northstar/Northstar
				synced 2025-10-24 08:52:12 +02:00 
			
		
		
		
	Compare commits
	
		
			40 Commits
		
	
	
		
			v1.10.8-rc
			...
			v1.27.2-rc
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 8fdfdbd61a | ||
|   | 767927fb92 | ||
|   | 7a72ecffcf | ||
|   | e7e2d55c9b | ||
|   | ada52bb828 | ||
|   | 86085f5c91 | ||
|   | ad3601c607 | ||
|   | 904e6b00ef | ||
|   | 4c0f02ba4f | ||
|   | 06f551ef71 | ||
|   | ee9239f4ae | ||
|   | cfc1498753 | ||
|   | abf59ba5fe | ||
|   | 05a32ee30e | ||
|   | e595fa0a83 | ||
|   | 937a1cdbba | ||
|   | de87f41b45 | ||
|   | d6d2dfe47d | ||
|   | c829a40caa | ||
|   | a11a37e710 | ||
|   | 72e8e50d77 | ||
|   | 8fb1f315bb | ||
|   | 4dccb376ec | ||
|   | ec0491e1e3 | ||
|   | cd971e5c0d | ||
|   | 587363f257 | ||
|   | 711676ec8a | ||
|   | c447dcd04e | ||
|   | 1171a5fd2d | ||
|   | 39ac00c374 | ||
|   | 0e68be66f7 | ||
|   | 6132fc2c7d | ||
|   | 7a7ca84bd2 | ||
|   | 7db68d5169 | ||
|   | aa4d230051 | ||
|   | aeb3e5ee17 | ||
|   | 20ae5c9786 | ||
|   | 8d7b5e4515 | ||
|   | c6c55ff014 | ||
|   | fd1c3d98ea | 
							
								
								
									
										20
									
								
								.github/workflows/add-to-project.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								.github/workflows/add-to-project.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| 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 }}" | ||||
|  | ||||
							
								
								
									
										19
									
								
								.github/workflows/merge-conflict-auto-label.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/merge-conflict-auto-label.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| name: Merge Conflict Auto Label | ||||
| on: | ||||
|   workflow_dispatch: # Manual run | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
|   schedule: | ||||
|     - cron: "10 21 * * *" # Runs at 21:10; time was chosen based on contributor activity and low GitHub Actions cron load. | ||||
|  | ||||
| jobs: | ||||
|   triage: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - uses: mschilde/auto-label-merge-conflicts@master | ||||
|         with: | ||||
|           CONFLICT_LABEL_NAME: "merge conflicts" | ||||
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|           MAX_RETRIES: 5 | ||||
|           WAIT_MS: 5000 | ||||
							
								
								
									
										16
									
								
								.github/workflows/post-to-mastodon.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								.github/workflows/post-to-mastodon.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| 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@v2 | ||||
|         with: | ||||
|           message: "We just released Northstar ${{ github.event.release.tag_name }}\n\n${{ github.event.release.html_url }}" | ||||
|           url: ${{ secrets.MASTODON_URL }} | ||||
|           access-token: ${{ secrets.MASTODON_ACCESS_TOKEN }} | ||||
| @@ -1,4 +1,4 @@ | ||||
| name: Build | ||||
| name: Release | ||||
| on: | ||||
|   push: | ||||
|     tags: | ||||
| @@ -10,76 +10,36 @@ on: | ||||
|         required: true | ||||
|         default: 'build-thunderstore-package' | ||||
|  | ||||
| permissions: | ||||
|   contents: write # Needed to write to GitHub draft release | ||||
|  | ||||
| env: | ||||
|   NORTHSTAR_VERSION: ${{ github.ref_name }} | ||||
|  | ||||
| jobs: | ||||
|   build-launcher: | ||||
|     runs-on: windows-2022 | ||||
|     steps: | ||||
|       - name: Setup bundled plugins | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           repository: R2Northstar/NorthstarDiscordRPC | ||||
|           path: discord-plugin | ||||
|       - name: Checkout launcher repository | ||||
|         uses: actions/checkout@v3 | ||||
|         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' NorthstarLauncher/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" NorthstarDLL/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@v3 | ||||
|         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@v3 | ||||
|         with: | ||||
|           name: launcher-debug-files | ||||
|           path: | | ||||
|             northstar-launcher/x64/Release/*.pdb | ||||
|  | ||||
|   build-northstar: | ||||
|     needs: build-launcher | ||||
|     runs-on: ubuntu-20.04 | ||||
|     runs-on: ubuntu-22.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@v3 | ||||
|         uses: actions/checkout@v4 | ||||
|         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/v10/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 | ||||
|         uses: actions/checkout@v4 | ||||
|         with: | ||||
|           repository: R2Northstar/NorthstarMods | ||||
|           ref: ${{ env.NORTHSTAR_VERSION }} | ||||
| @@ -97,37 +57,54 @@ jobs: | ||||
|           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 --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 | ||||
|  | ||||
|           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 | ||||
|           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 | ||||
|         uses: actions/checkout@v4 | ||||
|         with: | ||||
|           repository: R2Northstar/NorthstarNavs | ||||
|           ref: 'v3' | ||||
|           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 | ||||
|           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 | ||||
|           rm -rf .git .github .gitignore *.md LICENSE thunderstore .ci.env.example *.sh | ||||
|       - name: Upload | ||||
|         uses: actions/upload-artifact@v3 | ||||
|         uses: actions/upload-artifact@v4 | ||||
|         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@v2 | ||||
|         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 | ||||
| @@ -144,33 +121,33 @@ jobs: | ||||
|       TS_NAMESPACE: northstar | ||||
|       TS_MOD_NAME: Northstar | ||||
|       TS_MOD_DESCRIPTION: Titanfall 2 modding and custom server framework. | ||||
|     runs-on: ubuntu-20.04 | ||||
|     runs-on: ubuntu-22.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 | ||||
|           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 -v tcli-0.1.4-linux-x64/tcli /bin | ||||
|           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 -O northstar.zip https://github.com/R2Northstar/Northstar/releases/download/v1.6.3/Northstar.release.v1.6.3.zip | ||||
|           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@v2 | ||||
|         uses: actions/download-artifact@v4 | ||||
|         with: | ||||
|           name: Northstar.release.${{ env.NORTHSTAR_VERSION }} | ||||
|           path: northstar | ||||
|  | ||||
|       - name: Make package structure | ||||
|         run: | | ||||
|           mkdir -p thunderstore/dist/Northstar | ||||
|           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 | ||||
|           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: | | ||||
| @@ -193,9 +170,9 @@ jobs: | ||||
|         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 | ||||
|           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 | ||||
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
								
							| @@ -13,20 +13,22 @@ Northstar is a modding framework client that allows users to host their own Tita | ||||
|  | ||||
| ## Development | ||||
|  | ||||
| Northstar's development is split into 5 repositories: | ||||
| Northstar's development is split into 6 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 two repositories: | ||||
| The documentation is split into three repositories: | ||||
| 1. [NorthstarTF](https://github.com/R2Northstar/NorthstarTF) (Main website) | ||||
| 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) | ||||
|  | ||||
| ## Special Thanks | ||||
|    | ||||
|  | ||||
| Thanks to everyone that's put up with me and helped out with this project, it's been a fun passion project I've had throughout 2021 so releasing it is pretty cathartic. Specifically:  | ||||
|  | ||||
| - Thanks to the Icepick developers for making the Icepick, I initially forked it for earlier versions of Northstar and it was a great base to experiment with stuff on before moving to the custom launcher. | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										26
									
								
								wait_for_launcher_dl.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										26
									
								
								wait_for_launcher_dl.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| #!/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