Skip to content
Coritan Docs

Server settings

Rename a server, set its Minecraft server icon, change or add its join address, change its startup variables, or reinstall it, from its Settings tab.

View as Markdown

The Settings tab of a server holds the facts you look up most: its name, its software, its location and its address. From here you can rename the server, set the icon Minecraft shows for it, change its join address or give it one, change its passwords and some game settings, and reinstall it. Open it from the server page in the dashboard with the Settings tab. The server's size and add-ons are on its Billing tab (Manage a server's billing).

Your own labels for the server. They show on your server list, and you can filter the list by them. Type a tag in Add a tag and press Enter; a tag uses lowercase letters, digits, dots, dashes and slashes. Select the cross on a tag to remove it. Each change saves at once. Tags explains how tags work across your account.

Name
The server's name. Rename… changes it.
Software
The software the server runs, such as Paper or MariaDB.
Runtime
What the software runs on, such as Java 21. The card shows it only when it differs from the software.
Location
Where the server runs, such as London, with the country's flag.
Created
When the server was set up.
Status
The server's lifecycle status, such as Running, Installing or Suspended.
  1. On the General card, select Rename…. A form opens in the card, with Server name ready to type in.
  2. In Server name, enter the new name: 2 to 48 characters, with letters, numbers, spaces and the marks - _ . ' ! & ( ) [ ] , : +, and at least one letter or number.
  3. Select Rename server, or press Enter. Cancel, or Escape, closes the form and leaves the name as it was.

The dashboard confirms with Server renamed to and the new name. The name shows on the dashboard, on invoices and in notifications. The server keeps its ID, its address and its join address.

On a Minecraft Java server, the Server icon card sets the picture beside your server in the Minecraft multiplayer list. Minecraft shows only a PNG of exactly 64×64 pixels, saved as server-icon.png in the server's main folder. The card turns any picture into that file for you. A Bedrock server, or a server that runs another game, has no card, because its server list shows no icon. On a server someone shared with you, the card needs file.read to show, file.create to save an icon and file.delete to remove one.

The card shows your server as the multiplayer list will show it, with the icon it has now.

  1. On the Server icon card, select Choose a file, drop a picture on the card, or paste one. The card takes PNG, JPG, GIF, WebP, SVG and most other picture files, up to 10 MB.

  2. The card shows the picture as a 64×64 icon. If the picture is not square, the card asks Your picture is not square. Choose how to fit it into 64×64. Choose one:

    • Fill crops the edges to fill the square.
    • Fit keeps the whole picture, with transparent edges.
    • Stretch squashes the picture to a square.

    Choose another picture starts again with a different file, and Cancel leaves the icon as it was.

  3. Select Save icon.

The dashboard confirms with Server icon saved. Restart the server to show it in the server list. The new icon replaces any icon the server had. Minecraft reads the icon when the server starts, so restart the server from the console to show it.

A join address can have a Server icon of its own on its Server list tab. Players who join through that join address see that icon instead (Customise the server list entry).

  1. On the Server icon card, select Remove icon.
  2. In the dialog, select Remove icon.

We delete server-icon.png, and the dashboard confirms with Server icon removed. Restart the server to apply it. The multiplayer list shows the default icon after the next restart.

A server-icon.png that you uploaded another way, such as through the file manager or SFTP, may not be a 64×64 PNG. The card then warns Minecraft ignores this file and says what is wrong, such as The current server-icon.png is a JPG file, 512×512. Select Fix it to turn the file into a 64×64 PNG, then restart the server. The dashboard confirms with Server icon fixed. Restart the server to show it in the server list. When Fix it is missing, the file is too large or damaged to read: set a new icon instead.

On a Minecraft server, the Server list card sets the text under your server's name in the multiplayer list: the MOTD on a Java server, the server name on a Bedrock server. It edits motd or server-name in server.properties, and the change shows after a restart. Set the server list text of a Minecraft server covers colours and limits.

Where players and apps connect: the server's primary address. Extra ports are on the Ports tab, which Open Ports opens. There you add more ports or change the primary one.

Join address
The name players type to join, such as survival.play.example.com, on a server that has one. Copy join address copies it.
IP address
The IP address alone. Copy IP address copies it.
Address with port
The IP address and port together, such as 203.0.113.10:10565. An IPv6 address shows in brackets, such as [2001:db8::10]:10565, so the port stands apart from the address. Copy address copies it.

A server with a join address can change its first part, the survival in survival.play.example.com. The rest stays the same.

  1. On the Network card, select Change join address…. A form opens in the card, with Join address ready to type in.
  2. In Join address, enter the new first part: 3 to 28 lowercase letters, numbers and hyphens, with no hyphen at either end. The field shows the full address players will use under it, such as Players join at season-4.play.example.com.
  3. Select Change join address, or press Enter. Cancel, or Escape, closes the form and keeps the address.

The form warns that the old address stops working as soon as you save, so tell your players the new one. A name another join address already has stays in the form with Subdomain is already in use under the field. The dashboard confirms with Join address changed to and the new address.

Give the server a join address

Section titled Give the server a join address

On a Minecraft server with no join address, the Network card offers its owner one, so players can type a name instead of the IP address and port.

  1. On the Network card, select Give players a name to join…. The Create a join address page opens, with the edition and this server chosen and Settings as its back link.
  2. Continue from step 4 of Create a join address.

The dashboard confirms with Join address and the new address, followed by created. The join address's page opens, and the Network card shows the new Join address when you return to this tab.

The server's size and its add-ons are on its Billing tab (Size and add-ons). On a server someone shared with you, only its owner sees that tab.

The values the server starts with, such as the game version, the file the server starts, or your app's own settings and keys. The software template sets the first ones, and the Software tab changes them when it switches versions. Each value has a copy button, and a password shows hidden until you select the eye button beside it.

You can change, add and remove the server's startup variables. A few stay with the platform or with a setting of their own, and the table says so beside each:

What Variables Why
Set by the platform SERVER_MEMORY, SERVER_IP, SERVER_PORT, STARTUP and every name starting P_SERVER_ We write them into every start, from the server's size and address.
The Java settings MC_HEAP_MB and MC_JVM_FLAGS Change them in the server's Java settings, which check them against the server's memory.
Safe mode MC_SAFE_MODE Turn safe mode on or off instead.

A value becomes part of how the server starts, so check it before you restart. A wrong value can keep the server from starting, and removing it or changing it back puts that right.

  1. Select Change… beside the variable. A form opens above the table, named for the variable, such as Change RCON_PASSWORD.
  2. Enter the value:
    • For a password, type it in New password for and the variable's name, or select Generate password for a random one of 24 letters and numbers. A password has 12 to 128 characters: letters, numbers and the marks _.@%+=:,-, with no spaces, starting with a letter or a number.
    • For any other variable, type it in New value for and the variable's name: one line of up to 1,024 characters. A game's own settings, such as a Terraria world size or a player limit, keep the values that game accepts, and we check them when you save.
  3. Select Change password or Save value, or press Enter. Cancel, or Escape, closes the form and returns you to the variable's Change… button.

The dashboard confirms with, for example, RCON_PASSWORD changed. It applies on the next restart. Restart the server from the console to use it. On a server someone shared with you, changing a variable needs startup.update, which the owner grants through the API (Share a server with other users).

  1. Select Add a variable at the top of the Startup variables card.
  2. Enter the Name: capital letters, digits and underscores, starting with a letter, such as API_URL.
  3. Enter the Value, then select Add variable.

Your software reads it as an environment variable from the next restart. Use this for an app's own settings and keys, which then stay out of its code.

Reset or remove a startup variable

Section titled Reset or remove a startup variable

A variable you changed or added has a second button:

  • Reset puts back the software template's value.
  • Remove takes away a variable the template does not have, so the server starts without it. Removing a password the software uses gives the server a new random one, and a database that has started before keeps the old one inside until you change it there too (Database passwords).

Confirm in the dialog. The change applies on the next restart.

A free server runs the software the panel installed, so on a free server:

  • The variable that names the program the server runs (SERVER_JARFILE, JARFILE, SERVER_JAR, EXECUTABLE or BINARY) stays as the panel set it. Change the software from the Software tab instead.
  • A value holds letters, numbers, spaces and the marks _.@%+=:,/-, and starts with a letter, a number or /. A negative number such as -12 is fine.

The card says when these limits apply. A paid server has neither.

We give each database server a random password of its own when we set it up, so no two servers share one. It is in this table, under the variable the software reads:

Software Password variables
MariaDB MYSQL_ROOT_PASSWORD and MYSQL_PASSWORD
PostgreSQL POSTGRES_PASSWORD
MongoDB MONGO_PASSWORD
Redis SERVER_PASSWORD

To change a password, select Change… beside it, as above, then restart the server from the console.

Redis reads its password each time it starts, so the restart is all it needs. MariaDB, PostgreSQL and MongoDB keep their users' passwords in their own data, so a new value may not change the password the database checks. The form warns about this. If the new password does not work after the restart, sign in with the old one and set the new one inside the database too:

Software Command
MariaDB SET PASSWORD = PASSWORD('new-password');
PostgreSQL ALTER ROLE CURRENT_USER WITH PASSWORD 'new-password';
MongoDB db.getSiblingDB("admin").changeUserPassword("admin", "new-password"), where admin is the user in MONGO_USER

Each command changes the password of the user you signed in as. Then give the new password to every app that connects to the database.

A database server we set up before each server got its own password may show Not set in this table. It still has the password its template gave every server, the one your apps use to connect to it. Set a password of your own as above, then change it inside the database, signed in with the old one.

The Advanced card holds what support may ask for: the server's full ID and the command it starts with. It starts folded. Select Show details to open it, and Hide details to fold it again.

Server ID
The server's full ID, which the API and support use to identify it. Copy full server ID copies it. The top of the server page shows the first 8 characters, and Copy server ID there copies the full ID too.
Startup command
The command the server runs when it starts, with the startup variables filled in. Copy startup command copies it, for example to run the same server elsewhere.

A reinstall deletes every file on the server and installs its software again, as it was when we set it up. The server's databases, backups and snapshots stay. Take a snapshot first to keep the files.

  1. On the Reinstall server card, select Reinstall server….
  2. Read the dialog, then type the server's name where it asks you to, such as Type survival-smp to continue. Capitals do not matter.
  3. Select Reinstall server.

The dashboard confirms with Reinstall of and the server's name, followed by started. The server stops and shows Installing until the install finishes. A server whose install never finished has no files to lose, so the dialog does not ask for its name.

A server that clones a git repository is updated without a reinstall: Open Releases on the same card opens its Releases tab, where a release puts a new commit on the server and keeps its other files. A reinstall of such a server fetches the repository first, and does not start when the repository cannot be fetched, so no file is deleted for nothing (Reinstall a server that clones a repository).

Use only letters, numbers, spaces and the marks -_.'!&()[],:+
The Server name holds a character a name cannot use. Remove it. Use at least 2 characters. and Use 48 characters or fewer. mean the name is too short or too long.
Subdomain is already in use
Another server has that join address. Choose another.
www is reserved; choose another.
We keep some names, such as www, admin and mail, for our own use. The message names the one you typed. Choose another.
Use 12 to 128 characters.
The New password is too short or too long. Select Generate password for one that fits.
Could not change followed by the variable's name
We refused the value. The message under the title gives the reason, such as SERVER_PORT is set by the platform when the server starts, so it cannot be changed here or MC_HEAP_MB is changed through the server's Java settings (memory and flags).
The server does not start after a change to a startup variable
The console log from the start names what went wrong. Change the variable back, or select Reset or Remove beside it, then start the server again.
Rename server, Change join address or Reinstall server is greyed out
The name or address is the same as it was, or breaks its rule, or the typed name does not match the server's name.
Could not reinstall the server
The message after it gives the reason. Try again once any work on the server, such as an install or a restore, has finished.
Could not use that picture
We could not turn the file into an icon. The message under it gives the reason, such as That image is too large (14 MB). The limit is 10 MB. or That file is text, not an image. Upload a PNG, JPG, GIF, WebP, BMP, TIFF or ICO picture. Save the picture as a PNG or JPG under 10 MB and try again.
Could not read the server icon
We could not reach the server's files, for example while the server's node is offline. Select Try again.
The new icon does not show in the multiplayer list
Restart the server: Minecraft reads the icon only when it starts. Then refresh the list in the game. If players join through a join address with its own Server icon, they see that one (Customise the server list entry).

GET /api/v1/client/servers/{uuid} returns everything this tab shows.

Shell
curl https://api.coritan.com/api/v1/client/servers/$SERVER \
  -H "Authorization: Bearer $CORITAN_TOKEN"
Tab field Response field
Name name
Software specialization_name, or template_name when that is null
Runtime template_name
Location location_name, location_country_code
Created created_at
Status status
Join address join_address
IP address and Address with port ip_address, port
Startup variables variables
Server ID (under Advanced) uuid
Startup command (under Advanced) startup_command
Tags tags

PATCH /api/v1/client/servers/{uuid}/settings renames the server. Send the new name:

Shell
curl -X PATCH https://api.coritan.com/api/v1/client/servers/$SERVER/settings \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Survival SMP"}'

The answer is the server, as GET /client/servers/{uuid} returns it. A name that breaks the rule answers 422 with the reason, such as Server name must be at least 2 characters. The same route takes world_optimization_enabled, which turns the removal of unused world chunks on or off. A body with neither field answers 400. On a server shared with you, renaming needs settings.rename and world_optimization_enabled needs settings.reinstall.

PATCH /api/v1/client/servers/{uuid}/subdomain changes the first part of the join address. Send it as subdomain:

Shell
curl -X PATCH https://api.coritan.com/api/v1/client/servers/$SERVER/subdomain \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"subdomain": "season-4"}'

The answer is the server with its new join_address. The same name again changes nothing. A name another server has answers 400 with Subdomain is already in use, and a server without a join address answers 400 with This server has no join address to rename. To give such a server a join address, create one with POST /api/v1/gameproxy/routes (Create a join address). On a server shared with you, changing the subdomain needs settings.rename.

GET /api/v1/client/servers/{uuid}/startup-variables lists every startup variable, and says what you can do with each:

JSON
{
  "game": null,
  "free_plan_rules": false,
  "variables": [
    {"key": "API_URL", "value": "https://api.example.com", "secret": false, "editable": true, "locked": null, "managed_by": null, "removable": true, "default": null, "source": "server", "rule": null},
    {"key": "MC_HEAP_MB", "value": "2048", "secret": false, "editable": false, "locked": "MC_HEAP_MB is changed through the server's Java settings (memory and flags)", "managed_by": "java", "removable": false, "default": null, "source": "server", "rule": null},
    {"key": "RCON_PASSWORD", "value": "Blue-harbour-2026", "secret": true, "editable": true, "locked": null, "managed_by": null, "removable": true, "default": null, "source": "server", "rule": "12 to 128 characters: letters, numbers and the marks _.@%+=:,- with no spaces, starting with a letter or a number"},
    {"key": "SERVER_JARFILE", "value": "server.jar", "secret": false, "editable": true, "locked": null, "managed_by": null, "removable": false, "default": "server.jar", "source": "default", "rule": null}
  ]
}
  • secret marks a password, which the dashboard shows hidden.
  • editable is true for a variable PATCH takes, and locked says why when it is false. managed_by is java or safe_mode for a variable its own setting changes, platform for one the platform sets, or null.
  • removable is true when the server has its own value to remove, and default is the template's value that applies then, or null when there is none (a password gets a new one instead).
  • source is server for the server's own value, or default for the template's. rule says what a new password must be.
  • game names the game whose own settings keep their checks, or is null. free_plan_rules is true on a free server (On a free server).

On a server shared with you, it needs startup.read.

PATCH /client/servers/{uuid}/startup-variables changes, adds and removes startup variables. Send the ones to set or add in variables, and the names to remove in remove_variables, up to 100 in all:

Shell
curl -X PATCH https://api.coritan.com/api/v1/client/servers/$SERVER/startup-variables \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"variables": {"API_URL": "https://api.example.com", "GIT_BRANCH": "development"}, "remove_variables": ["OLD_SETTING"]}'
  • A name is capital letters, digits and underscores, up to 64, starting with a letter. A value is one line of up to 1,024 characters.
  • A password the server's software uses, such as POSTGRES_PASSWORD on a PostgreSQL server, takes 12 to 128 characters: letters, numbers and the marks _.@%+=:,-, with no spaces, starting with a letter or a number.
  • A game's own settings, on Terraria, Factorio, Mindustry, Palworld, Valheim, Rust, Satisfactory and Project Zomboid servers, keep the values that game accepts.
  • Removing a name the template has puts its value back, removing a password gives the server a new one, and removing any other name takes it away.

The answer is the server, as GET /client/servers/{uuid} returns it. The new values apply the next time the server starts. A database that reads its password only when it first starts keeps the old one inside, so change the password in the database too (Database passwords). The server's activity log records which names changed, never their values.

A subuser needs the startup.update permission (Share a server with other users). A change answers 400 with the reason for:

  • a name the platform sets: SERVER_PORT is set by the platform when the server starts, so it cannot be changed here
  • a name its own setting changes: MC_HEAP_MB is changed through the server's Java settings (memory and flags)
  • a value that breaks its rule, such as POSTGRES_PASSWORD must be 12 to 128 characters long or API_URL must be a single line
  • on a free server, the variable naming the program it runs, or a value with other characters (On a free server)

Each change counts towards the limit of 8 software actions from one account on a server in 10 minutes.

POST /api/v1/client/servers/{uuid}/reinstall deletes every file and installs the software again. Confirm it with the server's name in confirm_server_name, in any case. For a server that clones a git repository on GitHub or GitLab, the repository is fetched first: when that fails the call answers 400 with a message that starts The reinstall was not started and no file was deleted., and the server is as it was.

Shell
curl -X POST https://api.coritan.com/api/v1/client/servers/$SERVER/reinstall \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"confirm_server_name": "survival-smp"}'

It answers {"uuid": "…", "status": "installing", "job_id": 8812, "message": "Server reinstallation initiated"}. A missing or wrong name answers 400 with Type the server name to confirm a wipe and reinstall. A server whose install never finished (installing or install_failed) needs no name. On a server shared with you, it needs settings.reinstall.

Read and change the server icon

Section titled Read and change the server icon

GET /api/v1/client/servers/{uuid}/server-icon reads the icon. present says whether server-icon.png is there, and valid says whether Minecraft shows it. icon is the picture as a data URI, for a file of 256 KB or less. format, width, height and bytes describe the file, and problems lists what is wrong with one Minecraft ignores: not_png, wrong_size, unreadable, too_large or is_directory. support.supported is false on a Bedrock server or another game.

POST /api/v1/client/servers/{uuid}/server-icon turns a picture into the 64×64 PNG and saves it. Send the picture as the multipart field file, and how to fit a picture that is not square as fit: cover (the default, which the dashboard calls Fill), contain (Fit) or stretch (Stretch).

Shell
curl -X POST https://api.coritan.com/api/v1/client/servers/$SERVER/server-icon \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -F "file=@logo.png" \
  -F "fit=contain"

The answer is the saved icon, with valid: true and message set to Server icon saved. Restart the server to show it. The API reads PNG, JPEG, GIF, WebP, BMP, TIFF, ICO and most other picture formats. It does not read SVG, so export an SVG as a PNG first; the dashboard does that for you. A file that is not a picture, or an unknown fit, answers 400 with the reason, and a file over 10 MB answers 413.

POST /api/v1/client/servers/{uuid}/server-icon/preview takes the same file and saves nothing. It answers with variants, one 64×64 PNG data URI for each fit, suggested_fit, and source, which describes the picture you sent. DELETE /api/v1/client/servers/{uuid}/server-icon removes the icon.

On a server shared with you, reading the icon needs file.read, saving it or a preview needs file.create, and removing it needs file.delete. Restart the server after a change for Minecraft to show it.

API operations on this page

MethodPathWhat it does
GET/api/v1/client/servers/{uuid}Get server details
PATCH/api/v1/client/servers/{uuid}/settingsRename the server, or switch the removal of unused world chunks
PATCH/api/v1/client/servers/{uuid}/subdomainPatch subdomain
GET/api/v1/client/servers/{uuid}/startup-variablesEvery startup variable the server runs with, and what its owner may do with each
PATCH/api/v1/client/servers/{uuid}/startup-variablesChange, add or remove the server's startup variables
POST/api/v1/client/servers/{uuid}/reinstallDelete every file on the server and run its software's install again
GET/api/v1/client/servers/{uuid}/server-iconThe server's Minecraft server icon, server-icon.png in the server root
POST/api/v1/client/servers/{uuid}/server-iconConvert a picture to the 64×64 PNG Minecraft accepts and save it as /server-icon.png
DELETE/api/v1/client/servers/{uuid}/server-iconDelete /server-icon.png
POST/api/v1/client/servers/{uuid}/server-icon/previewRender a picture as a server icon in every fit mode, without saving it