Amethyst.Server
10.2.4
dotnet add package Amethyst.Server --version 10.2.4
NuGet\Install-Package Amethyst.Server -Version 10.2.4
<PackageReference Include="Amethyst.Server" Version="10.2.4" />
<PackageVersion Include="Amethyst.Server" Version="10.2.4" />
<PackageReference Include="Amethyst.Server" />
paket add Amethyst.Server --version 10.2.4
#r "nuget: Amethyst.Server, 10.2.4"
#addin nuget:?package=Amethyst.Server&version=10.2.4
#tool nuget:?package=Amethyst.Server&version=10.2.4
Amethyst is a modern, high-performance API for Terraria servers, offering complete control and customization over every aspect of your server. Built for developers who demand flexibility and power.
🛠️ Installation
Prerequisite: MongoDB must be installed on your machine. Download MongoDB.
Clone the repository:
git clone https://github.com/realms-developers/Amethyst.API.git
Launch the server:
- Windows:
start.bat [args]
- Linux:
./start.sh [args]
- Windows:
⚙️ Configuration
Run multiple server instances with isolated configurations using profiles.
- Isolated Data: Each profile stores configurations, plugins, and data in
/data/<profile>
, ensuring complete separation between server instances. - Simplified Updates: Update core components, plugins, or modules once, and all profiles inherit the changes—no need to update each server individually.
- Reduced Clutter: Avoid scattered files by keeping all profile data organized in dedicated directories.
Amethyst dynamically loads configurations based on the profile name. For example, a profile named MyAwesomeServer
uses the directory /data/MyAwesomeServer/
.
To create and run a profile, use the -profile
argument followed by your desired profile name:
- Windows:
start.bat -profile MyAwesomeServer
- Linux:
./start.sh -profile MyAwesomeServer
The server will automatically generate the /data/<profile>
directory and populate it with default configurations on first launch.
🧩 Extending Amethyst
Plugin vs Module
Plugins | Modules | |
---|---|---|
Loading | Dynamic (can be unloaded) | Static (startup only) |
Use Case | Temporary features | Core functionality |
Location | /extensions/plugins/ |
/extensions/modules/ |
Development Guide
Install the template package:
dotnet new install Amethyst.Templates
Create your extension:
- Plugin:
dotnet new aext-plugin -n MyPlugin
- Module:
dotnet new aext-module -n MyModule
- Plugin:
Build and deploy:
dotnet build -c Release
Copy the output to the appropriate extensions folder.
Enable in-game:
- Plugin:
plugins setallow MyPlugin.dll plugins reload
- Module:
modules setallow MyModule.dll
- Plugin:
You can also download standard modules and plugins from the Amethyst.Standard repository.
📜 Disclaimer
Terraria is a registered trademark of Re-Logic. This project is not affiliated with, sponsored by, or endorsed by Re-Logic. All Terraria assets remain property of their respective owners.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. 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. |
-
net9.0
- BCrypt.Net-Next (>= 4.0.3)
- Microsoft.Extensions.Configuration (>= 9.0.5)
- Microsoft.Extensions.Configuration.Ini (>= 9.0.5)
- MongoDB.Driver (>= 3.3.0)
- MonoMod.RuntimeDetour (>= 25.2.3)
- MonoMod.RuntimeDetour.HookGen (>= 22.7.31.1)
- MySql.Data (>= 9.3.0)
- Newtonsoft.Json (>= 13.0.3)
- System.CommandLine (>= 2.0.0-beta4.22272.1)
- System.Data.SQLite (>= 1.0.119)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.