|
1 | 1 | # RocketModFix.Unturned.Redist |
2 | 2 |
|
3 | | -## Why Use This? |
| 3 | +Unturned's managed assemblies (`Assembly-CSharp.dll`, `com.rlabrecque.steamworks.net.dll`, `UnturnedDat.dll`, the SDG/Unity dependencies, and the API XML docs), packaged for NuGet and refreshed automatically each time Unturned ships a new build. Reference a package instead of hand-copying DLLs out of the game's `Managed` folder after every patch. |
4 | 4 |
|
5 | | -Do you find it annoying to manually copy libraries from the Managed directory every time Unturned updates? With this NuGet package, you get all the necessary Unturned libraries, and they update automatically. You don't need to wait for manual updates — this package acts like a redistributable that stays current. |
| 5 | +> **Redistributed with permission.** Nelson Sexton (Smartly Dressed Games) gave explicit written approval to distribute Unturned's libraries — see [issue #8](https://github.com/RocketModFix/RocketModFix.Unturned.Redist/issues/8). |
6 | 6 |
|
7 | | -> ✅ Officially Approved - This project has explicit written permission from SDG (Smartly Dressed Games) to distribute Unturned libraries. See the [official approval from Nelson Sexton (SDG)](https://github.com/RocketModFix/RocketModFix.Unturned.Redist/issues/8) for legal clarity and peace of mind. |
| 7 | +## Install |
8 | 8 |
|
9 | | -You get: |
10 | | - |
11 | | -- **Assembly-CSharp.dll** |
12 | | -- **com.rlabrecque.steamworks.net.dll** |
13 | | -- **UnturnedDat.dll** |
14 | | -- And many more, including XML docs for the Unturned API and related dependencies. |
15 | | - |
16 | | ---- |
17 | | - |
18 | | -## Available Packages and What They Mean |
19 | | - |
20 | | -| Package Name | Description | |
21 | | -|-----------------------------------------------|------------------------------------------------| |
22 | | -| **RocketModFix.Unturned.Redist.Client** | Libraries for Unturned client-side tools. | |
23 | | -| **RocketModFix.Unturned.Redist.Server** | Libraries for Unturned server-side tools. | |
24 | | -| **RocketModFix.Unturned.Redist.Client.Publicized** | Publicized client-side libraries with public method/property (members) visibility for modding or advanced reflection. | |
25 | | -| **RocketModFix.Unturned.Redist.Server.Publicized** | Publicized server-side libraries with public method/property (members) visibility. Useful for plugins needing deeper access. | |
26 | | -| **RocketModFix.Unturned.Redist.Client-Preview** | Early access (preview) versions of client-side libraries. | |
27 | | -| **RocketModFix.Unturned.Redist.Server-Preview** | Early access (preview) versions of server-side libraries. | |
28 | | - |
29 | | -> **Note:** The main `Client` and `Server` packages now include preview (prerelease) versions inside them for simplicity. The `*-Preview` packages remain available for backward compatibility. |
30 | | -
|
31 | | ---- |
32 | | - |
33 | | -## How to Install |
| 9 | +```bash |
| 10 | +dotnet add package RocketModFix.Unturned.Redist.Server |
| 11 | +``` |
34 | 12 |
|
35 | | -Simply pick the package that matches your needs and add it via NuGet. For example, in your `.csproj` or `packages.config`: |
| 13 | +or in your `.csproj`: |
36 | 14 |
|
37 | 15 | ```xml |
38 | 16 | <PackageReference Include="RocketModFix.Unturned.Redist.Server" Version="x.y.z" /> |
39 | 17 | ``` |
40 | 18 |
|
41 | | -Or use the NuGet CLI: |
42 | | - |
43 | | -```bash |
44 | | -dotnet add package RocketModFix.Unturned.Redist.Server |
45 | | -``` |
| 19 | +## Which package do I want? |
46 | 20 |
|
47 | | ---- |
| 21 | +Choose by **side** (client or server). Use a **`.Publicized`** variant when your plugin needs to touch private/internal members — their visibility is rewritten to public. |
48 | 22 |
|
49 | | -## Installation Links |
| 23 | +| Package | For | |
| 24 | +| --- | --- | |
| 25 | +| [](https://www.nuget.org/packages/RocketModFix.Unturned.Redist.Client) | Client-side tools and mods | |
| 26 | +| [](https://www.nuget.org/packages/RocketModFix.Unturned.Redist.Server) | Server-side plugins and tools | |
| 27 | +| [](https://www.nuget.org/packages/RocketModFix.Unturned.Redist.Client.Publicized) | Client mods that need non-public members | |
| 28 | +| [](https://www.nuget.org/packages/RocketModFix.Unturned.Redist.Server.Publicized) | Server plugins that need non-public members | |
50 | 29 |
|
51 | | -[](https://www.nuget.org/packages/RocketModFix.Unturned.Redist.Client) |
52 | | -[](https://www.nuget.org/packages/RocketModFix.Unturned.Redist.Server) |
53 | | -[](https://www.nuget.org/packages/RocketModFix.Unturned.Redist.Client-Preview) |
54 | | -[](https://www.nuget.org/packages/RocketModFix.Unturned.Redist.Server-Preview) |
55 | | -[](https://www.nuget.org/packages/RocketModFix.Unturned.Redist.Client.Publicized) |
56 | | -[](https://www.nuget.org/packages/RocketModFix.Unturned.Redist.Server.Publicized) |
| 30 | +### Stable vs. preview builds |
57 | 31 |
|
58 | | ---- |
| 32 | +`Client` and `Server` carry two streams under the **same package id**: |
59 | 33 |
|
60 | | -## Architecture |
| 34 | +- **Stable** — Unturned's default branch, versioned `x.y.z.n`. |
| 35 | +- **Preview** — Unturned's `preview` branch, published as a prerelease `x.y.z.n-preview<build>`. Enable "include prerelease" in your NuGet client to pull it. |
61 | 36 |
|
62 | | -All updates and automation are handled entirely through GitHub Actions. |
63 | | -We don't run any of this on external servers — everything happens directly on GitHub. |
| 37 | +The standalone [`…Client-Preview`](https://www.nuget.org/packages/RocketModFix.Unturned.Redist.Client-Preview) and [`…Server-Preview`](https://www.nuget.org/packages/RocketModFix.Unturned.Redist.Server-Preview) packages are **legacy**. They still update for projects that already reference them, but new code should use the prerelease stream above. |
64 | 38 |
|
65 | | -📖 **See [ARCHITECTURE.md](ARCHITECTURE.md)** for the full picture: the workflows, the variant matrix (`.github/variants.json`), how the 10 redist directories map to 6 NuGet packages, and how to add a variant. |
| 39 | +## How it works |
66 | 40 |
|
67 | | - |
| 41 | +Everything runs on GitHub Actions, with no external servers. A scheduled job watches Steam for new Unturned builds; when one lands it downloads the build, repackages the managed DLLs, and opens a pull request. The PR is validated (files present, hashes match, version not a downgrade) and auto-merged, which publishes the affected package to NuGet. |
68 | 42 |
|
69 | | -> Diagram source: [`architecture.svg`](architecture.svg) (crisp, version-controlled). `ARCHITECTURE.md` has the details and a Mermaid version. |
| 43 | +📖 **[ARCHITECTURE.md](ARCHITECTURE.md)** has the full picture: the workflows, the variant matrix in [`.github/variants.json`](.github/variants.json), how the 4 Steam sources map to 10 directories and 6 packages, and how to add a variant. |
70 | 44 |
|
71 | | ---- |
| 45 | + |
72 | 46 |
|
73 | 47 | ## Credits |
74 | 48 |
|
75 | | -Special thanks to these projects that helped us build this auto-updating tool: |
76 | | - |
77 | | -- [Unturned-Datamining](https://github.com/Unturned-Datamining) |
78 | | -- [setup-steamcmd](https://github.com/CyberAndrii/setup-steamcmd) |
| 49 | +- [Unturned-Datamining](https://github.com/Unturned-Datamining) |
| 50 | +- [setup-steamcmd](https://github.com/CyberAndrii/setup-steamcmd) |
0 commit comments