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

Compare commits

..

1 Commits

Author SHA1 Message Date
Barichello
ac81955e42 v1.4.1 2022-02-10 18:51:31 -03:00
7 changed files with 24 additions and 180 deletions

View File

@@ -1,11 +0,0 @@
# Env file to use with https://github.com/nektos/act to run GitHub Actions locally when debugging
#
# Ex:
# act --env-file .env -j build-thunderstore-package
#
# Reference:
# https://github.com/thunderstore-io/thunderstore-cli/wiki
TCLI_AUTH_TOKEN=
TS_COMMUNITY=test
TS_REPO=https://thunderstore.dev/

View File

@@ -3,12 +3,6 @@ on:
push:
tags:
- '*'
workflow_dispatch:
inputs:
job:
description: 'Job to run'
required: true
default: 'build-thunderstore-package'
env:
NORTHSTAR_VERSION: ${{ github.ref_name }}
@@ -17,49 +11,30 @@ 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
- name: Checkout
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
FILEVERSION=$(echo ${{ env.NORTHSTAR_VERSION }} | tr '.' ',' | tr -d '[:alpha:]')
sed -i "s/0,0,0,0/${FILEVERSION}/g" LauncherInjector/resources.rc
- 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
run: msbuild /p:Configuration=Release
- name: Upload Build 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
x64/Release/Northstar.dll
x64/Release/wsock32.dll
x64/Release/NorthstarLauncher.exe
x64/Release/*.txt
build-northstar:
needs: build-launcher
@@ -70,15 +45,12 @@ jobs:
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
uses: actions/checkout@v2
with:
ref: ${{ env.NORTHSTAR_VERSION }}
path: northstar
- name: Checkout core mods
- name: Checkout
uses: actions/checkout@v2
with:
repository: R2Northstar/NorthstarMods
@@ -90,103 +62,20 @@ jobs:
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
- name: Download repositories
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/.
mv 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
mv northstar-launcher/wsock32.dll northstar/bin/x64_retail
mv 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
- name: Cleanup
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 *.md LICENSE
- 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

1
.gitignore vendored
View File

@@ -1 +0,0 @@
.env

View File

@@ -15,19 +15,15 @@ Northstar is a modding framework client that allows users to host their own Tita
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)
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)
2. [NorthstarMods](https://github.com/R2Northstar/NorthstarMods) (Code for the squirrel mods responsible for server gamelogic recreation and custom content)
3. [NorthstarMasterServer](https://github.com/R2Northstar/NorthstarMasterServer) (Responsible for server browser, authentication and persistence)
4. [NorthstarWiki](https://github.com/R2Northstar/NorthstarWiki) (Documentation for 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.
- 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.
- 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

BIN
release/MinHook.x64.dll Normal file

Binary file not shown.

View File

@@ -1,29 +0,0 @@
# Northstar
Northstar is a modding framework client that allows users to host their own Titanfall 2 servers using custom scripts and assets to create custom content, as well as being able to host vanilla content.
# Manual Install
Firstly, note that the Northstar client is only available on PC and
requires you to **both own the game and have it installed.**
1. Download the zip with the "Manual Download" button
2. Copy the files from inside the "Northstar" folder from the zip to your game folder. This can vary depending on whether you purchased the game off Steam or Origin, and if you set a custom folder for game installs.
- **For Steam** - Right click _Titanfall 2 \> Properties \> Local Files \> Browse_
Usually: `C:\Program Files (x86)\Steam\steamapps\common\Titanfall2`
- **For Origin** - To find the location of your Origin library go to _Origin -\> Application Setting -\> Installs & Saves -\> On your Computer -\> Game Library Location_
Go to the directory mentioned there using File Explorer and open the `Titanfall2` folder.
Usually: `C:\Program Files (x86)\Origin Games\Titanfall2`
- **For EA App** - To find the location of your EA library go to _Settings -\> Download_
Go to the directory under "Install location" using File Explorer and open the `Titanfall2` folder.
Usually: `C:\Program Files\EA Games\Titanfall2`
3. Launch `NorthstarLauncher.exe` to start Northstar
- After launching for the first time, you'll be greeted with a popup requesting to authenticate to the master server. Click Yes (This can be changed in the mods menu later if desired)
4. Select _Launch Northstar_
5. From the multiplayer menu, you can use the server browser to select and join any of the public community hosted servers.
# Links
[Discord](https://northstar.tf/discord)
[GitHub](https://northstar.tf/github)
[Wiki](https://northstar.tf/wiki)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB