06 · Shipping
Getting your mod out of your development folder and onto other people’s machines, and finding out why it
does not work when it does not work.
| Page |
Read it for |
| Packaging |
Mod folder layout, building a .vl2, .dso compilation, what to distribute |
| Hosting and testing |
LAN, listen, and dedicated servers; PURE mode; a fast test loop |
| Debugging |
The console, trace, dump, the telnet debugger, and the errors you will actually hit |
The short version
- A mod is a folder.
GameData/MyMod/ with scripts/ inside it. Zip it and that is your distribution.
- Server-side mods need no client download — datablocks are transmitted at mission start. New art
and new GUI do need one.
- Delete
.dso files before distributing, or ship only .dso files if you want to obscure your
source. Never ship a mix of stale ones.
-mod disables PURE, so every modded server is a non-PURE server. That is normal.
Before you release
| Check |
Why |
| Fresh install test |
Your dev folder has leftovers; a clean install does not |
.dso files cleaned |
Stale compiled scripts are the number one support question |
| Console clean on load |
Errors on startup mean something did not register |
| Dedicated server test |
Half of all mod bugs only appear without a canvas |
| Bots tested |
New content is invisible to bots unless you told the AI about it |
| A second client connects |
Datablock transmission, ghosting, and the patch’s authentication phase only show with a real remote client |
| README with the launch command |
Users will not guess -nologin -mod MyMod |
Your users are on a patched install, so ship and test for one.
| |
|
| Test loop |
Unchanged. -nologin -mod MyMod works the same. |
| The one new must-do test |
Connect a real remote client. local connections skip the patch’s authentication phase entirely, so a whole class of server-mod bug is invisible on one machine. See Hosting and testing. |
| Never ship patch files |
IFC22.dll, t2csri.vl2, console_client_patches.cs — not yours to redistribute, and versions move independently. |
| Never shadow patch paths |
t2csri/* and base/loginScreens.cs are claimed. Shadowing them breaks authentication. |
| Say what you tested against |
“TribesNEXT preview 20250922” in the readme saves everyone time. |
| New failure modes |
Listed in Debugging. |