Troubleshooting
The plugin won't start, the link is down, no sound, a sign is refused, a train is stuck — what it means and what to do.
Updated 28 October 2026
Start with two things. They answer most questions:
- In the game:
/utp status— is the link to UTP Connect up, is the license active? - In your Minecraft server's console: every problem is written there, in plain words, on lines starting with
[UltimateThemePark].
The plugin disables itself at start-up#
[config] cannot start, configuration is incomplete, followed by a list. Each line says what's wrong in plugins/UltimateThemePark/config.yml:
| The console says | What to do |
|---|---|
license-key is missing | Paste your key from your account |
license-key is malformed | Check it's written like UTP-XXXXX-XXXXX-XXXXX-XXXXX, between quotation marks |
connect.url is missing / is not a valid address | Write your UTP Connect address, starting with https:// |
connect.secret is missing | Paste the link secret — see Install UTP Connect |
Save the file and restart the server.
[license] plugin disabled — … — the license was refused. See Your license.
The plugin doesn't load at all, and Paper talks about a missing dependency: TrainCarts, BKCommonLib or WorldGuard is missing, or doesn't match your Minecraft version. See Install the plugin.
Unsupported API version 1.20, or [server] minecraft 1.20.4 or later is needed, the plugin stops — your server runs a Minecraft version older than 1.20.4, which the plugin needs. Update the server to 1.20.4 or newer, then WorldGuard and WorldEdit to their versions for it.
The plugin does not connect#
/utp status says Link: down, and the administration says Minecraft server disconnected.
| The console says | What it means | What to do |
|---|---|---|
link secret rejected | The secret in config.yml isn't the one UTP Connect expects | On your VPS, type utp-connect and choose Show the address and the link secret. Copy the secret again, paste it, restart |
link lost (Connection refused) | UTP Connect isn't running, or the address is wrong | On your VPS, type utp-connect and choose Show the address and the link secret: it checks UTP Connect runs, and starts it if not. Check the address in config.yml. |
link lost (…) with a name error | The address doesn't exist | Check the spelling of connect.url, and that your domain points at the VPS |
still unreachable after … attempts | The plugin keeps trying | Fix the cause above; the plugin reconnects by itself, no restart needed (except for a wrong secret) |
UTP Connect is updating itself to match this plugin | Your new plugin needs a newer UTP Connect, which is installing itself | Nothing: the link comes back by itself within a couple of minutes |
link refused: UTP Connect needs updating… or could not update itself | UTP Connect can't update itself here (it was set up by hand), or its update failed | Update UTP Connect — see Updating and backups — then restart your server |
link refused: UTP Connect is newer than this plugin | Your plugin is older than UTP Connect | Install the newest plugin from your downloads, and restart |
UTP Connect speaks another protocol version | UTP Connect is from before 10 October 2026 and can't update itself yet | On your VPS, type utp-connect and choose Update, then restart your server |
A quick test: open your UTP Connect address in a browser. If the page doesn't open, the problem is on the VPS or the domain, not in the game — and utp-connect → Show the address and the link secret checks both, and offers to fix what it can.
/connect or /utp admin says "The park page is temporarily unreachable"#
The link between your server and UTP Connect is down. See The plugin does not connect.
The link has expired#
Links from /connect last ten minutes and /utp admin links five minutes, and each works only once. Type the command again for a fresh one.
I was signed out of the administration#
You stay signed in as long as you use the administration. Eight hours without using it, or a day at most, sign you out — and so does losing the utp.admin permission.
What you were working on is not lost: it is still on the page, and a message at the bottom says what to do.
- Type
/utp adminin game. - Open the link. It opens the administration in a new tab.
- Come back to the tab you were working in, and save again.
Don't reload that tab or close it before you've saved: your changes are only there.
A guest hears nothing#
Go through this list with them:
- Did they click "Enter the park"? Without that click, the browser won't play anything. If an Enable sound banner shows, they click it.
- Are they in an area with music? The Audio tab says "Nothing playing" outside musical areas. Check the area in Regions: it has a track, and Enabled is ticked.
- Is the sound on? Check the volume slider on the page, and that the browser tab isn't muted. On an iPhone, the silent switch mutes web pages too.
- On a phone, is the page in front? Phones pause pages that go to the background. (On a computer, a background tab keeps playing.)
- Does the track play at all? Press play next to it in the Media library. If it doesn't play there, upload it again — see Add your music. A track marked "Its file is no longer in the music folder" has lost its file: replace it.
If nobody hears anything, check that your UTP Connect address starts with https://. The console warns at start-up when it doesn't: "connection is not encrypted, mobile browsers will refuse to play audio".
A sign is refused#
| The chat says | What to do |
|---|---|
| No ride has the id 7. | Create the ride in the administration first, and check the number on line 3. The link must be up when you place the sign. |
| The third line must carry the ride's number. | Line 3 must hold only the ride's number |
| The fourth line must carry … | utp-transfer, utp-storage and utp-unload need a number on line 4, from 1 upwards |
| You do not have permission to place this sign. | Placing UTP signs needs the utp.sign.place permission |
A train is stuck#
/utp ride status 7tells you where the ride is in its cycle, and what it's waiting for.- If riders see "Waiting for dispatch authorisation": the gates or restraints aren't closed, the safety lock isn't locked, the next section isn't free, or the emergency stop is on. The operator panel's red lights show which.
- If a train waits on a block — or in the station — with "Waiting for the next block to clear": the section ahead has a train in it. Check your
utp-blockandutp-unloadnumbers follow each other with no gap: 1, 2, 3. /utp ride reset 7frees every section and reopens the station, unless the ride is closed.
A ride blocked for longer than the delay in Settings → Releasing a stuck train is freed on its own.
A ride keeps its old trains after a restart#
A coaster with a Fleet, or a flat ride with its seats, puts fresh trains in place every time your server starts. When it doesn't, the console says why, a few seconds after start-up:
[ride] trains kept as they are (ride=Wild Mouse, reason=no utp-storage sign has been read)
When the reason says a sign has not been read, the plugin hasn't seen that sign yet. It sees a sign when you place it, and when the world around it loads — a player coming near it. From then on it remembers that sign, and reads it again at every start, even with nobody online.
So, once:
- Walk past the ride: its station, its block sections, and its storage tracks if it has a transfer table.
- Type
/utp ride reset 7. The ride puts itself back together now, and by itself on every restart after that.
If /utp ride reset 7 still says a sign has not been read, check that sign: the keyword on line 2, the ride's number on line 3 — see A sign is refused.
Guests can't board a ride#
If guests read "The Plunge is closed." (or closed for maintenance, temporarily out of order) when they try to sit down, the ride is closed. Open it from the list of rides in the administration, or with /utp ride availability 7 open. /utp ride status 7 shows it on its Availability line.
The operator panel doesn't appear#
- The operator has their page open (
/connect), on the Operator tab. - They stand inside the ride's station region. The region's name in the ride's settings must be spelled exactly as in WorldGuard — pick it from the suggestions. Lowercase names avoid surprises.
- To press the buttons, they need the
utp.operatorpermission, and the ride needs Operator mode turned on. - A closed ride shows its panel, but locked: its display says why it is closed.
Players get no resource pack#
Type /utp status and look at the Pack line:
- not sent — in Settings → Resource pack, Send it to players is on Don't send it. Pick Offer it or Require it, and press Save.
- …, but no pack uploaded — upload your
.zipin the same section. - … (too large for the game) — the game won't download a pack over 250 MB. Make it smaller (compress the sounds, drop unused textures) and upload it again.
If the line looks right, look in the console for this line when a player connects:
[pack] resource pack did not load, player let in without it (player=…, status=failed_download, url=…)
Open the address it gives in your browser. It should download your pack. If it doesn't, the game can't reach your UTP Connect either: check that it is running, and that this address is the one in connect.url (see Link your server).
Only you don't get it? Server operators can always say no to the pack, and the game remembers that answer. In your server list, select your server, Edit, and set Server Resource Packs to Prompt.
Players get two packs, or an old one? Your server.properties may still send a pack of its own: empty the resource-pack= line, set require-resource-pack=false, and restart the server.
A command in a ride does nothing#
The console shows command not found (ride=…, command=…) when a command has a typo or calls a plugin that isn't installed. Try the command in the console yourself: if it works there, it works in the ride.
Still stuck?#
Post in the support forum on our Discord, with what the console says — the lines starting with [UltimateThemePark] — and we'll help you out. Turning on Verbose logging in Settings adds detail to those lines. If the problem is on the UTP Connect side, add its last messages: utp-connect → Show the logs.
For a question about your license or a payment, write to [email protected] instead: private details stay off a public channel.