RocketModFix.Unturned.Redist.Server
3.26.3.4-preview24080174
Prefix Reserved
See the version list below for details.
dotnet add package RocketModFix.Unturned.Redist.Server --version 3.26.3.4-preview24080174
NuGet\Install-Package RocketModFix.Unturned.Redist.Server -Version 3.26.3.4-preview24080174
<PackageReference Include="RocketModFix.Unturned.Redist.Server" Version="3.26.3.4-preview24080174" />
<PackageVersion Include="RocketModFix.Unturned.Redist.Server" Version="3.26.3.4-preview24080174" />
<PackageReference Include="RocketModFix.Unturned.Redist.Server" />
paket add RocketModFix.Unturned.Redist.Server --version 3.26.3.4-preview24080174
#r "nuget: RocketModFix.Unturned.Redist.Server, 3.26.3.4-preview24080174"
#:package RocketModFix.Unturned.Redist.Server@3.26.3.4-preview24080174
#addin nuget:?package=RocketModFix.Unturned.Redist.Server&version=3.26.3.4-preview24080174&prerelease
#tool nuget:?package=RocketModFix.Unturned.Redist.Server&version=3.26.3.4-preview24080174&prerelease
RocketModFix.Unturned.Redist
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. They're plain Unturned assemblies, useful in any Unturned project — RocketMod or OpenMod plugins, standalone tools, client mods, datamining — not just RocketMod (the RocketModFix prefix is only the maintainer).
Redistributed with permission. Nelson Sexton (Smartly Dressed Games) gave explicit written approval to distribute Unturned's libraries — see issue #8.
Install
dotnet add package RocketModFix.Unturned.Redist.Server
or in your .csproj:
<PackageReference Include="RocketModFix.Unturned.Redist.Server" Version="x.y.z" />
Which package do I want?
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.
| Package | For |
|---|---|
| Client-side tools and mods | |
| Server-side plugins and tools | |
| Client mods that need non-public members | |
| Server plugins that need non-public members |
Using a .Publicized package
Add AllowUnsafeBlocks to your plugin's .csproj:
<PropertyGroup>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
The publicized DLL is a compile-time reference only. At runtime your plugin loads inside Unturned, which has its own original Assembly-CSharp.dll where those members are still private. Unturned runs on Mono, and AllowUnsafeBlocks is what lets the Mono runtime skip the access check for them. Without it you'll hit runtime errors like:
Field `SDG.Unturned.Provider:isDedicatedUGCInstalled' is inaccessible from method ...
virtual/abstract members are intentionally not publicized — they keep their original accessibility, so you can still override them normally (e.g. protected override void execute(...) on a Command). Publicizing them would force the override to be public, which the compiler rejects with "cannot change access rights".
Stable vs. preview builds
Client and Server carry two streams under the same package id:
- Stable — Unturned's default branch, versioned
x.y.z.n. - Preview — Unturned's
previewbranch, published as a prereleasex.y.z.n-preview<build>. Enable "include prerelease" in your NuGet client to pull it.
The standalone …Client-Preview and …Server-Preview packages are legacy. They still update for projects that already reference them, but new code should use the prerelease stream above.
Example plugin
RocketModFix.Unturned.Redist.Example is a small, runnable RocketMod plugin showing how to consume these packages in practice — including a side-by-side comparison of reading a non-public member via reflection (the plain redist) vs. a .Publicized package (a plain, compile-checked field access), plus how to drop the built DLL on a server and confirm it loads.
How it works
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.
📖 ARCHITECTURE.md has the full picture: the workflows, the variant matrix in .github/variants.json, how the 4 Steam sources map to 10 directories and 6 packages, and how to add a variant.
Credits
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net40 is compatible. net403 was computed. net45 was computed. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.26.4.100-preview23479291 | 104 | 5/29/2026 |
| 3.26.3.107-preview22981256 | 113 | 4/27/2026 |
| 3.26.3.4 | 0 | 7/7/2026 |
| 3.26.3.4-preview24080174 | 42 | 7/6/2026 |
| 3.26.3.3 | 225 | 6/13/2026 |
| 3.26.3.3-preview23686195 | 92 | 6/13/2026 |
| 3.26.3.2 | 243 | 5/7/2026 |
| 3.26.3.2-preview23133825 | 103 | 5/7/2026 |
| 3.26.3.1 | 125 | 5/5/2026 |
| 3.26.3.1-preview23083455 | 98 | 5/4/2026 |
| 3.26.3.1-preview23081394 | 93 | 5/4/2026 |
| 3.26.3.1-preview23050362 | 101 | 5/1/2026 |
| 3.26.3 | 115 | 4/30/2026 |
| 3.26.3-preview23032657 | 92 | 4/30/2026 |
| 3.26.3-preview23022530 | 102 | 4/30/2026 |
| 3.26.2.3 | 142 | 4/23/2026 |
| 3.26.2.3-preview22896486 | 95 | 4/22/2026 |
| 3.26.2.2 | 175 | 4/7/2026 |
| 3.26.2.2-preview22681797 | 121 | 4/7/2026 |
| 3.26.2.1-preview22625272 | 109 | 4/2/2026 |