-
-
Notifications
You must be signed in to change notification settings - Fork 36
[upcoming] 1. About
Contents |
---|
1. About |
2. Supported Terraria Versions |
3. Installation |
4. Previews |
The Open Terraria API, known as OTAPI, is a low-level API for Terraria that rewrites and hooks into the official binaries for others to use.
It is primarily a server modification for the PC edition of Terraria, however v3 has seen additional support for the PC client assemblies, and the mobile windows server assembly too.
The upcoming branch is a ground up redesign and will take the place of the master branch when fully complete over in projects.
Significant changes this redesign brings are...
- Modular script system, allowing single file patches using csharp(net5), javascript(clearscript) and lua(nlua)
- A strong set of libraries with methods and extensions for use in extending or contributing back
- .NET5 projects for all without Terraria's dependency to net4.
The stack consists upon:
- OTAPI Scripts, a directory containing all the scripts used to patch the pc, mobile & client assemblies.
- OTAPI Patcher, a program to process all OTAPI Scripts and produce the final OTAPI assemblies for all variants and also supports creating the NuGet packages.
- ModFramework, a library that extends MonoMod and provides higher level patching methods and extensions, such as remapping fields to properties and arrays to collections
- ModFramework Modules, additional plugins to add c#, javascript and lua scripts, for both patching and runtime.
- FNA, for use on the client variants, for a consistent codebase on all platforms. Servers use the Xna shims instead.
- MonoMod, for applying patches and generating runtime events/hooks.
Server assemblies used in the patching process are freely available at Terraria's website.
If you intend to patch a client version, you must own an existing copy of Terraria and have it installed in the default path of your machine. The OTAPI Project does not host or contain the original source file so it will extract files from and patch your existing installation.
All OTAPI builds support C#/lua/js scripts via plugins, however you may need to install the additional ModFramework module plugins if you use this in another project.
For servers all you need to do is add a NuGet reference to OTAPI. See more in the wiki topic about server usage.
For client installations, you can download the launcher from the releases section, and follow the wiki topic.