Using addons - SocketSVC Docs
SocketSVC Docs

Using addons

Installing, switching and removing addons and mods from inside the game

The Addons tab of the voice settings (V, or /ssvc addons) lists what you have installed, what a server you are on uses, and what is available to install.

It manages two kinds of thing, and every row says which it is: an addon runs inside SocketSVC and stops the moment you switch it off, while a mod is loaded by the game itself and nothing you do to one takes effect until you restart.

A mod's row says what it will be, not what it is

Switch a mod on and its row reads Will be enabled when you restart — and keeps reading that if you leave the tab and come back. A banner counts how many changes are waiting. Cancelling them is free, because nothing has happened yet.

SocketSVC never restarts the game for you. It tells you what is needed; closing your world to apply a toggle is not its decision to make.

Installing

The tab lists what the addon index offers that you do not already have. Installing asks first, and says plainly which kind it is:

  • an addon can be switched on as soon as it downloads;
  • a mod runs with the same privileges as any other mod, SocketSVC cannot contain it, and it will not load until you restart.

Every download is checked against a SHA-256 checksum before anything runs. A file that does not match is deleted, not installed.

It all happens on the tab, while you watch. The row you pressed counts itself up — Downloading… 42%, then Checking…, then Installing… — and an addon is running by the time the row moves into the installed list. Nothing needs a restart and nothing needs the screen closed and reopened.

  • Press install on a second thing while the first is downloading and it says Waiting… until its turn. Pressing a row that is already downloading does nothing, rather than starting it twice.
  • An install that fails says so under its own row, with the reason, and the row offers Try again. It no longer takes the rest of the list down with it.
  • Check again re-reads the index without leaving the tab. It is a button rather than a timer: the index is somebody's server, and polling it because a screen happens to be open is not SocketSVC's call.

You can also just put an addon jar into config/socketsvc/addons/ yourself. It appears in the list — switched off, because a file turning up in a folder is not you asking for it to run — within a couple of seconds, while the tab is open. The folder is re-read on a timer for as long as you are looking at it, so a jar copied in from a file manager does not need the screen reopened either.

When a server requires one

A server can mark an addon as required. Connect without it and your client installs it from your own index, switches it on, and says so in chat — see Required addons. Install what a server requires, beside the index rows, turns that off; chat then tells you what the server wants and leaves the install to you.

Removing

Whenever you like, including while it is running and including while a server wants it.

An addon is switched off and its file deleted immediately. A mod's file is held open by the game — on Windows it cannot be deleted at all while you are playing — so it is queued and removed at the next start. Its saved data is kept either way.

Removing something a server uses is allowed and just means that feature stops working for you. The next time you join, you are offered it again.

Where addons come from

The addon index is set in the client config (config/socketsvc.json) as addonIndexEndpoint. It points at SocketSVC's own update service by default — the same place, and the same decision, as the updater: trusting the people who wrote the mod you already installed is not the same as trusting an arbitrary server.

Point it somewhere else to use a network's own index, or blank it to be offered nothing at all. Every install still asks first.

No index means no downloads, and the tab says so

With it blank there is nothing to download from, so Available to install is one sentence and a Use the SocketSVC index row rather than a list. Pressing that row sets the endpoint and reads the index, without leaving the game.

It used to be blank by default, and the section did not exist at all in that state — no heading, nothing between Installed and Folder. A config left over from a build of that era still has the blank value, which is why the way to turn it on is now a row on the screen and not a line in a file.

Addons are published to GitHub releases, not to Modrinth. The Modrinth project is the core mod — client, server and proxy — and a page carrying a dozen optional extras would make the thing you came to install harder to find.

Choosing a version

An installed addon's row has a Version line under it showing what you have. It opens a list of every build your index carries for the Minecraft version you are running — newer ones, older ones, and any prerelease, each marked · release or · dev.

Switching is one click and takes effect immediately, like the switch above it: the old jar is unloaded and deleted, the new one downloads with the same progress on the row, and the addon is running again by the time the list redraws. Worth knowing about when a new build breaks something, or when a server is happier with an older one.

Mods are listed but not switchable. The game holds a mod's jar open while you play, so changing which version is installed means removing it first and then installing the one you want.

An addon's own settings

An addon that has settings shows a Settings row under its switch, which opens a page of its own — the cinema's volume, quality and frame rate live there.

Those settings belong to the addon, not to SocketSVC: it is the addon that names them, holds them and saves them. The row appears only while the addon is running, and is gone the moment you switch it off. Mods never have one — a mod has its own config file, and usually its own screen.

Addon keys

An addon cannot register a keybind of its own: the game collects keybinds once at startup, and an addon you switch on from a settings screen has missed that by minutes.

So SocketSVC reserves eight of them — Addon key 1 to 8 in the ordinary controls screen, unbound by default. An addon borrows one while it is enabled and gives it back when you switch it off. Bind them like any other key.

Next

Servers and addons covers what happens when a server names one, and Writing one is the API.