summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/release-notes.md13
-rw-r--r--docs/technical/web.md44
2 files changed, 47 insertions, 10 deletions
diff --git a/docs/release-notes.md b/docs/release-notes.md
index de4684ec..e133a45c 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -2,6 +2,14 @@
# Release notes
## Upcoming released
+* For players:
+ * Mod warnings are now listed alphabetically.
+
+* For the web UI:
+ * Updated web framework to improve site performance and reliability.
+ * Added GitHub licenses to mod compatibility list.
+ * Internal changes to improve performance and reliability.
+
* For modders:
* Added `Multiplayer.PeerConnected` event.
* Migrated to Harmony 2.0 (see [_migrate to Harmony 2.0_](https://stardewvalleywiki.com/Modding:Migrate_to_Harmony_2.0) for more info).
@@ -9,8 +17,13 @@
* Improved mod rewriting for compatibility:
* Fixed rewriting types in custom attributes.
* Fixed rewriting generic types to method references.
+ * Simplified paranoid warnings in the log and reduced their log level.
* Fixed asset propagation for Gil's portraits.
+* For SMAPI developers:
+ * When deploying web services to a single-instance app, the MongoDB server can now be replaced with in-memory storage.
+ * Merged the separate legacy redirects app on AWS into the main app on Azure.
+
## 3.5
Released 27 April 2020 for Stardew Valley 1.4.1 or later.
diff --git a/docs/technical/web.md b/docs/technical/web.md
index 67e86c8b..ef591aee 100644
--- a/docs/technical/web.md
+++ b/docs/technical/web.md
@@ -340,9 +340,20 @@ short url | → | target page
A local environment lets you run a complete copy of the web project (including cache database) on
your machine, with no external dependencies aside from the actual mod sites.
-1. Enter the Nexus credentials in `appsettings.Development.json` . You can leave the other
- credentials empty to default to fetching data anonymously, and storing data in-memory and
- on disk.
+1. Edit `appsettings.Development.json` and set these options:
+
+ property name | description
+ ------------- | -----------
+ `NexusApiKey` | [Your Nexus API key](https://www.nexusmods.com/users/myaccount?tab=api#personal_key).
+
+ Optional settings:
+
+ property name | description
+ --------------------------- | -----------
+ `AzureBlobConnectionString` | The connection string for the Azure Blob storage account. Defaults to using the system's temporary file folder if not specified.
+ `GitHubUsername`<br />`GitHubPassword` | The GitHub credentials with which to query GitHub release info. Defaults to anonymous requests if not specified.
+ `Storage` | How to storage cached wiki/mod data. `InMemory` is recommended in most cases, or `MongoInMemory` to test the MongoDB storage code. See [production environment](#production-environment) for more info on `Mongo`.
+
2. Launch `SMAPI.Web` from Visual Studio to run a local version of the site.
### Production environment
@@ -355,19 +366,15 @@ accordingly.
Initial setup:
-1. Launch an empty MongoDB server (e.g. using [MongoDB Atlas](https://www.mongodb.com/cloud/atlas))
- for mod data.
-2. Create an Azure Blob storage account for uploaded files.
-3. Create an Azure App Services environment running the latest .NET Core on Linux or Windows.
-4. Add these application settings in the new App Services environment:
+1. Create an Azure Blob storage account for uploaded files.
+2. Create an Azure App Services environment running the latest .NET Core on Linux or Windows.
+3. Add these application settings in the new App Services environment:
property name | description
------------------------------- | -----------------
`ApiClients.AzureBlobConnectionString` | The connection string for the Azure Blob storage account created in step 2.
`ApiClients.GitHubUsername`<br />`ApiClients.GitHubPassword` | The login credentials for the GitHub account with which to fetch release info. If these are omitted, GitHub will impose much stricter rate limits.
`ApiClients:NexusApiKey` | The [Nexus API authentication key](https://github.com/Pathoschild/FluentNexus#init-a-client).
- `MongoDB:ConnectionString` | The connection string for the MongoDB instance.
- `MongoDB:Database` | The MongoDB database name (e.g. `smapi` in production or `smapi-edge` in testing environments).
Optional settings:
@@ -378,6 +385,23 @@ Initial setup:
`Site:BetaBlurb` | If `Site:BetaEnabled` is true and there's a beta version of SMAPI in its GitHub releases, this is shown on the beta download button as explanatory subtext.
`Site:SupporterList` | A list of Patreon supports to credit on the download page.
+To enable distributed servers:
+
+1. Launch an empty MongoDB server (e.g. using [MongoDB Atlas](https://www.mongodb.com/cloud/atlas))
+ for mod data.
+2. Add these application settings in the App Services environment:
+
+ property name | description
+ ------------------------------- | -----------------
+ `Storage:Mode` | Set to `Mongo`.
+ `Storage:ConnectionString` | Set to the connection string for the MongoDB instance.
+
+ Optional settings:
+
+ property name | description
+ ------------------------------- | -----------------
+ `Storage:Database` | Set to the MongoDB database name (defaults to `smapi`).
+
To deploy updates:
1. [Deploy the web project from Visual Studio](https://docs.microsoft.com/en-us/visualstudio/deployment/quickstart-deploy-to-azure).
2. If the MongoDB schema changed, delete the MongoDB database. (It'll be recreated automatically.)