1
mirror of https://github.com/R2Northstar/Northstar synced 2025-09-18 19:30:50 +02:00

Compare commits

..

2 Commits

Author SHA1 Message Date
GeckoEidechse
730763391c Don't include gitignore in release files 2022-04-28 17:59:05 +02:00
Barichello
5d0c56a5f7 Remove thunderstore files from release zip 2022-04-28 17:37:44 +02:00
7 changed files with 40 additions and 232 deletions

View File

@@ -2,7 +2,7 @@ name: Build
on:
push:
tags:
- 'v*'
- '*'
workflow_dispatch:
inputs:
job:
@@ -10,9 +10,6 @@ on:
required: true
default: 'build-thunderstore-package'
permissions:
contents: write # Needed to write to GitHub draft release
env:
NORTHSTAR_VERSION: ${{ github.ref_name }}
@@ -20,8 +17,13 @@ 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@v3
uses: actions/checkout@v2
with:
repository: R2Northstar/NorthstarLauncher
ref: ${{ env.NORTHSTAR_VERSION }}
@@ -32,24 +34,28 @@ jobs:
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 Launcher
sed -i 's/DEV/${{ env.NORTHSTAR_VERSION }}/g' LauncherInjector/resources.rc
FILEVERSION=$(echo ${{ env.NORTHSTAR_VERSION }} | tr '.' ',' | 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@v3
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@v3
uses: actions/upload-artifact@v2
with:
name: launcher-debug-files
path: |
@@ -60,23 +66,20 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Download compiled launcher
uses: actions/download-artifact@v3
uses: actions/download-artifact@v2
with:
name: northstar-launcher
path: northstar-launcher
- name: Download DiscordRPC plugin
run:
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
uses: actions/checkout@v2
with:
ref: ${{ env.NORTHSTAR_VERSION }}
path: northstar
- name: Checkout core mods
uses: actions/checkout@v3
uses: actions/checkout@v2
with:
repository: R2Northstar/NorthstarMods
ref: ${{ env.NORTHSTAR_VERSION }}
@@ -95,56 +98,30 @@ jobs:
- name: Make folder structure
run: |
mv -v northstar/release/* northstar/.
rm -d northstar/release
mkdir -p northstar/R2Northstar/mods
mkdir -p northstar/R2Northstar/plugins
mkdir -p northstar/bin/x64_retail
unzip northstar-discord-rpc.zip
mv -v DiscordRPC.dll 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
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: 'v1'
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
rm -rf northstar-launcher
cd northstar && rm -rf .git .github .gitignore *.md LICENSE thunderstore .ci.env.example
- name: Upload
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v2
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
- 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
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 }}
@@ -162,19 +139,19 @@ jobs:
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
wget https://github.com/thunderstore-io/thunderstore-cli/releases/download/0.1.4/tcli-0.1.4-linux-x64.tar.gz
tar xvf tcli-0.1.4-linux-x64.tar.gz
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
if: ${{ env.ACT }} # Download Northstar package 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@v3
uses: actions/download-artifact@v2
with:
name: Northstar.release.${{ env.NORTHSTAR_VERSION }}
path: northstar
@@ -182,25 +159,14 @@ jobs:
- 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: |
# 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
echo "MOD_VERSION=$(echo $NORTHSTAR_VERSION | tr -d 'v')" >> $GITHUB_ENV
- name: Publish package to Thunderstore
working-directory: thunderstore

View File

@@ -1,7 +1,6 @@
# Northstar
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/R2Northstar/Northstar)](https://github.com/R2Northstar/Northstar/releases)
![GitHub release downloads (latest by date)](https://img.shields.io/github/downloads/R2Northstar/Northstar/latest/total)
[![Join the chat at Discord](https://img.shields.io/badge/chat-on%20discord-7289DA.svg)](https://northstar.tf/discord)
[![Read the wiki](https://img.shields.io/badge/wiki-GitBook-important)](https://r2northstar.gitbook.io)
@@ -13,22 +12,19 @@ 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)
## 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.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -0,0 +1 @@
-multiple

View File

@@ -0,0 +1 @@
+setplaylist private_match

View File

@@ -1 +0,0 @@
NorthstarLauncher.exe -dedicated -multiple