is a CLI based updater tool for Northstar and for custom Northstar mods published on Github or northstar.thunderstore.io. The Manager can be configured via the 'manager_config.yaml' or/and via Launch arguments and used to setup dedicated servers.
- Auto-Install of Northstar and mods
- Auto-Updater for Northstar, mods and itself
- Auto-Install, Auto-Setup and Auto-Configuration of dedicated servers
The example_manager_config.yaml describes how to configure the manager/ mods/ servers. A list of example dedicated servers is also included which can just be copy pasted to your config file.
- Download the latest NorthstarManager.exe or download another Version from the release page.
- Put the NorthstarManager.exe into your Titanfall2 folder. (folder which includes the Titanfall2.exe)
- Run NorthstarManager.exe
Configuration happens in the 'manager_conf.ymal'. The config file will be generated at launch.
optional
flags are not necessarily for a valid configuration. If not present the value will be the default
value.
Configuration will be separated by following sections:
Settings that persist for all other sections.
Flag | Expected Value | Description |
---|---|---|
github_token | optional Github Token default no token |
Sets the Token for requests to github. A token is not mandatory but it increases the github rate limit substantially. Get Github Token |
log_level | optional Log Level (eg. INFO) |
Sets the loggong level for the manager. Can be set to DEBUG, INFO, WARNING or ERROR. |
Flag | Expected Value | Description |
---|---|---|
filename | Path to file | Path to NorthstarLauncher.exe or Titandfall2.exe (if you want to play vanilla Titanfall) |
arguments | optional launcher arguments |
Expects TF2 launcher arguments those will overrite/ expande the arguments saved in the ns_startup_args.txt. Multiple arguments can be separated by space. |
Flag | Expected Value | Description |
---|---|---|
repository | Owner/RepositoryName (eg. FromWau/NorthstarManager) | Declares the repository of the manager. |
last_update | Timestamp with format yyyy-mm-ddThh:mm:ss (eg. 2022-02-07T13:07:29) | Defines the Timestamp when the repository was updated. |
file | optional NorthstarManager.exe default mod.json |
Sets the filename of the mod. |
install_dir | optional Path to install directory of mod. (eg. .) default ./R2Manager/mods |
Defines the install location of the mod. |
ignore_updates | optional Boolean (eg. true) default false |
Will ignore new version and keeps the installed version |
ignore_prerelease | optional Boolean (eg. true) default false |
Will ignore pre releases when searching for new realeses of the repo |
List of mod entries eg.:
Mods:
Mod1:
...
Mod2:
...
Flag | Expected Value | Description |
---|---|---|
repository | Owner/RepositoryName (eg. R2Northstar/Northstar) | Declares the repository of the mod. |
last_update | Timestamp with format yyyy-mm-ddThh:mm:ss (eg. 2022-02-07T13:07:29) | Defines the Timestamp when the repository was updated. |
file | optional NorthstarLauncher.exe default mod.json |
Sets the filename of the mod. |
install_dir | optional Path to install directory of mod. (eg. .) default ./R2Manager/mods |
Defines the install location of the mod. |
exclude_files | optional Filename (eg.exclude_files: - ns_startup_args.txt - ns_startup_args_dedi.txt) default no files |
Files to be excluded from replacing when installing the new version of a mod. Files need to be listed as list. |
ignore_updates | optional Boolean (eg. true) default false |
Will ignore new version and keeps the installed version |
ignore_prerelease | optional Boolean (eg. true) default false |
Will ignore pre releases when searching for new realeses of the repo |
List of server entries eg.:
Servers:
Server1:
Mods:
...
Config:
...
Server2:
...
The Server section is divided by Mods and the config section.
Additionaly Servers and indiviual servers like Server1, Server2, etc. can be disabled by enabled: false
The mods for the servers are the same way configured like client mods.
The config is spaced out between three files (mod configs can also be added to one of those files):
-
ns_startup_args_dedi.txt
Contains the startup arguments and is the equivalent to the Launcher - arguments for servers.
Expects TF2 servers launcher arguments those will overrite/ expande the arguments saved in the ns_startup_args_dedi.txt file. Multiple arguments can be separated by space. Following example sets the server mode to pilot vs pilot and sets the air accelaration to 9,000:+mp_gamemode ps +setplaylistvaroverrides "custom_air_accel_pilot 9000"
Link to the Wiki: https://r2northstar.gitbook.io/r2northstar-wiki/hosting-a-server-with-northstar/dedicated-server#startup-arguments -
mod.json
Contains a list of ConVars of the server.
ConVars:
key: value
Link to the Wiki: https://r2northstar.gitbook.io/r2northstar-wiki/hosting-a-server-with-northstar/dedicated-server#convars -
autoexec_ns_server.cfg
Contains the basic configuration list for the server.
key: value
Link to the Wiki: https://r2northstar.gitbook.io/r2northstar-wiki/hosting-a-server-with-northstar/basic-listen-server#server-configuration
NorthstarManager.exe can be launched with following flags:
Launch Arguments | Description |
---|---|
-help | Prints the help section for NorthstarManager. |
-updateAll | Force updates all repos defined in the 'manager_config.yaml' to the latest release regardless of the latest release maybe being already installed, ignoring config flags: 'ignore_updates'. |
-updateAllIgnoreManager | Force updates all repos defined in the 'manager_config.yaml', except the Manager section, to the latest release regardless of the latest release maybe being already installed, ignoring config flags: 'ignore_updates'. |
-updateServers | Force updates all repos defined in the 'manager_config.yaml' under the Servers section. |
-updateClient | Force updates all repos defined in the 'manager_config.yaml' under the Manager and Mods section. |
-onlyCheckServers | Looks for updates only for repos defined in the 'manager_config.yaml' under section Servers. |
-onlyCheckClient | Looks for updates only for repos defined in the 'manager_config.yaml' under section Manager and Mods. |
-noUpdate | Only launches the defined file from the Launcher section, without checking for updates. |
-noLaunch | Checks for updates for all repos defined in the 'manager_config.yaml' without launching the defined launcher in the 'manager_conf.ymal'. |
-launchServers | Launches all enabled servers from the Servers section in the 'manager_config.yaml' file. |
Needs Visual Studio Build Tools winget install Microsoft.VisualStudio.2022.Community
After Installing Run Visual Studio Installer and Click Modify and tick the checkbox for "Desktop development with C++". At the "Installation details" panel check "C++ Clang tools for Windows". After the install run the ./compile script.
Compilation from py to exe is done via nuitka, but you could also use pyinstaller or something else.
The compile.ps1 runs a pip install for the required python modules and starts the nuitka compilation. The scripts takes a 1950X about ~255 seconds.