Skip to content

Manage the Licence

A licence says how much of the matrix a server may use at once, counted in ports. It belongs to a Console organization and is issued for one of that organization’s servers. It is one line of text, signed, and the server checks it itself — so it keeps working when nothing else can be reached.

Everything below is on the Licence page of the management UI (/management/license) unless it says otherwise.

The server’s side of licensing is complete: counting ports, refusing at the door, warnings, trial limits and offline licences. The Console’s side — signing up, paying, buying temporary ports and moving a licence to another server — is built too, on the Console’s own Billing page (/o/<organization>/billing) and its Instances pages, not on the server’s own management UI. Where a step below happens in the Console rather than here, it says so.

A production Console still needs its own signing key generated and configured before any licence it issues will verify — ask whoever operates it whether that has happened yet. Until it has, the only licences that exist are development licences, which show the organization livematrix (development) and are refused outright by every server we ship.

A source puts audio into the matrix; a destination takes it out. A port is either. The licence is one pooled number of ports, not separate limits for each direction, so a bridge that sends twenty outputs and takes two inputs simply uses twenty-two.

What Ports
A user with the app open, on any number of devices, with or without bridges patched to it 2 — one source, one destination
A user reached only by bridges 1 per direction its bridges use: 1 for input-only or output-only, 2 for both
A user nobody is connected to 0
A bridge line input targeting a party line or feed, remote or built-in 1 source
A bridge line output targeting a party line or feed, remote or built-in 1 destination
Party lines, feeds, groups, profiles and keys 0

Only what is in use right now counts. A hundred configured users cost nothing until they sign in; an idle standby server with nobody connected uses no ports at all.

A bridge line targeting a user counts as one more device of that user, so a person on the app who is also connected through a bridge still costs 2. A bridge line targeting a party line or feed costs one port for each live direction, so a four-wire uses two. A remote bridge’s line costs nothing until it connects.

The built-in bridge (Server (built-in)) is charged exactly like a remote one: every enabled line with a target counts from the moment it is saved, and adding a leg costs only the port it adds. Disabling a line, deleting it, deleting its target or switching the built-in bridge off releases its ports.

The Ports tile on the Dashboard shows ports in use against ports licensed, split into sources and destinations. What is using it lists every user and bridge channel holding ports, including devices that have dropped and are being held for their return.

A server with no licence, or with a trial licence, runs at trial limits:

  • 10 ports at once — five users, or any mix of bridge channels totalling ten;
  • sessions end after 30 minutes. The app shows “Your trial session has ended. Sign in again to continue.” and does not reconnect by itself; somebody has to sign in again. A bridge’s lines are ended at 30 minutes too, and are not offered again until the bridge reconnects.

That is on purpose: 30 minutes is long enough to route a matrix, talk on it and judge the latency, and too short to run a show on.

A fresh install is at trial limits from its first boot. A server that had a licence and loses it gets a day first — see the downgrade ladder.

A server enrolled with a Console gets its licence from the Console and renews it by itself each time it checks in. There is nothing to upload and nothing to remember. Enrolment is described in Connect to a Console; the Licence page links there under Enrollment and hardware.

Refresh asks the Console for the current licence now instead of at the next check-in — after a purchase or a change in the Console, for instance.

A server that holds a Console-issued licence but is not enrolled shows Not linked on this page: it cannot renew by itself or report its usage. Connect it on the Console page.

Signing up happens once, per organization, on the Console’s Billing page — not on any server’s management UI. An owner or admin picks a country and, for most EU countries, provides a VAT ID; a Swiss address needs no VAT ID at all. This is checked before anything is created:

  • a valid EU VAT ID is routed to Stripe for a subscription, charged in euros;
  • a Swiss address is routed to Stripe as well, with no VAT check;
  • anything else — an EU country with no VAT ID, an invalid or expired one, or a country outside both — is refused with a message pointing at manual handling. This is deliberate, not a bug: livematrix cannot yet sell compliantly everywhere, and refusing a sale is safer than taking one it should not.
  • if the VAT lookup service itself is unreachable, signup is refused rather than let through — an outage never becomes a quiet way around the check.

Once the gate passes, Sign up opens a hosted Stripe checkout for the number of ports you want, monthly or annual. An organization has one subscription: to get more ports later, change the quantity in Stripe’s portal rather than signing up again — a second signup is refused. The Billing page shows the plan, how many of its ports are allocated, when the current period ends, and what the next invoice will total — split into the base subscription, any boosts bought ahead, and metered overage — plus a link into Stripe’s own portal to update the payment method, see past invoices, or change the number of ports.

The subscription’s ports are split across the organization’s servers, and each server’s licence carries its own share. The shares never add up to more than you pay for. The Billing page’s Allocation table lists every server with its share, its boost ports, and whether it has picked up its latest licence.

  • Pay first, install after: the first server you enroll gets every unallocated port at enrollment, so it never runs at trial limits. A second server gets nothing until you give it some.
  • Install first, pay after: with one server, it gets all the ports as soon as the payment lands. With several, the ports wait as Unallocated until you split them.
  • More ports bought in the Stripe portal arrive unallocated — or on the only server, if there is just one.
  • A server enrolled again on new hardware keeps its share; it never gets more by being enrolled again.

To change the split, an owner or admin presses Change allocation, edits the numbers — the total against the subscription updates as you type — and saves once. Every server picks up its new licence at its next check-in.

Ports taken from a server are not handed to another until that server has checked in and confirmed the smaller licence: until then it might still be running on the old one. The table says so — “4 ports waiting for Truck A to check in”. For a server that is gone for good and will never check in, Release frees those ports at once. It asks you to confirm, because a server that is still running somewhere can keep using its old licence until that runs out.

Setting a server to 0 withdraws its licence. Its next check-in tells it, the downgrade ladder starts there, and the server stops checking in with the Console: enroll it again before giving it ports.

If the subscription is shrunk below what is allocated, the Billing page warns that it is over-allocated. Nothing is taken away silently; lower some shares before the renewal date, or the most recently added allocations are trimmed then.

A standby server needs ports of its own to take over. To fail over, move the ports across on the Billing page.

Temporary ports adds ports from a start to an end date — a boost for a show week. Boosted ports apply at once, end on their own, and are billed with the next invoice as a separate line, next to the base subscription; nothing is charged at the time of purchase.

A boost belongs to the organization, and its ports are split across servers like the subscription’s. A server that buys a boost by itself gets all of it, in the licence that comes back with the purchase. On the Billing page, Reassign splits a boost across servers — with the same wait for a server to confirm before its ports go elsewhere — and Buy a boost buys one for a named server, or unallocated to split later. At its end date a boost disappears from every server by itself, online or not.

An enrolled server can buy a boost by itself, up to two caps: 50 outstanding boost ports across the whole organization, summed over every boost that has not yet ended, and 31 days per purchase. A purchase that would push either cap over its limit is refused outright — not partially filled — until an earlier boost lapses. Anything larger than that needs a person: buying from the Console’s Billing page, or signing in with purchase rights on the organization, lifts both caps, so an operator can buy 80 ports for an annual tour date that a server credential alone could not.

Occasionally livematrix support issues a subscription directly — a trial extension, a goodwill gesture, or a contract invoiced outside Stripe entirely. It is split across servers exactly like a paid one, has a number of ports and a hard expiry date (never “forever”), and appears on the Billing page marked as issued by livematrix support along with the reason given. It does not renew itself, so treat its expiry date like a prepaid licence’s. Signing up for a paid subscription replaces it, keeping the split you had. Extra ports support grants on top of a paid subscription arrive as a boost with no charge.

Remove licence takes the licence off this server. It asks you to type the instance name, and says before you confirm exactly what will happen: new logins are capped at trial limits straight away, and everything connected keeps running for 24 hours before trial limits apply in full. Installing a licence or refreshing from the Console within that day undoes it.

Removing the licence does not disconnect the server from its Console. That is Move to new hardware, on the Console page.

Admission is capped at once; established sessions get a day. A sign-in or bridge channel that would take the server past its licence is refused at the door. Nobody already connected is touched.

A refused user sees “All 48 licensed ports on this server are in use. You will be connected as soon as one frees up.” — with the real number — and the app keeps trying on its own. At a shift change the incoming operator connects by themselves as the outgoing one signs out. A refused bridge line is refused on its own; the bridge’s other lines carry on. Its row reads Refused with the reason and offers Retry. Nothing retries it on a timer: press Retry once ports are free. It is also offered again with the next change to that bridge’s lines — adding, removing or retargeting a line, or changing its legs — and when a standalone bridge reconnects. A line whose user, party line or feed was deleted waits until you retarget it.

A device that drops without signing out — Wi-Fi lost, a switch rebooted, a radio link gone — keeps its ports reserved for 5 minutes. Nobody else can take them, so it always gets back in. Signing out releases the ports at once, so the next shift does not wait on a timer. Anything else — closing the app, a reload, the app reconnecting on its own — is treated as a drop and held, because the device is usually coming back. The same holds for a bridge’s channels.

Every way a server can lose entitlement runs the same three steps: a smaller licence, a boost ending, a licence expiring past its grace period, a licence revoked, Move to new hardware, and Remove licence.

  1. At the door, immediately. The new limit applies to sign-ins and bridge channels at once.
  2. Warn, immediately. The Dashboard, the banner on every management page, and — whenever the new limit would end somebody’s session — every connected app, with the time it takes effect.
  3. Bind, after 24 hours. The new limit applies in full. If more ports are in use than it allows, positions are ended newest first, bridges and people in one list, until the server is within its licence. Ending a user also ends the bridge connections patched to it. Each ended user sees “This server’s licence no longer covers this position. Ask your administrator to check the licence.”, and the app does not reconnect by itself. When the new limit is trial limits, the 30-minute session cap starts here too.

Usually nothing is ended at step 3: a day is normally enough for people to sign out on their own.

Undo it inside the day and nothing happens. Install or refresh a licence, or extend the boost, and the countdown is discarded.

The first licence installed on a server that was at trial limits applies immediately, with no day — even one smaller than ten ports. Nobody running at trial limits is ended to make room; if the new licence is smaller, the server stops admitting until enough people leave.

This is the whole guarantee, stated precisely:

  • Nothing licence-related interrupts a session in progress for at least 24 hours, and every connected app is told when that day ends before it ends.
  • Hardware can be swapped mid-event. A licence belongs to the instance, not the machine; a mismatched machine warns and takes nothing away.
  • A Console that cannot be reached changes nothing about what the server is licensed for.
  • Exactly two things end a session: the bind at the end of the 24-hour downgrade ladder, and the 30-minute trial cap. Both end with a message that says so, not with a network error.

A licence is a signed document with a date in it, so a server that cannot reach its Console keeps working until that date — and its grace period — run out. Failed check-ins never reduce anything. The promise is at least 30 days, and usually two months or more. With the default 30-day grace period:

When it went offline Auto-renewing Prepaid or offline
Monthly, just after a renewal about 67 days about 60 days
Monthly, just before expiry 37 days 30 days
Annual, just after renewal about 402 days about 395 days

An auto-renewing licence gets 7 extra days past its end date while the renewal arrives. A server on tour should have an annual licence, not a longer grace period.

Staying licensed is not the same as going unnoticed. A server enrolled with a Console that has not checked in for 2 hours shows a red banner in the management UI; after 48 hours every connected app shows one too. It never blocks anything. A server on an offline licence never phones home and gets neither banner.

The Licence page shows the licence’s state: Active (or Trial), Renewing — an auto-renewing licence up to 7 days past its end date while the renewal comes in, which is normal — Expired — in grace period, Expired, No licence, or Surrendered.

Red warnings mean something is being refused or will be. Amber ones are what you can still get ahead of.

Warning What it means What to do
The licence ends in … (amber) A licence that does not renew by itself ends within 7 days, or an auto-renewing one has not managed to. Never shown for a healthy auto-renewing licence. Renew it, or upload its replacement.
Renewal is not getting through (amber) The last renewal attempt failed. The licence keeps working until its end date plus the renewal window. Check the server’s route to the Console.
Over the licence (red) More ports are in use than the licence allows — after a shrink or a boost ending. New sign-ins are refused. Wait for people to leave, or add ports. The countdown says when the limit binds.
More configured than licensed (amber) Every user × 2, plus the ports that bridge lines use or their bridges report, exceeds the licence. Nothing is refused, but if everyone signed in at once somebody would be turned away. Add ports before the show, or dismiss it if that is simply the shape of your roster. It returns if the ratio gets 10% worse or the licence shrinks.
A boost ends … (amber) A temporary boost ends within 48 hours and its ports are in use. Extend it before then, or new sign-ins will be refused.
The licence has expired (red) It is in its grace period. Everything still works. Renew before the grace period ends.
This server no longer has a licence (red) It lost its licence and is dropping to trial limits. Upload or refresh a licence within the day to undo it.
No licence — running at trial limits A server that has never had a licence. Link it to a Console or upload a licence.
Not linked (Licence page only) A Console-issued licence on a server that is not enrolled. Connect it on the Console page.
This licence belongs to a different machine (red) An offline licence running on other hardware. It warns and takes nothing away. Get the licence reissued for this machine’s fingerprint.
This server gave up its console identity (red) Move to new hardware was pressed, or the Console revoked this server. Its licence went with it and the downgrade ladder is running. Finish the move, or enrol this server again.
No contact with the console since … (red) An enrolled server has not checked in for 2 hours. The licence is unaffected. Check its network route to the Console.
This server’s clock has gone backwards (red) The clock is behind a time this server has already seen. Expiry is judged against that later time, not the clock. Fix the server’s time source.

The apps show only what an operator needs: Licence ending or Licence reduced with the time sessions may end, and Licence not checked after 48 hours without contact. See Messages and Warnings.

The licence follows the instance, not the hardware. A replacement keeps the instance’s name, history and licence. The enrolment side of each case is in Connect to a Console; this is what each costs the licence.

Hand Over While the Old Machine Still Runs

Section titled “Hand Over While the Old Machine Still Runs”
  1. Have the new server ready to enrol before you start.
  2. On the old server’s Console page, press Move to new hardware. This starts the downgrade ladder on the old server: sign-ins are capped at ten ports at once, every connected app is told, and 24 hours later trial limits apply in full — ten ports and 30-minute sessions. Everyone connected keeps working through that day.
  3. Enrol the new server and choose Replace the hardware behind <name>. It receives the licence from the Console. (Until the Console issues licences, upload one instead.)
  4. Move operators and bridges across within the day.
  1. In the Console, open the instance and press Move to new hardware.
  2. Enrol the replacement and choose Replace the hardware behind <name>. It receives the licence from the Console. (Until the Console issues licences, upload one instead.)

If the dead machine ever comes back on its network, the Console tells it its identity was revoked, and it runs the downgrade ladder like any other.

  1. Move the disk or restore the data onto the new machine and start it. It works straight away: the licence warns that it belongs to a different machine and takes nothing away, so a show can carry on.
  2. Read the new machine’s fingerprint from This machine on the Licence page.
  3. Have the Console reissue the licence for the same instance, bound to that fingerprint, and upload it. The warning clears.

The Console cannot issue offline licences yet, so step 3 waits for it.