summaryrefslogtreecommitdiff
path: root/docs/technical-docs.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/technical-docs.md')
-rw-r--r--docs/technical-docs.md79
1 files changed, 19 insertions, 60 deletions
diff --git a/docs/technical-docs.md b/docs/technical-docs.md
index ed45871a..5883ee00 100644
--- a/docs/technical-docs.md
+++ b/docs/technical-docs.md
@@ -16,7 +16,7 @@ mods, this section isn't relevant to you; see the main README to use or create m
* [SMAPI web services](#smapi-web-services)
* [Overview](#overview)
* [Log parser](#log-parser)
- * [Mods API](#mods-api)
+ * [Web API](#web-api)
* [Development](#development-2)
* [Local development](#local-development)
* [Deploying to Amazon Beanstalk](#deploying-to-amazon-beanstalk)
@@ -29,7 +29,7 @@ Using an official SMAPI release is recommended for most users.
SMAPI uses some C# 7 code, so you'll need at least
[Visual Studio 2017](https://www.visualstudio.com/vs/community/) on Windows,
-[MonoDevelop 7.0](http://www.monodevelop.com/) on Linux,
+[MonoDevelop 7.0](https://www.monodevelop.com/) on Linux,
[Visual Studio 2017 for Mac](https://www.visualstudio.com/vs/visual-studio-mac/), or an equivalent
IDE to compile it. It uses build configuration derived from the
[crossplatform mod config](https://github.com/Pathoschild/Stardew.ModBuildConfig#readme) to detect
@@ -44,70 +44,29 @@ executed. This doesn't work in MonoDevelop on Linux, unfortunately.
### Preparing a release
To prepare a crossplatform SMAPI release, you'll need to compile it on two platforms. See
-[crossplatforming info](https://stardewvalleywiki.com/Modding:Creating_a_SMAPI_mod#Test_on_all_platforms)
+[crossplatforming info](https://stardewvalleywiki.com/Modding:Modder_Guide/Test_and_Troubleshoot#Testing_on_all_platforms)
on the wiki for the first-time setup.
1. Update the version number in `GlobalAssemblyInfo.cs` and `Constants::Version`. Make sure you use a
- [semantic version](http://semver.org). Recommended format:
+ [semantic version](https://semver.org). Recommended format:
- build type | format | example
- :--------- | :-------------------------------- | :------
- dev build | `<version>-alpha.<timestamp>` | `2.0-alpha.20171230`
- prerelease | `<version>-prerelease.<ID>` | `2.0-prerelease.2`
- release | `<version>` | `2.0`
+ build type | format | example
+ :--------- | :----------------------- | :------
+ dev build | `<version>-alpha.<date>` | `3.0-alpha.20171230`
+ prerelease | `<version>-beta.<count>` | `3.0-beta.2`
+ release | `<version>` | `3.0`
2. In Windows:
- 1. Rebuild the solution in _Release_ mode.
- 2. Rename `bin/Packaged` to `SMAPI <version>` (e.g. `SMAPI 2.0`).
- 2. Transfer the `SMAPI <version>` folder to Linux or Mac.
- _This adds the installer executable and Windows files. We'll do the rest in Linux or Mac,
- since we need to set Unix file permissions that Windows won't save._
-
-2. In Linux or Mac:
- 1. Rebuild the solution in _Release_ mode.
- 2. Copy `bin/internal/Packaged/Mono` into the `SMAPI <version>` folder.
- 3. If you did everything right so far, you should have a folder like this:
-
- ```
- SMAPI-2.x/
- install.exe
- readme.txt
- internal/
- Mono/
- Mods/*
- Mono.Cecil.dll
- Newtonsoft.Json.dll
- StardewModdingAPI
- StardewModdingAPI.config.json
- StardewModdingAPI.Internal.dll
- StardewModdingAPI.metadata.json
- StardewModdingAPI.exe
- StardewModdingAPI.pdb
- StardewModdingAPI.xml
- steam_appid.txt
- System.Numerics.dll
- System.Runtime.Caching.dll
- System.ValueTuple.dll
- Windows/
- Mods/*
- Mono.Cecil.dll
- Newtonsoft.Json.dll
- StardewModdingAPI.config.json
- StardewModdingAPI.Internal.dll
- StardewModdingAPI.metadata.json
- StardewModdingAPI.exe
- StardewModdingAPI.pdb
- StardewModdingAPI.xml
- System.ValueTuple.dll
- steam_appid.txt
- ```
- 4. Open a terminal in the `SMAPI <version>` folder and run `chmod 755 internal/Mono/StardewModdingAPI`.
- 5. Copy & paste the `SMAPI <version>` folder as `SMAPI <version> for developers`.
- 6. In the `SMAPI <version>` folder...
- * edit `internal/Mono/StardewModdingAPI.config.json` and
- `internal/Windows/StardewModdingAPI.config.json` to disable developer mode;
- * delete `internal/Windows/StardewModdingAPI.xml`.
- 7. Compress the two folders into `SMAPI <version>.zip` and `SMAPI <version> for developers.zip`.
+ 1. Rebuild the solution in Release mode.
+ 2. Copy `windows-install.*` from `bin/SMAPI installer` and `bin/SMAPI installer for developers` to
+ Linux/Mac.
+
+3. In Linux/Mac:
+ 1. Rebuild the solution in Release mode.
+ 2. Add the `windows-install.*` files to the `bin/SMAPI installer` and
+ `bin/SMAPI installer for developers` folders.
+ 3. Rename the folders to `SMAPI <version> installer` and `SMAPI <version> installer for developers`.
+ 4. Zip the two folders.
## Customisation
### Configuration file