Concepts
Mods & modpacks

Mods & modpacks

TrueTick supports the full spread of Minecraft server software, plus per-server mod/plugin management and one-shot modpack installs.

Cores & loaders

The type field on a server selects its software:

CategoryCoresAdds via
Plugin serversPAPER, PURPUR, SPIGOT, BUKKIT, FOLIA, VANILLABukkit/Spigot plugins (plugins/)
Mod loadersFABRIC, FORGE, NEOFORGE, QUILTmods (mods/)

Plugin servers take .jar plugins; mod loaders take mods. Modded cores require at least 4 GB RAM. Change a server's core/version while it's stopped with updateVersion(id, { type, version }).

Adding mods & plugins

Attach a project from Modrinth or CurseForge (CurseForge requires an operator API key to be configured). The platform resolves and installs the right file, and keeps the install manifest tidy across restarts.

// Add Sodium from Modrinth (latest compatible version)
await client.mods.add("my-smp", { source: "modrinth", projectId: "sodium" });
 
// Pin a specific version
await client.mods.add("my-smp", {
  source: "modrinth",
  projectId: "sodium",
  versionSpec: "0.5.11",
});
 
// List, then remove
const mods = await client.mods.list("my-smp");
await client.mods.remove("my-smp", { source: "modrinth", projectId: "sodium" });
truetick mods add my-smp --source modrinth --project sodium --version 0.5.11
truetick mods list my-smp
truetick mods remove my-smp --source modrinth --project sodium

Adding/removing mods rewrites the desired mod set; the change is reconciled the next time the server starts (or restart to apply immediately). Your own manually-uploaded jars are preserved — only the managed manifest entries are reconciled.

Browsing for projects? The public catalog endpoints (/v1/catalog/projects, /v1/catalog/modpacks) let you search Modrinth/CurseForge by query, server type, and Minecraft version without a server. They're public lookups — see the API Reference.

Modpacks (autoinstall)

You can create a server directly from a modpack — the platform pre-installs the whole pack before the server is billable. Supply the modpack platform, reference, and version when creating:

curl -X POST https://api.truetick.gg/v1/servers \
  -H "x-api-key: $TRUETICK_API_KEY" \
  -H "content-type: application/json" \
  -d "{
    \"id\": \"atm10\", \"name\": \"atm10\",
    \"hostname\": \"atm10.truetick.gg\", \"container\": \"mc_atm10\", \"addr\": \"\",
    \"accountId\": \"$ACCOUNT_ID\",
    \"ramMb\": 8192, \"type\": \"NEOFORGE\",
    \"modpackPlatform\": \"modrinth\",
    \"modpackRef\": \"all-the-mods-10\",
    \"modpackVersion\": \"latest\"
  }"

During the pre-install the server is in the installing state. Install time isn't metered — you're not charged for the download/setup, only for runtime once it's up. If a pack fails to install, the server enters install_failed and exposes installError; you can fix inputs and retry the install (…:retry-install) without recreating the server.

⚠️

Large modpacks take longer to cold-start (modded servers get up to a 10-minute start window) and need more RAM. Size the server accordingly — 8192+ MB is sensible for a big pack.