Push changes

This commit is contained in:
Yury
2025-02-24 01:01:48 +02:00
parent 1bfb16539f
commit 44a7554616
126 changed files with 5965 additions and 1265 deletions
+95 -48
View File
@@ -1,52 +1,76 @@
# Prospect
# Prospect <!-- omit in toc -->
Also known as "The Cycle: Frontier".
## Table of Contents <!-- omit in toc -->
- [Features](#features)
- [Running locally](#running-locally)
- [1. Prerequisites](#1-prerequisites)
- [1.1 How to download Season 2 client from SteamDB using Steam console](#11-how-to-download-season-2-client-from-steamdb-using-steam-console)
- [2. Unpack `Prospect.Server.Api`](#2-unpack-prospectserverapi)
- [3. Patch the `hosts` file](#3-patch-the-hosts-file)
- [4. Generate and import SSL certificate](#4-generate-and-import-ssl-certificate)
- [5. Add `steam_appid` to the game](#5-add-steam_appid-to-the-game)
- [6. Create a game shortcut with specified arguments](#6-create-a-game-shortcut-with-specified-arguments)
- [7. Run the server](#7-run-the-server)
- [8. Run the game](#8-run-the-game)
- [Troubleshooting and FAQ](#troubleshooting-and-faq)
- [How to remove the certificate?](#how-to-remove-the-certificate)
- [`generate_ssl.exe` is flagged as a virus](#generate_sslexe-is-flagged-as-a-virus)
- [Body parts are missing with Season 3 client](#body-parts-are-missing-with-season-3-client)
- [Prospect.Server.Api does not start](#prospectserverapi-does-not-start)
- [Login Failed. Error code: 3](#login-failed-error-code-3)
- [Login Failed. Error code: 5](#login-failed-error-code-5)
- [Development](#development)
## Features
* [x] Basic login with Steam.
* [x] EULA acceptance.
* [x] Tutorial.
* [x] Single-player station (Season 2 and Season 3).
* Basic station functionality:
* [x] Basic login with Steam
* [x] EULA acceptance
* [x] Tutorial
* [x] Single-player station (Season 2 and Season 3):
* [ ] Onboarding
* [x] Talk to Badum
* [x] Equip items
* [ ] Deploy to Fortuna
* [ ] Matchmaking
* [x] Can deploy through matchmaking
* [ ] Matchmaking and deployment
* [x] Solo
* [ ] Squad
* [ ] Items insurance
* [ ] Free loadouts (Season 3)
* [ ] Gameplay
* [ ] Can evac
* [ ] Can do quests
* [ ] Inventory and loadout
* [x] Items can be equipped
* [x] Items can be unequipped.
* [x] Loadout is carried into matchmaking
* [x] Items are automatically stacked
* [x] Weapon mods can be equipped
* [x] Weapon appearance can be changed
* [ ] Quests
* [x] Quests can be accepted
* [ ] Quests can be removed
* [ ] Quests can be completed
* [x] Inventory and loadout
* [ ] Loadout presets (Season 3)
* [x] Quests
* [ ] Job boards
* [x] Faction progression
* [ ] Season pass
* [x] Character appearance and emotes
* [ ] Shops
* [x] Items can be bought
* [x] Items can be sold (balance and progression is received)
* [ ] Crafting station
* [ ] Season pass
* [ ] Quarters
* [ ] Generator
* [ ] Quarter upgrades
* [ ] Daily shop
* [ ] Weekly shop
* [ ] Shop rotation
* [x] Daily login
* [x] Character appearance and emotes
* [x] Shops
* [x] Crafting station
* [x] Quarters
* [x] Player balance
* [x] K-Marks
* [x] Aurum
* [x] Insurance Tokens
* [ ] Social features
* [ ] Proximity voice
* [x] Vivox login
* [x] Vivox create and join channel
* [ ] Proximity voice works
* [ ] Game mechanics
* [x] Can deploy through terminal
* [x] Can deploy with loadout
* [ ] Can evac
* [ ] Can do quests
* [ ] Can gain/lose loot
* [ ] Can use Alien Forge.
* [ ] Map content
* [x] Bright Sands
* [ ] Crescent Falls
* [ ] Tharis Island
## Running locally
@@ -55,6 +79,13 @@ Also known as "The Cycle: Frontier".
### 1. Prerequisites
> [!WARNING]
> The latest Steam version of The Cycle: Frontier currently does not work with Windows 11 24H2!
> [!IMPORTANT]
> You must have The Cycle: Frontier from Steam in your Steam library to be able to download it.
> Otherwise, the download will fail with an error message about missing license.
Before you start, you'll need the following software downloaded and installed:
1. [MongoDB Community Edition](https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-8.0.4-signed.msi).
@@ -65,14 +96,30 @@ Before you start, you'll need the following software downloaded and installed:
1. [ASP.NET Core 8.0](https://aka.ms/dotnet-core-applaunch?framework=Microsoft.AspNetCore.App&framework_version=8.0.0&arch=x64&rid=win-x64&os=win10) installed.
1. A compatible The Cycle: Frontier game client. The server works with:
1. The Cycle: Frontier game client:
1. The latest version from [Steam](https://steamcommunity.com/app/868270).
- The latest version from [Steam](https://steamcommunity.com/app/868270).
> [!WARNING]
> The latest version of The Cycle: Frontier does not work with Windows 11 24H2!
- Season 2 client. See [download instructions below](#11-how-to-download-season-2-client-from-steamdb-using-steam-console).
1. Season 2 client downloaded from SteamDB using a depot downloader. For example, [version 2.7.2](https://steamdb.info/depot/868271/history/?changeid=M:4623363103423775682).
- Any other version, even Season 1 works.
### 1.1 How to download Season 2 client from SteamDB using Steam console
> [!WARNING]
> This will overwrite the existing client if you try to download a different manifest!
1. With Steam running, click <steam://nav/console> to open Steam console. Alternatively, you can press `Win+R` and enter `steam://nav/console`.
1. Open [The Cycle: Frontier SteamDB manifests](https://steamdb.info/depot/868271/manifests/).
1. Press `CTRL+F` and enter `4623363103423775682` to find the manifest for Season 2 version 2.7.2 client.
1. Click the ![Copy](./_assets/steamdb_copy.PNG) icon to copy the download command.
1. Paste the command in the Steam console and press `Enter`.
1. The depot will begin downloading. You should receive a notification and the destination folder when the download is complete.
### 2. Unpack `Prospect.Server.Api`
@@ -110,7 +157,7 @@ to successfully communicate with the local server. Do the following:
1. Select **Place all certificates in the following store** > **Browse...**. Choose **Trusted Root Certification Authorities** and click **OK**. Click **Next**.
1. Click **Finish**. A Security Warning popup may appear, make sure it specifies `2EA46.playfabapi.com` certification authority and click **Yes**.
1. Click **Finish**. A **Security Warning** popup may appear, make sure it specifies `2EA46.playfabapi.com` certification authority and click **Yes**.
### 5. Add `steam_appid` to the game
@@ -130,7 +177,7 @@ to successfully communicate with the local server. Do the following:
1. Right-click the created shortcut > **Properties**.
1. In the **Target** field, add the following parameters after the quote ` -empty -server -log -windowed -noeac -nointro -steam_auth PF_TITLEID=2EA46`. Note the space after the quote.
1. In the **Target** field, add the following parameters after the quote ` -log -steam_auth PF_TITLEID=2EA46`. Note the space after the quote.
1. Move the shortcut to desktop.
@@ -147,9 +194,9 @@ Now you are all set! Open the folder with `Prospect.Server.Api` and run `Prospec
Once the server is running, make sure that Steam is running and open The Cycle: Frontier using the shortcut you've created before.
### Troubleshooting and FAQ
## Troubleshooting and FAQ
#### How to remove the certificate?
### How to remove the certificate?
If you've installed the certificate for the **Current User**:
@@ -161,20 +208,20 @@ If you've installed the certificate for the **Current User**:
If you've installed the certificate for the **Local Machine**, repeat the same steps but instead open `certlm.msc`.
#### `generate_ssl.exe` is flagged as a virus
### `generate_ssl.exe` is flagged as a virus
`generate_ssl.exe` is a Python application packed with PyInstaller and some anti-viruses may flag it as a virus.
This application is a simple certificate generator and you can find its source code in `utils/generate_ssl.py`.
#### Body parts are missing with Season 3 client
### Body parts are missing with Season 3 client
Currently, the server loads body part IDs for Season 2 by default, so this is expected. You can fix this by going to station and changing your character appearance. This will store the updated body part IDs for your character.
#### Prospect.Server.Api does not start
### Prospect.Server.Api does not start
Make sure you have [.NET Runtime 8.0](https://aka.ms/dotnet-core-applaunch?missing_runtime=true&arch=x64&rid=win-x64&os=win10&apphost_version=8.0.11) and [ASP.NET Core 8.0](https://aka.ms/dotnet-core-applaunch?framework=Microsoft.AspNetCore.App&framework_version=8.0.0&arch=x64&rid=win-x64&os=win10) installed.
#### Login Failed. Error code: 3
### Login Failed. Error code: 3
Make sure that:
@@ -182,14 +229,14 @@ Make sure that:
* You have created and **saved** the `steam_appid` file as described in step 6.
* The `steam_appid` file type is "TXT File".
#### Login Failed. Error code: 5
### Login Failed. Error code: 5
Make sure that:
* `Prospect.Server.Api` server is running.
* The `C:\Windows\System32\drivers\etc\hosts` file contains `127.0.0.1 2EA46.playfabapi.com` and that the file is **saved**.
If the server works and the `hosts` file is saved, `Alt+Tab` to a game console that opens when you start the game and check for the following:
If the server works and the `hosts` file is saved, press `Alt+Tab` to a game console that opens when you start the game and check for the following:
* `libcurl error 7 (Couldn't connect to server)` - indicates that the `Prospect.Server.Api` is not running.
![](./_assets/connection_refused_error.png)