{"id":13813174,"url":"https://github.com/SignatureBeef/Open-Terraria-API","last_synced_at":"2025-05-14T22:32:03.646Z","repository":{"id":43447347,"uuid":"41359457","full_name":"SignatureBeef/Open-Terraria-API","owner":"SignatureBeef","description":"Open Terraria API - Mac, Linux \u0026 Windows","archived":false,"fork":false,"pushed_at":"2025-04-09T13:32:24.000Z","size":217054,"stargazers_count":104,"open_issues_count":15,"forks_count":38,"subscribers_count":12,"default_branch":"upcoming","last_synced_at":"2025-04-24T15:19:11.022Z","etag":null,"topics":["api","cecil","framework","il","mod","modding","nuget","otapi","terraria","terraria-server"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SignatureBeef.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["SignatureBeef"]}},"created_at":"2015-08-25T11:23:02.000Z","updated_at":"2025-04-19T03:00:17.000Z","dependencies_parsed_at":"2024-05-11T03:30:31.814Z","dependency_job_id":"8babbc42-8517-4be8-985a-f9de8d0beb13","html_url":"https://github.com/SignatureBeef/Open-Terraria-API","commit_stats":null,"previous_names":["deathcradle/open-terraria-api"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SignatureBeef%2FOpen-Terraria-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SignatureBeef%2FOpen-Terraria-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SignatureBeef%2FOpen-Terraria-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SignatureBeef%2FOpen-Terraria-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SignatureBeef","download_url":"https://codeload.github.com/SignatureBeef/Open-Terraria-API/tar.gz/refs/heads/upcoming","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254232172,"owners_count":22036501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","cecil","framework","il","mod","modding","nuget","otapi","terraria","terraria-server"],"created_at":"2024-08-04T04:01:05.911Z","updated_at":"2025-05-14T22:31:58.562Z","avatar_url":"https://github.com/SignatureBeef.png","language":"C#","funding_links":["https://github.com/sponsors/SignatureBeef"],"categories":["C#"],"sub_categories":[],"readme":"# Open Terraria API [![GitHub Workflow](https://img.shields.io/github/workflow/status/SignatureBeef/Open-Terraria-API/CI?logo=GitHub)](https://github.com/SignatureBeef/Open-Terraria-API/actions) [![AppVeyor branch](https://img.shields.io/appveyor/build/DeathCradle/Open-Terraria-API/upcoming?label=build\u0026logo=appveyor)](https://ci.appveyor.com/project/DeathCradle/open-terraria-api) [![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/OTAPI.Upcoming)](https://nuget.org/packages/OTAPI.Upcoming) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Wiki](https://img.shields.io/static/v1?label=docs\u0026message=wiki\u0026color=blueviolet)](https://github.com/SignatureBeef/Open-Terraria-API/wiki/%5Bupcoming%5D-1.-About)\nThe 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.\n\nIt 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.\n\nThe [upcoming branch](https://github.com/SignatureBeef/Open-Terraria-API/tree/upcoming) is a ground up redesign and will take the place of the [master branch](https://github.com/SignatureBeef/Open-Terraria-API/tree/master) when fully complete over in [projects](https://github.com/SignatureBeef/Open-Terraria-API/projects).\n\nSignificant changes this redesign brings are...\n* Modular script system, allowing single file patches using [csharp](https://www.nuget.org/packages/ModFramework.Modules.CSharp/), [javascript](https://www.nuget.org/packages/ModFramework.Modules.ClearScript/) and [lua](https://www.nuget.org/packages/ModFramework.Modules.Lua/)\n* A strong set of libraries with methods and extensions for use in extending or contributing back\n* .NET6 projects for all without Terraria's dependency to net4.\n\nThe stack consists upon:\n* [OTAPI Scripts](https://github.com/SignatureBeef/Open-Terraria-API/tree/upcoming/OTAPI.Scripts), a directory containing all the scripts used to patch the pc, mobile \u0026 client assemblies.\n* [OTAPI Patcher](https://github.com/SignatureBeef/Open-Terraria-API/tree/upcoming/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.\n* [ModFramework](https://github.com/SignatureBeef/ModFramework.NET), a library that extends MonoMod and provides higher level patching methods and extensions, such as remapping fields to properties and arrays to collections\n* ModFramework Modules, additional plugins to add [c#](https://www.nuget.org/packages/ModFramework.Modules.CSharp/), [javascript](https://www.nuget.org/packages/ModFramework.Modules.ClearScript/) and [lua](https://www.nuget.org/packages/ModFramework.Modules.Lua/) scripts, for both patching and runtime.\n* [FNA](https://github.com/FNA-XNA/FNA/), for use on the client variants, for a consistent codebase on all platforms. Servers use the [Xna shims](https://github.com/SignatureBeef/Open-Terraria-API/tree/upcoming/OTAPI.Scripts/Shims/Xna) instead.\n* [MonoMod](https://github.com/MonoMod/MonoMod), for applying patches and generating runtime events/hooks.\n\n# Installation\nFor servers all you need to do is add a NuGet reference to OTAPI. See more in the [wiki topic about server usage](https://github.com/SignatureBeef/Open-Terraria-API/wiki/%5Bupcoming%5D-5.1-Using-OTAPI-Server).\n\nFor client installations, you can download the launcher from the [releases section](https://github.com/SignatureBeef/Open-Terraria-API/releases), and follow the [wiki topic](https://github.com/SignatureBeef/Open-Terraria-API/wiki/%5Bupcoming%5D-5.2-Using-OTAPI-Client---Installation).\n\n# Terraria support\nServer assemblies used in the patching process are freely available at [Terraria's website](http://terraria.org).\n\nIf 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](https://github.com/SignatureBeef/Open-Terraria-API/) does not host or contain the original source file so it will extract files from and patch your existing installation.\n\nAll 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.\n\n| Variant | Status | Version | |\n| ---- | ---- | ---- | ---- |\n| Windows Server for PC | Cross platform NuGet package produced. [![OTAPI.Upcoming](https://img.shields.io/nuget/vpre/OTAPI.Upcoming?label=OTAPI.Upcoming)](https://www.nuget.org/packages/OTAPI.Upcoming/) | 1.4.2.3 | \u0026#x2611; |\n| Linux Server for PC | not required or supported | | \u0026#x2611; |\n| MacOS Server for PC | not required or supported | | \u0026#x2611; |\n| Windows Server for Mobile | Cross platform NuGet package produced. [![OTAPI.Upcoming.Mobile](https://img.shields.io/nuget/vpre/OTAPI.Upcoming.Mobile?label=OTAPI.Upcoming.Mobile)](https://www.nuget.org/packages/OTAPI.Upcoming.Mobile) | 1.4.0.5 | \u0026#x2611; |\n| Linux Server for Mobile | not required or supported | | \u0026#x2611; |\n| MacOS Server for Mobile | not required or supported | | \u0026#x2611; |\n| Windows Client for PC | Full support to install a patched OTAPI into an existing Windows install (steam confirmed), Xna is replaced with FNA and x64 enabled. | 1.4.2.3 | \u0026#x2611; |\n| MacOS Client for PC | Full support to install a patched OTAPI into an existing MacOS install (Steam/Gog confirmed) | 1.4.2.3 | \u0026#x2611; |\n| Linux Client for PC | not yet supported but planned. should be similar to MacOS |  | \u0026#x2612; |\n| iOS Client | not supported or planned |  | \u0026#x2612; |\n| Android Client | not supported or planned |  | \u0026#x2612; |\n| tModLoader Server | work has conducted in testing support for TML on Terraria 1.3, but no clear outcome until 1.4 support is released. | 1.3.5.3 | \u0026#x2612; |\n\n# All packages\n\n[![OTAPI.Upcoming](https://img.shields.io/nuget/vpre/OTAPI.Upcoming?label=OTAPI.Upcoming)](https://www.nuget.org/packages/OTAPI.Upcoming/)\n[![OTAPI.Upcoming.Mobile](https://img.shields.io/nuget/vpre/OTAPI.Upcoming.Mobile?label=OTAPI.Upcoming.Mobile)](https://www.nuget.org/packages/OTAPI.Upcoming.Mobile)\n\u003cbr/\u003e\n[![ModFramework](https://img.shields.io/nuget/vpre/ModFramework?label=ModFramework)](https://www.nuget.org/packages/ModFramework)\n\u003cbr/\u003e\n[![ModFramework](https://img.shields.io/nuget/vpre/ModFramework.Modules.CSharp?label=ModFramework.Modules.CSharp)](https://www.nuget.org/packages/ModFramework.Modules.CSharp)\n[![ModFramework](https://img.shields.io/nuget/vpre/ModFramework.Modules.ClearScript?label=ModFramework.Modules.ClearScript)](https://www.nuget.org/packages/ModFramework.Modules.ClearScript)\n[![ModFramework](https://img.shields.io/nuget/vpre/ModFramework.Modules.Lua?label=ModFramework.Modules.Lua)](https://www.nuget.org/packages/ModFramework.Modules.Lua)\n \n---\n\nBitcoin donations are welcomed via address [3PRfyMh1brjCqzkw9az2aT7yNjbfkwFZqo](bitcoin:3PRfyMh1brjCqzkw9az2aT7yNjbfkwFZqo)\n\n![QR](./docs/btc_donations.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSignatureBeef%2FOpen-Terraria-API","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSignatureBeef%2FOpen-Terraria-API","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSignatureBeef%2FOpen-Terraria-API/lists"}