Skip to content

Commit

Permalink
Improved: Publishing Documentation a bit to make it more Streamlined
Browse files Browse the repository at this point in the history
  • Loading branch information
Sewer56 committed Aug 15, 2022
1 parent 3192505 commit 52ae28f
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 62 deletions.
89 changes: 27 additions & 62 deletions docs/CreatingRelease.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ A `Release` consists of 2 files:
- Compressed version of your mod.
- JSON text file containing update information.

## Creating Releases

### From the Launcher
## Create a Release

In order to create a release for a mod, right click the mod and hit `Publish` in an individual application's main page.

Expand All @@ -18,45 +16,7 @@ In order to create a release for a mod, right click the mod and hit `Publish` in
Select the `Publish Target` from the dropdown.
(Use `Default` if your website/location is not present in the list.)

Click Publish, and upload the generated `.7z` files and `.json` file to the world.

### From the Commandline

!!! note

If you are making a code mod, it is recommended to use the Publish script from the [Mod Template](./ModTemplate.md).

The following instructions are provided for people wishing to make their own build scripts.

Reloaded comes with a set of tools that can be used to create releases outside of the launcher.

- `Reloaded.Publisher.exe` [Recommended]: Publishes a release for a mod. Identical features to GUI's `Publish Mod` menu.
- `NuGetConverter.exe` [Legacy]: Automatically creates a NuGet package given a mod folder or a mod zip.

You can get them from either of the 2 sources:

- Via [GitHub Releases](https://github.com/Reloaded-Project/Reloaded-II/releases) (`Tools.zip`).
- Via [Chocolatey](https://chocolatey.org/packages/reloaded-ii-tools).

## Delta Updates

Reloaded allows for the creation and usage of delta updates.

A delta update is an update that only requires the user to download the code and data that has changed instead of the whole mod.

- If version `1.0.1` adds `8MB` worth of files, the user will only need to download `8MB` to update from `1.0.0` (instead of e.g. `500MB`) for a big mod.
- If `1MB` out of a `100MB` file is changed, the user will only need to download `1MB`, not `100MB`.

To create a delta update, do the following:
- Download the previous version of your mod (including `.json` file!).
- Check `Automatic Delta` in `Delta Update` tab.
- `Set Output Folder` to the location of the previous update.

!!! note

If you have an unpacked version of your previous mod, i.e. as a raw folder; you can add that in the `Delta Update` tab instead.

## Adding Changelog, Readme & Other Details
### Add a Changelog & Readme

!!! info "About Markdown"

Expand All @@ -74,35 +34,40 @@ You can add changelogs and readme files during the publish step by clicking the

In the selection dialog, select the file (`.md`) containing the text to be included; e.g. `Readme.md` for the Readme and `Changelog.md` for the Changelog.

### Automatic Inference
### Add Delta Update

!!! info "About Delta Updates"

Reloaded allows for the creation and usage of delta updates.
This is a special kind of update that allows the user to only download the code and data that has changed since the last version of your mod.

!!! info
!!! example

Reloaded tries to make the experience consistent, even with old mods that don't have a `.json` file with extra info.
When possible, Reloaded will try to guess unknown details such as readme, changelog and mod title automatically if they are not available.

Here is an example:
If mod version `1.0.1` adds 8MB of files, the user will only download 8MB to update from last version (`1.0.0`), instead of the full mod.

![](./Images/DownloadPackages-IncompleteMetadata-1.png)
To create a delta update, do the following:
- Download the previous version of your mod (including `.json` file!) to an new folder.
- Check `Automatic Delta` in `Delta Update` tab.
- `Set Output Folder` to the location of the new folder.

The description was automatically copied from GameBanana's description on their site:
!!! note

![](./Images/DownloadPackages-IncompleteMetadata-3.png)
If you have an unpacked version of your previous mod, i.e. as a raw folder; you can add that in the `Delta Update` tab manually instead.

The mod name is a combination of the page name on GameBanana `HD Rings` and the description of the file `HD Rings`, hence `HD Rings: HD Rings`:
### Publish and Upload Your Mod

![](./Images/DownloadPackages-IncompleteMetadata-2.png)
When you are done, click `Publish` and upload all of the `.7z` and `.json` files in the folder.

## Uploading to NuGet
## Summary

When creating a release, please select the `NuGet` publish target. This should output a `.nupkg` file, which you will upload.
By the end of this guide, you should have successfully published your mod.

The easiest way to upload a package is to install the [.NET SDK](https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-5.0.101-windows-x64-installer) and use the `dotnet` commandline utility.
![](./Images/OneClickInstallGb.png)

Example:
```
# Upload package.nupkg to the official Reloaded server.
dotnet nuget push -s http://packages.sewer56.moe:5000/v3/index.json -k API-KEY package.nupkg
```
If uploading to GameBanana (pictured above), a `1-Click Install` button should show up after 2-5 minutes.

[Upload instructions for the official Reloaded package server](http://packages.sewer56.moe:5000/upload).
Additional (Optional) Resources:
- [Missing 1 Click Install Button on GameBanana](./CreatingReleaseExtras.md#missing-1-click-install-on-gamebanana)
- [Publishing Mods from Commandline](./CreatingReleaseExtras.md#publishing-mods-from-commandline)
- [Publishing Mods to NuGet](./CreatingReleaseExtras.md#uploading-to-nuget)
- [How Legacy Mods are Handled](./CreatingReleaseExtras.md#handling-legacy-mods)
55 changes: 55 additions & 0 deletions docs/CreatingReleaseExtras.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
## Publishing Mods from Commandline

!!! note

If you are making a code mod, it is recommended to use the Publish script from the [Mod Template](./ModTemplate.md).

The following instructions are provided for people wishing to make their own build scripts.

Reloaded comes with a set of tools that can be used to create releases outside of the launcher.

- `Reloaded.Publisher.exe` [Recommended]: Publishes a release for a mod. Identical features to GUI's `Publish Mod` menu.
- `NuGetConverter.exe` [Legacy]: Automatically creates a NuGet package given a mod folder or a mod zip.

You can get them from either of the 2 sources:

- Via [GitHub Releases](https://github.com/Reloaded-Project/Reloaded-II/releases) (`Tools.zip`).
- Via [Chocolatey](https://chocolatey.org/packages/reloaded-ii-tools).

## Uploading to NuGet

When creating a release, please select the `NuGet` publish target. This should output a `.nupkg` file, which you will upload.

The easiest way to upload a package is to install the [.NET SDK](https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-5.0.101-windows-x64-installer) and use the `dotnet` commandline utility.

Example:
```
# Upload package.nupkg to the official Reloaded server.
dotnet nuget push -s http://packages.sewer56.moe:5000/v3/index.json -k API-KEY package.nupkg
```

[Upload instructions for the official Reloaded package server](http://packages.sewer56.moe:5000/upload).

## Missing 1 Click Install on GameBanana

If a `One Click Install` button does not show up for your uploaded mod after 5 minutes; chances are that `1 Click Support` for Reloaded II is not enabled for this game.
Contact [Tom @ GameBanana](https://gamebanana.com/members/1382) to ask for the button to be enabled.

## Handling Legacy Mods

!!! info

Reloaded tries to make the experience consistent, even with old mods that don't have a `.json` file with extra info.
When possible, Reloaded will try to guess unknown details such as readme, changelog and mod title automatically if they are not available.

Here is an example:

![](./Images/DownloadPackages-IncompleteMetadata-1.png)

The description was automatically copied from GameBanana's description on their site:

![](./Images/DownloadPackages-IncompleteMetadata-3.png)

The mod name is a combination of the page name on GameBanana `HD Rings` and the description of the file `HD Rings`, hence `HD Rings: HD Rings`:

![](./Images/DownloadPackages-IncompleteMetadata-2.png)
Binary file added docs/Images/OneClickInstallGb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ nav:
- Releasing Mods:
- 1. Enabling Update Support: EnablingUpdateSupport.md
- 2. Creating a Release: CreatingRelease.md
- Extras (Optional): CreatingReleaseExtras.md
- For Programmers:
- Getting Started:
- 1. Setting Up Development Environment: DevelopmentEnvironmentSetup.md
Expand Down

0 comments on commit 52ae28f

Please sign in to comment.