Introduce integrated package manager
This commit introduces an integrated package manager into TShock for the purpose of fetching and installing plugins and their dependencies from NuGet repositories. This makes getting new plugins easier for users, as well as simplifiying more advanced deployment scenarios.
This commit is contained in:
parent
4e59087e7c
commit
be8e51959f
13 changed files with 849 additions and 8 deletions
32
docs/packages.md
Normal file
32
docs/packages.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
TShock supports downloading and installing plugins from NuGet repositories.
|
||||
This allows it to automatically download the plugin as well as all of the extra things that the plugin needs.
|
||||
For developers, this makes distributing plugins easier.
|
||||
|
||||
This functionality is accessible via the TShock.Server executable used to run the server normally.
|
||||
|
||||
Under Linux:
|
||||
```
|
||||
./TShock.Server plugins
|
||||
```
|
||||
|
||||
Under Windows (cmd.exe):
|
||||
```
|
||||
TShock.Server plugins
|
||||
```
|
||||
|
||||
The documentation for the commands is included in the help functionality.
|
||||
A copy of the help output in English can be found in [packages-help.txt](packages-help.txt).
|
||||
This file primarily exists to document the `packages.json`.
|
||||
|
||||
The file format is currently simple, including only a single object, containing a key `packages` that has a map of package IDs to their versions.
|
||||
|
||||
An example `packages.json` is shown below:
|
||||
```
|
||||
{
|
||||
"packages": {
|
||||
"Commandy.20.10.22.Test": "0.0.1"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The name of the plugin is specified as the key, with the version as the value.
|
||||
Loading…
Add table
Add a link
Reference in a new issue