mirror of
https://github.com/R2Northstar/Northstar
synced 2025-09-16 14:10:48 +02:00
Compare commits
34 Commits
v1.6.2-rc1
...
v1.14.1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
39ac00c374 | ||
![]() |
0e68be66f7 | ||
![]() |
6132fc2c7d | ||
![]() |
7a7ca84bd2 | ||
![]() |
7db68d5169 | ||
![]() |
aa4d230051 | ||
![]() |
aeb3e5ee17 | ||
![]() |
20ae5c9786 | ||
![]() |
8d7b5e4515 | ||
![]() |
c6c55ff014 | ||
![]() |
fd1c3d98ea | ||
![]() |
28b5f4f99f | ||
![]() |
0ac4a964f3 | ||
![]() |
f015f27561 | ||
![]() |
bfd587df40 | ||
![]() |
91da7d7d1b | ||
![]() |
dc05ebfa9c | ||
![]() |
a66132db28 | ||
![]() |
88673385a0 | ||
![]() |
f28b0b21a7 | ||
![]() |
d8ad8f12f8 | ||
![]() |
59d0566b37 | ||
![]() |
cc1ec86138 | ||
![]() |
d93d51cf73 | ||
![]() |
4bd0a75b82 | ||
![]() |
a52f2a193f | ||
![]() |
61dbcbd3f8 | ||
![]() |
763ae0328c | ||
![]() |
41be6f5b25 | ||
![]() |
ac5614e56b | ||
![]() |
833dbf8ad3 | ||
![]() |
45d4bc13e2 | ||
![]() |
253d60a578 | ||
![]() |
d7f06ccee8 |
11
.ci.env.example
Normal file
11
.ci.env.example
Normal file
@@ -0,0 +1,11 @@
|
||||
# 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/
|
158
.github/workflows/build.yml
vendored
158
.github/workflows/build.yml
vendored
@@ -2,7 +2,16 @@ name: Build
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
- 'v*'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
job:
|
||||
description: 'Job to run'
|
||||
required: true
|
||||
default: 'build-thunderstore-package'
|
||||
|
||||
permissions:
|
||||
contents: write # Needed to write to GitHub draft release
|
||||
|
||||
env:
|
||||
NORTHSTAR_VERSION: ${{ github.ref_name }}
|
||||
@@ -11,13 +20,8 @@ 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@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: R2Northstar/NorthstarLauncher
|
||||
ref: ${{ env.NORTHSTAR_VERSION }}
|
||||
@@ -28,28 +32,24 @@ jobs:
|
||||
shell: bash
|
||||
working-directory: northstar-launcher
|
||||
run: |
|
||||
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" LauncherInjector/resources.rc
|
||||
- name: Build
|
||||
working-directory: northstar-launcher
|
||||
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
|
||||
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@v2
|
||||
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@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: launcher-debug-files
|
||||
path: |
|
||||
@@ -60,20 +60,23 @@ jobs:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Download compiled launcher
|
||||
uses: actions/download-artifact@v2
|
||||
uses: actions/download-artifact@v3
|
||||
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@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ env.NORTHSTAR_VERSION }}
|
||||
path: northstar
|
||||
- name: Checkout core mods
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: R2Northstar/NorthstarMods
|
||||
ref: ${{ env.NORTHSTAR_VERSION }}
|
||||
@@ -92,21 +95,122 @@ 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
|
||||
mv -v northstar-launcher/DiscordRPC.dll northstar/R2Northstar/plugins
|
||||
mv -v northstar-launcher/discord_game_sdk.dll northstar
|
||||
|
||||
unzip northstar-discord-rpc.zip
|
||||
mv -v DiscordRPC.dll northstar/R2Northstar/plugins
|
||||
|
||||
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: Cleanup
|
||||
- name: Checkout Navmesh repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: R2Northstar/NorthstarNavs
|
||||
ref: 'v1'
|
||||
path: northstar-navs
|
||||
- name: Navmeshes setup
|
||||
run: |
|
||||
rm -rf northstar-launcher
|
||||
cd northstar && rm -rf .git .github *.md LICENSE
|
||||
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
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
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
|
||||
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@v3
|
||||
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
|
||||
|
||||
- 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
|
||||
|
||||
- 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
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.env
|
12
README.md
12
README.md
@@ -1,6 +1,7 @@
|
||||
# Northstar
|
||||
|
||||
[](https://github.com/R2Northstar/Northstar/releases)
|
||||

|
||||
[](https://northstar.tf/discord)
|
||||
[](https://r2northstar.gitbook.io)
|
||||
|
||||
@@ -12,19 +13,22 @@ Northstar is a modding framework client that allows users to host their own Tita
|
||||
|
||||
## Development
|
||||
|
||||
Northstar's development is split into 4 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.
|
||||
|
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -1 +0,0 @@
|
||||
-multiple
|
@@ -1 +0,0 @@
|
||||
+setplaylist private_match
|
1
release/r2ds.bat
Normal file
1
release/r2ds.bat
Normal file
@@ -0,0 +1 @@
|
||||
NorthstarLauncher.exe -dedicated -multiple
|
29
thunderstore/README.md
Normal file
29
thunderstore/README.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# 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)
|
BIN
thunderstore/icon.png
Normal file
BIN
thunderstore/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
Reference in New Issue
Block a user