Serverify for Horizon
Horizon is a rewrite of Minecraft in Rust. Serverify for Horizon is a native mod: it finds servers on Modrinth and adds them to your Multiplayer list, from a page in your web browser or from chat.
Install
You need the Horizon launcher 0.2.23 or later, with the game prepared at least once.
- In the launcher, open Mods, find Serverify and press Install.
- The launcher explains that native mods are compiled into a game of their own, and turns on Settings > Native mods (experimental).
- There press Build. Read the red warning that names the mods, then choose I trust these mods: build. The first build downloads Rust and takes 20 to 30 minutes. Later builds take a few minutes.
- Pick the Native mods instance in the launcher and press Play. It has its own worlds and options.
Until Serverify is listed in the registry, or to build it yourself, use the launcher's command line on the mod's folder (the first build is as slow as above):
horizon-launcher native-build /path/to/serverify/mixins/serverify --trust-native-codeServerify is a native mod, so it is not sandboxed: it can do what you can do on your computer. Its source is public, and the registry's reviewers read all of it before they list it. See Safety and privacy.
Use it
Open the server browser page in any of three ways:
- Press F8. It works on any screen, the title screen and Multiplayer included. Change the key in Options > Mods.
- Type
/serverify webin a world. - Open Options > Mods > Serverify > Settings and press Open the server browser.
Your web browser opens a page with a search box, a category menu and cards showing each server's picture, address, player count and country. Press Add on a server: it goes to the top of your Multiplayer list. Open Multiplayer in the game to join it. A server already in your list shows In your list.
The page is only a display. The game does every search and fetches every picture, and the page talks to nothing but the game.
Commands
Type them in chat in a world. Answers appear as chat lines only you see.
| Command | What it does |
|---|---|
/serverify | Shows the help. |
/serverify web | Opens the server browser page and prints its address in chat. |
/serverify list [category] | The most played servers, optionally of one category. |
/serverify search <words> | Searches servers by name. |
/serverify next, /serverify prev | The next or previous page of ten. |
/serverify add <number> | Adds a listed server to your Multiplayer list. |
/serverify categories | Lists the categories. |
Categories: survival, smp, vanilla, skyblock, prison, factions, pvp, kitpvp, lifesteal, oneblock, towny, economy, rpg, creative, minigames, bedwars, parkour, cobblemon, pixelmon, modded, hardcore, anarchy, cracked and roleplay.
Settings
Options > Mods lists Serverify with a switch. Turn it off and it does nothing until you turn it on again. Its Settings page has:
- Open the server browser.
- Offline-mode servers only (on by default). Horizon cannot join servers that check Minecraft accounts yet, which is most public servers, so the list shows the servers that accept offline-mode players. Turn it off to also see servers from top-mc-servers.net, minecraftservers.org and minecraft-mp.com, knowing most of them will not let Horizon join. With it on, the page also shows top-mc-servers.net's list of cracked servers when no category is picked.
The setting is saved in horizon-mods/.horizon-mod-data/serverify/ in the game folder, one file per setting.
Safety and privacy
- Modrinth. The game asks
api.modrinth.comfor the list (two requests per page) andcdn.modrinth.comfor a server's picture, only when you look for servers. It sends nothing about you. - Three listing sites. When the offline-mode filter is off, the game also fetches one public page of
top-mc-servers.net,minecraftservers.organdminecraft-mp.comfor each page of results, and their server pictures. The game builds those addresses itself, so the page cannot ask for any other address. The page reads the fetched pages with the browser's own HTML parser. Promoted and premium rows are skipped. - A page on your computer. The first time you open the page, the mod starts a small web server on
127.0.0.1, this computer only and never the network. Its address contains a random secret made for that session. The page only talks to that server. A request that comes with another host name, another origin or no secret is refused. The server can show the list, send a picture and add one server to your Multiplayer list, nothing else. - Your Multiplayer list. Adding a server writes one entry to
servers.datin the game folder, with the name cleaned of colour codes and control characters. - Source. The code is on GitHub, GPL-3.0-only. The file you install is that source, built by the launcher on your computer.
What is different from the Java Edition mod
Horizon's native hook points cover the HUD, keys, commands and settings pages. They have no screens, and no buttons on the title or Multiplayer screens. So Serverify for Horizon shows its screen in your web browser and has no button in Multiplayer.
- The page lists Modrinth and three listing sites; the chat commands list Modrinth only. minecraft-list.info, the region filter, the well known servers, favorites and live ping are not part of it.
- You join from Horizon's own Multiplayer screen, after adding the server.
- Adding a server rewrites your server list file, which drops the hidden direct-join entries Horizon keeps. Your saved servers stay.
Troubleshooting
- Serverify is not in Options > Mods.
- Build the Native mods instance (Settings > Native mods > Build) and play that instance, not your normal one.
- F8 does nothing.
- Check that Serverify is switched on in Options > Mods, and that no other mod uses F8: rebind the key on Serverify's row.
/serverify weband the settings button do the same thing. - The page does not open.
- Type
/serverify web. The address is printed in chat: copy it into your browser. Open it from the same computer the game runs on. - The page says the game could not get the list.
- Check that you are online. Press Search again in a moment. A listing site that is down or has changed its pages is skipped, and the others still show. If it keeps failing, open an issue with your
logs/latest.log. - No servers show up.
- Clear the search and the category. Few servers match some categories while the offline-mode filter is on.
- I added a server and cannot see it.
- Close and reopen the Multiplayer screen so that it reads the list again.
- I cannot join a server I added.
- The server checks Minecraft accounts (online mode), and Horizon cannot sign in yet. Use servers that accept offline-mode players.
- The build fails after a Horizon update.
- Serverify uses only Horizon's stable hook points, so it should build on every Nightly. If it does not, open an issue with the launcher's build log.
For developers
The mod is a horizon-mixins bundle in horizon/serverify. It hooks native_tick, native_key, native_command, native_mods, native_settings and native_settings_click (hook points version 1) and builds on every Horizon that has them. The logic is plain Rust you can test on its own:
cargo test
python3 native/tools/native.py check /path/to/serverify
python3 native/tools/native.py package /path/to/serverifyThe last two commands run from a clone of horizon-mods. Horizon's guide to making a mod explains the rest.