mirror of
https://github.com/R2Northstar/Northstar
synced 2025-09-16 14:10:48 +02:00
Compare commits
28 Commits
v1.11.1-rc
...
v1.21.0
Author | SHA1 | Date | |
---|---|---|---|
![]() |
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 |
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 }}"
|
||||||
|
|
17
.github/workflows/post-to-mastodon.yml
vendored
Normal file
17
.github/workflows/post-to-mastodon.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
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 }}
|
@@ -1,4 +1,4 @@
|
|||||||
name: Build
|
name: Release
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
@@ -10,75 +10,34 @@ on:
|
|||||||
required: true
|
required: true
|
||||||
default: 'build-thunderstore-package'
|
default: 'build-thunderstore-package'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write # Needed to write to GitHub draft release
|
||||||
|
|
||||||
env:
|
env:
|
||||||
NORTHSTAR_VERSION: ${{ github.ref_name }}
|
NORTHSTAR_VERSION: ${{ github.ref_name }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-launcher:
|
|
||||||
runs-on: windows-2022
|
|
||||||
steps:
|
|
||||||
- name: Setup bundled plugins
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
repository: R2Northstar/NorthstarDiscordRPC
|
|
||||||
ref: 'v1'
|
|
||||||
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:
|
build-northstar:
|
||||||
needs: build-launcher
|
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
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
|
- name: Checkout release files
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
ref: ${{ env.NORTHSTAR_VERSION }}
|
ref: ${{ env.NORTHSTAR_VERSION }}
|
||||||
path: northstar
|
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
|
- name: Checkout core mods
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
@@ -98,38 +57,54 @@ jobs:
|
|||||||
git ls-tree -r $NORTHSTAR_VERSION --name-only | xargs -L1 md5sum >> md5sum.txt
|
git ls-tree -r $NORTHSTAR_VERSION --name-only | xargs -L1 md5sum >> md5sum.txt
|
||||||
- name: Make folder structure
|
- name: Make folder structure
|
||||||
run: |
|
run: |
|
||||||
mv -v northstar/release/* northstar/.
|
mv --verbose northstar/release/* northstar/.
|
||||||
mkdir -p northstar/R2Northstar/mods
|
rm --dir northstar/release
|
||||||
mkdir -p northstar/R2Northstar/plugins
|
mkdir --parents northstar/R2Northstar/mods
|
||||||
mkdir -p northstar/bin/x64_retail
|
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
|
unzip NorthstarStubs.zip -d northstar/bin/x64_dedi
|
||||||
|
unzip northstar-launcher.zip -d northstar
|
||||||
mv -v northstar-launcher/* northstar
|
|
||||||
rsync -avr --exclude="Northstar.Coop" --exclude=".git*" northstar-mods/. northstar/R2Northstar/mods
|
rsync -avr --exclude="Northstar.Coop" --exclude=".git*" northstar-mods/. northstar/R2Northstar/mods
|
||||||
- name: Checkout Navmesh repository
|
- name: Checkout Navmesh repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
repository: R2Northstar/NorthstarNavs
|
repository: R2Northstar/NorthstarNavs
|
||||||
ref: 'v1'
|
ref: 'v2'
|
||||||
path: northstar-navs
|
path: northstar-navs
|
||||||
- name: Navmeshes setup
|
- name: Navmeshes setup
|
||||||
run: |
|
run: |
|
||||||
mkdir -p northstar/R2Northstar/mods/Northstar.CustomServers/mod/maps
|
mkdir --parents northstar/R2Northstar/mods/Northstar.CustomServers/mod/maps
|
||||||
mv -v northstar-navs/graphs northstar/R2Northstar/mods/Northstar.CustomServers/mod/maps
|
mv --verbose northstar-navs/graphs northstar/R2Northstar/mods/Northstar.CustomServers/mod/maps
|
||||||
mv -v northstar-navs/navmesh 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
|
- name: Cleanup root Northstar repository files
|
||||||
working-directory: northstar
|
working-directory: northstar
|
||||||
run: |
|
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
|
- name: Upload
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: Northstar.release.${{ env.NORTHSTAR_VERSION }}
|
name: Northstar.release.${{ env.NORTHSTAR_VERSION }}
|
||||||
path: northstar
|
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:
|
build-thunderstore-package:
|
||||||
needs: build-northstar # comment out when running locally
|
needs: build-northstar # comment out when running locally
|
||||||
@@ -150,29 +125,29 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Setup tcli
|
- name: Setup tcli
|
||||||
run: |
|
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
|
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
|
- name: (DEBUG) Download Northstar package
|
||||||
if: ${{ env.ACT }} # Download Northstar package from releases when running locally instead of relying on previous jobs
|
if: ${{ env.ACT }} # Download Northstar package from releases when running locally instead of relying on previous jobs
|
||||||
run: |
|
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
|
unzip northstar.zip -d northstar
|
||||||
|
|
||||||
- name: Download Northstar package
|
- name: Download Northstar package
|
||||||
if: ${{ !env.ACT }} # Download artifacts from previous jobs when running on GitHub's infrastructure
|
if: ${{ !env.ACT }} # Download artifacts from previous jobs when running on GitHub's infrastructure
|
||||||
uses: actions/download-artifact@v2
|
uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: Northstar.release.${{ env.NORTHSTAR_VERSION }}
|
name: Northstar.release.${{ env.NORTHSTAR_VERSION }}
|
||||||
path: northstar
|
path: northstar
|
||||||
|
|
||||||
- name: Make package structure
|
- name: Make package structure
|
||||||
run: |
|
run: |
|
||||||
mkdir -p thunderstore/dist/Northstar
|
mkdir --parents thunderstore/dist/Northstar
|
||||||
mv -v northstar/* thunderstore/dist/Northstar
|
mv --verbose northstar/* thunderstore/dist/Northstar
|
||||||
wget -O thunderstore/icon.png https://raw.githubusercontent.com/R2Northstar/Northstar/main/thunderstore/icon.png
|
wget --output-document 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
|
wget --output-document thunderstore/README.md https://raw.githubusercontent.com/R2Northstar/Northstar/main/thunderstore/README.md
|
||||||
|
|
||||||
- name: Setup environment variables
|
- name: Setup environment variables
|
||||||
run: |
|
run: |
|
||||||
@@ -195,9 +170,9 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
tcli init --package-name=$TS_MOD_NAME --package-namespace=$TS_NAMESPACE --package-version $MOD_VERSION
|
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 --in-place "s/communities = \[\]/communities = [\"$TS_COMMUNITY\"]/g" thunderstore.toml
|
||||||
sed -i "s/Example-Dependency = \"1.0.0\"//g" thunderstore.toml
|
sed --in-place "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/description = \"Example mod description\"/description = \"$TS_MOD_DESCRIPTION\"/g" thunderstore.toml
|
||||||
cat thunderstore.toml
|
cat thunderstore.toml
|
||||||
|
|
||||||
tcli build
|
tcli build
|
@@ -13,15 +13,17 @@ Northstar is a modding framework client that allows users to host their own Tita
|
|||||||
|
|
||||||
## Development
|
## 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. [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. [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. [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. [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. [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)
|
1. [ModdingDocs](https://github.com/R2Northstar/ModdingDocs) (Guides and tutorials on how to mod using Northstar)
|
||||||
|
|
||||||
|
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