1
mirror of https://github.com/R2Northstar/Northstar synced 2025-09-23 06:10:50 +02:00

Compare commits

..

3 Commits

Author SHA1 Message Date
GeckoEidechse
1c759c93f8 Merge branch 'main' into batch-file-for-ns-vanilla-launch 2023-09-15 00:43:15 +02:00
GeckoEidechse
b58ca4b41b Show "R2Vanilla" in window title
Co-authored-by: Jack <66967891+ASpoonPlaysGames@users.noreply.github.com>
2022-11-04 00:13:24 +01:00
GeckoEidechse
3905b5e22e Add batch file launching NS for playing vanilla
Using a separate profile to ensure no mods loaded and enabling
ClientCommands should allow playing on vanilla servers.
2022-08-07 01:49:11 +02:00
7 changed files with 43 additions and 129 deletions

View File

@@ -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 }}"

View File

@@ -1,4 +1,4 @@
name: Release
name: Build
on:
push:
tags:
@@ -15,39 +15,34 @@ permissions:
env:
NORTHSTAR_VERSION: ${{ github.ref_name }}
DISCORD_RPC_VERSION: v13
jobs:
build-northstar:
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04
steps:
- name: Checkout release files
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/${{ env.DISCORD_RPC_VERSION }}/northstar-discord-rpc.zip"
wget "https://github.com/R2Northstar/NorthstarDiscordRPC/releases/download/v4/northstar-discord-rpc.zip"
- name: Download compiled stubs
run:
wget "https://github.com/R2Northstar/NorthstarStubs/releases/download/v1/NorthstarStubs.zip"
- name: Checkout release files
uses: actions/checkout@v3
with:
ref: ${{ env.NORTHSTAR_VERSION }}
path: northstar
- name: Checkout core mods
uses: actions/checkout@v4
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 --delete 'v')
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
@@ -58,34 +53,34 @@ jobs:
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
mv -v northstar/release/* northstar/.
rm -d northstar/release
mkdir -p northstar/R2Northstar/mods
mkdir -p northstar/R2Northstar/plugins
mkdir -p 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*" --exclude="*.md" northstar-mods/. northstar/R2Northstar/mods
rsync -avr --exclude="Northstar.Coop" --exclude=".git*" northstar-mods/. northstar/R2Northstar/mods
- name: Checkout Navmesh repository
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
repository: R2Northstar/NorthstarNavs
ref: 'v4'
ref: 'v2'
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
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 *.sh
rm -rf .git .github .gitignore *.md LICENSE thunderstore .ci.env.example
- name: Upload
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: Northstar.release.${{ env.NORTHSTAR_VERSION }}
path: northstar
@@ -97,11 +92,8 @@ jobs:
- 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
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/v') && !contains(env.NORTHSTAR_VERSION, '-rc')
with:
draft: true
@@ -122,33 +114,33 @@ jobs:
TS_NAMESPACE: northstar
TS_MOD_NAME: Northstar
TS_MOD_DESCRIPTION: Titanfall 2 modding and custom server framework.
runs-on: ubuntu-22.04
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
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 --verbose tcli-0.1.4-linux-x64/tcli /bin
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 --output-document northstar.zip https://github.com/R2Northstar/Northstar/releases/download/v1.6.3/Northstar.release.v1.6.3.zip
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@v4
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
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
- name: Setup environment variables
run: |
@@ -171,9 +163,9 @@ jobs:
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
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

View File

@@ -1,19 +0,0 @@
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

View File

@@ -1,16 +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@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 }}

View File

@@ -29,9 +29,9 @@ The documentation is split into three repositories:
## 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 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.
- Thanks to everyone on R5R team for giving me advice on some later parts of development.
- Thanks to everyone in the testing server for putting up with me and helping find bugs.
- Thanks to everyone on R5R team for giving me advice on some later parts of development.
- Thanks to everyone in the testing server for putting up with me and helping find bugs.
- Thanks to everyone else that's helped, gave advice, all that.

3
release/r2vanilla.bat Normal file
View File

@@ -0,0 +1,3 @@
:: This launches Northstar with a profile that usually shouldn't exist. As such it won't load any NorthstarMods and behave close to a vanilla client outside of patches in Launcher code
:: Disabling ClientCommands with `-norestrictservercommands` is needed for vanilla to be able to transfer you to a game from lobby with `connect`
start "NorthstarLauncher | R2Vanilla" NorthstarLauncher.exe -norestrictservercommands -profile=R2Vanilla

View File

@@ -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