📓 Update documentation
This commit is contained in:
parent
7f8913cde6
commit
32d61a3559
1 changed files with 43 additions and 43 deletions
86
README.md
86
README.md
|
@ -1,13 +1,13 @@
|
||||||
This tool is used for fetching releases from SWTOR’s patch server CDN and installing them.
|
This tool is used for fetching releases from SWTOR’s patch server CDN and installing them.
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
For this tool to work, ```tsc``` and ```tslint``` must be globally available, e.g. by running:
|
For this tool to work, `tsc` and `tslint` must be globally available, e.g. by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo npm install -g typescript tslint
|
sudo npm install -g typescript tslint
|
||||||
```
|
```
|
||||||
|
|
||||||
In addition, the ```patch-installer``` repository must be present in the parent folder of this repository.
|
In addition, the `patch-installer` repository must be present in the parent folder of this repository.
|
||||||
|
|
||||||
Transpile the TypeScript files to JavaScript by running:
|
Transpile the TypeScript files to JavaScript by running:
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ Transpile the TypeScript files to JavaScript by running:
|
||||||
npm start
|
npm start
|
||||||
```
|
```
|
||||||
|
|
||||||
For a better command line experience, add the following to your ```~/.bashrc``` file:
|
For a better command line experience, add the following to your `~/.bashrc` file:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
alias swtor_install='node /path/to/installation/patcher/dist/installPatch.js'
|
alias swtor_install='node /path/to/installation/patcher/dist/installPatch.js'
|
||||||
|
@ -49,20 +49,20 @@ import * as ssn from './dist';
|
||||||
```
|
```
|
||||||
|
|
||||||
# Introduction
|
# Introduction
|
||||||
SWTOR’s patcher is licensed from Solid State Networks, so it is mostly using code from SSN. However, SWTOR does not use the original software by SSN; instead they wrote their own patch deploy pipeline which interfaces with the SSN command line tools.
|
SWTOR’s patcher uses technology licensed from Solid State Networks (SSN). However, SWTOR does not use the GUI software from SSN; instead the developers wrote their own patch deploy pipeline which interfaces with the command line tools from SSN.
|
||||||
|
|
||||||
Also, SWTOR does not use all features offered by SSN. Notably, for public-facing products they do not use the peer-to-peer download of patches; instead all patches are downloaded from a CDN. In addition, they do not use the ```upcoming``` feature where you can preload an upcoming patch before it is released.
|
Also, SWTOR does not use all features offered by SSN. Notably, for public-facing products they do not use the peer-to-peer download of patches; instead all patches are downloaded from a CDN. In addition, they do not use the `upcoming` feature where you can preload a future patch before it is released.
|
||||||
|
|
||||||
In addition to the SSN patcher, the live game (but not the PTS) can also be installed via BitRaider. We do not cover BitRaider since understanding SSN is enough to install all patches.
|
Instead of the SSN patcher, the live game (but not the PTS) can also be installed via BitRaider. We do not cover BitRaider since understanding SSN is enough to install all patches.
|
||||||
|
|
||||||
## Terminology
|
## Terminology
|
||||||
SSN uses the following terms; make sure you are familiar with them since we use them as well in documentation and in code.
|
SSN uses the following terms; make sure you are familiar with them since we use them as well in documentation and in code.
|
||||||
|
|
||||||
- __```product```__: SWTOR is split into multiple products. That way, you can choose to only install part of SWTOR. For example, if you install the products ```assets_swtor_main``` and ```assets_swtor_en_us```, you only have the English-language live client files and no other languages and no PTS.
|
- __`yproduct`y__: SWTOR is split into multiple products. That way, you can choose to only install part of SWTOR. For example, if you install the products `yassets_swtor_main`y and `yassets_swtor_en_us`y, you only have the English-language live client files and no other languages and no PTS.
|
||||||
- __```release```__: Colloquially, this is known as a “patch” or “Game Update”. For example, release ```264``` in product ```assets_swtor_main``` refers to Game Update 5.2.0. However, not every release can be mapped to a “patch”; sometimes there are multiple releases between two actual “patches”, e.g. because of build errors or because they need to add a hotfix via another release before the “patch” can be pushed to the live servers. A release is always an integer starting at ```0```.
|
- __`yrelease`y__: Colloquially, this is known as a “patch” or “Game Update”. For example, release `y264`y in product `yassets_swtor_main`y refers to Game Update 5.2.0. However, not every release can be mapped to a “patch”; sometimes there are multiple releases between two actual “patches”, e.g. because of build errors or because they need to add a hotfix via another release before the “patch” can be pushed to the live servers. A release is always an integer starting at `y0`y.
|
||||||
- __```patch```__: In the SSN sense, a patch refers to the difference between two releases. For example, ```263to264``` is a patch that can be used to update a product from release ```263``` to release ```264```. The first number is called ```from``` while the second number is ```to```. In order to install a patch, the release given in the ```from``` number must already be installed on your disk, with one exception: If the ```from``` number is ```-1```, e.g. in patch ```-1to0```, the patch does not store the differences but it has full file contents to allow for a fresh install.
|
- __`ypatch`y__: In the SSN sense, a patch refers to the difference between two releases. For example, `y263to264`y is a patch that can be used to update a product from release `y263`y to release `y264`y. The first number is called `yfrom`y while the second number is `yto`y. In order to install a patch, the release given in the `yfrom`y number must already be installed on your disk, with one exception: If the `yfrom`y number is `y-1`y, e.g. in patch `y-1to0`y, the patch does not store the differences but it has full file contents to allow for a fresh install.
|
||||||
- __```environment```__: An environment consists of multiple products. For example, the live environment (```swtor```) has products like ```assets_swtor_main``` while the PTS environment (```publictest```) has ```assets_swtor_test_main```.
|
- __`yenvironment`y__: An environment consists of multiple products. For example, the live environment (`yswtor`y) has products like `yassets_swtor_main`y while the PTS environment (`ypublictest`y) has `yassets_swtor_test_main`y.
|
||||||
- __```manifest```__: Each product has a manifest, a single file that lists all releases and all patches, and specifies which release is the current release (that the launcher must install).
|
- __`ymanifest`y__: Each product has a manifest, a single file that lists all releases and all patches, and specifies which release is the current release (that the launcher must install).
|
||||||
|
|
||||||
# SSN file format and encryption
|
# SSN file format and encryption
|
||||||
|
|
||||||
|
@ -101,46 +101,46 @@ In cases where the environment is part of the product name, the URL is slightly
|
||||||
|
|
||||||
Currently, the following three environments are used:
|
Currently, the following three environments are used:
|
||||||
|
|
||||||
- __```swtor```__: The live game, including the European and North American servers. Open to all players and the default environment when logging into the launcher.
|
- __`swtor`__: The live game, including the European and North American servers. Open to all players and the default environment when logging into the launcher.
|
||||||
- __```publictest```__: The Public Test Server to allow players to test upcoming content. Open to players most of the time, unless the testing under NDA, in which case only accounts invited to the test have access.
|
- __`publictest`__: The Public Test Server to allow players to test upcoming content. Open to players most of the time, unless the testing under NDA, in which case only accounts invited to the test have access.
|
||||||
- __```liveqatest```__: The environment where QA can test upcoming patches before they are deployed to the live servers. Not accessible to players.
|
- __`liveqatest`__: The environment where QA can test upcoming patches before they are deployed to the live servers. Not accessible to players.
|
||||||
|
|
||||||
Previously, the following environments were also used:
|
Previously, the following environments were also used:
|
||||||
|
|
||||||
- __```betatest```__: The client used during the closed beta (2011 and earlier) to play the game.
|
- __`betatest`__: The client used during the closed beta (2011 and earlier) to play the game.
|
||||||
- __```cstraining```__: No longer used.
|
- __`cstraining`__: No longer used.
|
||||||
- __```liveeptest```__: No longer used.
|
- __`liveeptest`__: No longer used.
|
||||||
- __```squadron157```__: The client used during the early closed beta by the Squadron157 testing group to play the game.
|
- __`squadron157`__: The client used during the early closed beta by the Squadron157 testing group to play the game.
|
||||||
|
|
||||||
## Products used by SWTOR
|
## Products used by SWTOR
|
||||||
|
|
||||||
SWTOR uses the following products:
|
SWTOR uses the following products:
|
||||||
|
|
||||||
- __```assets_swtor_de_de```__: German language files for the live environment.
|
- __`assets_swtor_de_de`__: German language files for the live environment.
|
||||||
- __```assets_swtor_fr_fr```__: English language files for the live environment.
|
- __`assets_swtor_fr_fr`__: English language files for the live environment.
|
||||||
- __```assets_swtor_en_us```__: French language files for the live environment.
|
- __`assets_swtor_en_us`__: French language files for the live environment.
|
||||||
- __```assets_swtor_main```__: Main game data for the live environment.
|
- __`assets_swtor_main`__: Main game data for the live environment.
|
||||||
- __```assets_swtor_test_de_de```__: German language files for the PTS environment.
|
- __`assets_swtor_test_de_de`__: German language files for the PTS environment.
|
||||||
- __```assets_swtor_test_en_us```__: English language files for the PTS environment.
|
- __`assets_swtor_test_en_us`__: English language files for the PTS environment.
|
||||||
- __```assets_swtor_test_fr_fr```__: French language files for the PTS environment.
|
- __`assets_swtor_test_fr_fr`__: French language files for the PTS environment.
|
||||||
- __```assets_swtor_test_main```__: Main game data for the PTS environment.
|
- __`assets_swtor_test_main`__: Main game data for the PTS environment.
|
||||||
- __```eualas```__: End user access and license agreement, and other legal documents you need to accept in the launcher before you can play the game.
|
- __`eualas`__: End user access and license agreement, and other legal documents you need to accept in the launcher before you can play the game.
|
||||||
- __```movies_de_de```__: Intro movies by Blur in German language.
|
- __`movies_de_de`__: Intro movies by Blur in German language.
|
||||||
- __```movies_en_us```__: Intro movies by Blur in English language.
|
- __`movies_en_us`__: Intro movies by Blur in English language.
|
||||||
- __```movies_fr_fr```__: Intro movies by Blur in French language.
|
- __`movies_fr_fr`__: Intro movies by Blur in French language.
|
||||||
- __```patcher2014```__: The old launcher, now replaced by ```patcher2017``` but still available for download.
|
- __`patcher2014`__: The old launcher, now replaced by `patcher2017` but still available for download.
|
||||||
- __```patcher2017```__: Current version of the launcher, used to download and install patches.
|
- __`patcher2017`__: Current version of the launcher, used to download and install patches.
|
||||||
- __```retailclient_{environment}```__: The client used to play the game, e.g. ```retailclient_swtor``` or ```retailclient_publictest```.
|
- __`retailclient_{environment}`__: The client used to play the game, e.g. `retailclient_swtor` or `retailclient_publictest`.
|
||||||
|
|
||||||
In addition, there are a few private products which are only reachable through BioWare’s VPN and are not publicly accessible:
|
In addition, there are a few private products which are only reachable through BioWare’s VPN and are not publicly accessible:
|
||||||
|
|
||||||
- __```biomon_{environment}```__: The ```Biomongoose``` tool, possibly to monitor performance like CPU and memory usage.
|
- __`biomon_{environment}`__: The `Biomongoose` tool, possibly to monitor performance like CPU and memory usage.
|
||||||
- __```byftools_{environment}```__: Unknown tools ```ByfTools``` and ```iPen```, might be related to Photoshop or other designer tools.
|
- __`byftools_{environment}`__: Unknown tools `ByfTools` and `iPen`, might be related to Photoshop or other designer tools.
|
||||||
- __```heroblade_{environment}```__: The IDE used for editing the game, either by placing new objects into the game world or editing scripts.
|
- __`heroblade_{environment}`__: The IDE used for editing the game, either by placing new objects into the game world or editing scripts.
|
||||||
- __```morpheme_{environment}```__: Morpheme is a middleware used for character animations. Only available in the ```cstraining``` and ```liveqatest``` environments.
|
- __`morpheme_{environment}`__: Morpheme is a middleware used for character animations. Only available in the `cstraining` and `liveqatest` environments.
|
||||||
- __```patcher```__: The old launcher before the 2014 revamp. No longer in use.
|
- __`patcher`__: The old launcher before the 2014 revamp. No longer in use.
|
||||||
- __```playerclient_{environment}```__: A client to play the game, used by the devs instead of ```retailclient```. Has a console and integrates with HeroBlade.
|
- __`playerclient_{environment}`__: A client to play the game, used by the devs instead of `retailclient`. Has a console and integrates with HeroBlade.
|
||||||
- __```repositoryassistant_{environment}```__: unknown
|
- __`repositoryassistant_{environment}`__: unknown
|
||||||
- __```repositorybrowser_{environment}```__: The repository browser interfaces with HeroBlade to load 3D models, textures and other assets.
|
- __`repositorybrowser_{environment}`__: The repository browser interfaces with HeroBlade to load 3D models, textures and other assets.
|
||||||
- __```toolshub_{environment}```__: Used to launch more tools; most likely SpeedTree, WWise and other middleware.
|
- __`toolshub_{environment}`__: Used to launch more tools; most likely SpeedTree, WWise and other middleware.
|
||||||
- __```visualizer_{environment}```__: Also known as ```VANViewer```; possibly the tool mentioned by Georg Zoeller in his 2011 GDC talk.
|
- __`visualizer_{environment}`__: Also known as `VANViewer`; possibly the tool mentioned by Georg Zoeller in his 2011 GDC talk.
|
||||||
|
|
Loading…
Reference in a new issue