CurseForge · Minecraft mod
Desired Servers
Your desired servers will always be listed.
Quick answer
Which Desired Servers release matches 1.19?
Desired Servers 1.19-1.0.1 targets 1.19 with Fabric. It must be installed on the client. Do not install it on the dedicated server. No extra mods listed for this file.
Where it goes
Is Desired Servers required on the client, server, or both?
It must be installed on the client. Do not install it on the dedicated server.
This file is marked client-only.
What else does Desired Servers 1.19-1.0.1 need?
1.19-1.0.1 on 1.19. Every mod below is checked against that same setup.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add Desired Servers without breaking your instance.
Built for Desired Servers 1.19-1.0.1 on 1.19. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use 1.19-1.0.1. It targets 1.19 with Fabric; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
It must be installed on the client. Do not install it on the dedicated server.
- 04
Pick the file you checked
Use the “Get this file” button beside 1.19-1.0.1. It opens that exact file at the source.
About this project
What does Desired Servers add?

If you want a server setup for nearly any mod pack with zero effort, get a server with BisectHosting and receive 25% off your first month as a new customer using the code kreezxil.
Join us on Discord.
Desired Servers
Desired Servers adds the servers you list in a JSON file to the multiplayer server list every time the game starts, without replacing the servers the player added themselves. Modpack authors no longer need to ship a servers.dat that overwrites the player's own list.
Desired Servers is client only. Install it on the client; on a dedicated server it logs one line and does nothing.
Requirements
Minecraft 26.3, NeoForge 26.3.0.x and Java 25. Older Minecraft versions are covered by the older files on this page; the older Fabric files require Fabric API.
How it works
At every game start the mod reads config/desiredservers/desiredservers.json. For each entry:
- If the server list already has a server with the same name and the same address (upper and lower case are ignored), the entry is skipped.
- Otherwise the server is added to the end of the list.
The server list is only saved when at least one server was added, and the player's existing servers are loaded first and kept. If a player deletes one of your servers from their list, it comes back at the next start because it is still in the JSON file.

Servers in the multiplayer screen
The files
The first start creates the folder config/desiredservers/ with two files:
desiredservers.json: the list the mod reads. It is created as an empty list ([]), so a fresh install adds nothing until you list servers.desiredservers.json.example: a filled-in example. The mod never reads this file. Do not rename it; copy its contents into desiredservers.json instead.
desiredservers.json is a JSON array with one object per server. The layout of the example file also works: a JSON object with a servers array, where every other key (such as _WARNING) is ignored. You can paste the whole example file into desiredservers.json.
[
{
"serverName": "My Server",
"serverIP": "mc.example.com",
"forceResourcePack": true
},
{
"serverName": "\u00a76Gold Server",
"serverIP": "play.example.org:25566",
"forceResourcePack": false
}
]
To add another server, add another block with its details.
serverName(text, required): the name shown in the server list.serverIP(text, required): the address, optionally with:port.forceResourcePack(trueorfalse, optional, defaultfalse): see below.
Using forceResourcePack
Set it to true if the server has a resource pack players should always use. The server entry is added with its Server Resource Packs option set to Enabled, so the server's pack is accepted without a prompt. With false, or when the field is left out, the entry keeps Minecraft's default and the player is prompted.
This is the client's setting for that entry; it does not make a server send or require a resource pack, which is configured on the server. It only applies to entries the mod adds, never to servers that are already in the list. The text values "true" and "false" used by older versions are still accepted.
Color codes in server names
Put a section sign color code in serverName, written either as the character itself or as \u00a7 followed by the code, for example \u00a76 for gold.


The % color codes of the CMS mod are not supported, only the section sign.
If something is wrong in the file
- An entry without a non-empty
serverNameandserverIPtext value is skipped with a warning inlogs/latest.log. The other entries are still used. - If
desiredservers.jsonis not valid JSON, or is neither an array nor an object with aserversarray, nothing is added and the file is left as it is. The reason is logged as an error inlogs/latest.log. - If the file is valid but lists no servers (for example the default
[]), a warning inlogs/latest.logsays so. - If the game's
servers.datexists but cannot be read, nothing is added andservers.datis left untouched.
Editing in game: the Config button
In the mod list, the Config button of Desired Servers opens an editor for desiredservers.json.
- The list shows every valid entry with its address and whether the resource pack option is on.
- Add Server and Edit (or a double-click on an entry) open a form with the server name, the server address and a Server Resource Pack on/off toggle. Name and address must be filled in, and two entries cannot have the same name and address.
- Remove takes the selected entry out of the list.
- Nothing is written until you press Save; Cancel discards your changes.
- Save writes
desiredservers.jsonas a plain, pretty-printed JSON array (UTF-8), then adds the servers that are not yet in the multiplayer list, the same way as at game start. A message shows how many were added. - Removing or editing an entry only changes the file. The editor never deletes or changes servers that are already in your multiplayer list: after renaming an entry the new name is added and the old server stays until you delete it in the multiplayer screen.
- Invalid entries in the file are not shown and are dropped on save; the screen tells you how many. If the file cannot be read at all, the editor opens read-only and never overwrites it.
Configuration
desiredservers.json is the whole configuration; the mod has no other config file. The mod never rewrites it on its own after creating it; it is only rewritten when you press Save in the editor.
The text boxes of the editor use the same limits as Minecraft's own Add Server screen: a server name can have up to 32 characters (color codes count) and a server address up to 128. They only limit typing in the editor; an entry that is already longer in the JSON file is shown and saved without being cut.

Other Info
• License: GNU GPLv3. Desired Servers is derived from Featured Servers by Jake Evans, also GPLv3. Thank you Jake for the original mod and the license.
• Source: gitlab.com/kreezxil/desired-servers. Report problems on the issue tracker or in the Discord.
• Client only.
Instructions for versions prior to 26.3 NeoForge are contained below.

If you want a server setup for nearly any mod pack with zero effort, get a server with BisectHosting and receive 25% off your first month as a new customer using the code kreezxil
From a page that is GPLv3 licensed that sounds very familiar to this.
Fabric versions require Fabric API.
Desired Servers
This is a mod that removes the need to ship a servers.dat file that overwrites player-added servers.
Stop shipping that file and add Desired Servers! You can add multiple servers with a simple json format.
On first run, the mod will generate a desiredservers.json with the following content if one isn't present:
[
{
"serverName": "Desired Server",
"serverIP": "127.0.0.1", "forceResourcePack":"true"
},
{
"serverName": "Another Desired Server!",
"serverIP": "192.168.1.1", "forceResourcePack":"false"
}
]
Adding a server is as simple as adding another json block with the details.
The server is added to the server list on load, if it is already there it will be ignored.

Server list JSON
Using forceResourcePack
set it to true if the server has a resource pack that the player must have no matter what to connect. when the value is true, they will be forced to receive the servers forced resource pack.
if the server does not have a resource that must be installed as in that it does not have one to force on the user, set this to false. Or in the case it's not required to have the resource pack to connect.

Servers in the multiplayer screen
The TidBit
The Featured Servers/ folder now lives in the config folder.
Neat Feature
You can colorize your server entries using /u (universal) and semoleans.
We tested putting §6 inside the servername in the desiredservers.json


Same works on fabric
CMS COMPATIBILITY
The only thing cms does is allow you to do color codes using % instead of §
So there's no reason to even add CMS support
The What and How
Forge didn't like how the mod was laid out and wanted it to be more like the default example. So I added in some stuff for that. Also the mod was catching way too much stuff with reporting, so I unwrapped that added try/catch clauses where it was absolutely necessary.

Other Info
* Same license as the original GPLv3 at https://www.curseforge.com/minecraft/mc-mods/featured-servers
* ported to 1.16.1
* source now available
* client only
Project description from CurseForge.
Pick your setup
Desired Servers by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.21.1
2 loader builds1.20.6
2 loader builds1.20.4
2 loader builds1.20.2
2 loader builds1.20.1
2 loader builds1.19.4
2 loader builds1.19.3
2 loader builds1.19.2
2 loader builds1.19.1
2 loader builds1.19
1 loader build1.18.2
2 loader buildsShowing the newest 12 of 22 game versions. Older files are in the list below.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
Desired Servers versions and loaders
1.19-1.0.1
desiredservers-1.19-1.0.1.jar
15 Jun 2022
Looking for an older file? The official CurseForge project page is in Resources.




