Features
One command to play
/play skywars sends players to a game with room. /server picks a specific one.
Secure by default
Every move between servers is checked, so players can't fake one.
Servers join on their own
New servers show up in the network by themselves, with Redis or Cloudflare.
Full games, even lobbies
Fill the busiest game that still has room, or spread players evenly over lobbies.
Keeps working when things break
If Redis or Cloudflare goes down, players can still move.
No proxy, no database
Uses Hytale's own server transfers. One settings file is enough to start.
How it works
Hytale moves a player by telling their game to connect to another server. Link chooses that server and adds a pass, so the server on the other end knows the move is real.
- 1
Link picks a server.
A player types /play skywars. Link looks at your SkyWars servers and picks one with room.
- 2
The player gets a pass.
The pass says who the player is and where they are going, and it expires after 30 seconds. Hytale moves the player and the pass goes with them.
- 3
The other server checks it.
Real, for this player, for this server and not used before? They are in. If not, Link treats it as a normal join, or sends them to your lobby if you switch that on.
Installation
- 1
Download the jar from the releases page and put it in the mods folder of every server.
- 2
Start each server once. Link creates its settings file, mods/Link_Link/link.json.
- 3
List all your servers in that file and copy it to every server. Only serverId is different on each one.
- 4
Restart, then type /servers in game to see your network.
mods/Link_Link/link.json
{
"serverId": "lobby-1",
"backend": "static",
"secret": "generated on first boot",
"servers": [
{ "id": "lobby-1", "group": "lobby", "host": "play.example.com", "port": 5520 },
{ "id": "sw-1", "group": "skywars", "host": "play.example.com", "port": 5521 }
]
}Choose how your servers find each other
To move players around, each server needs to know about the others. Pick one of these. You can change it later.
-
A shared settings file default
Type your servers into link.json and copy it to every server. Nothing else to set up. Good for a handful of servers.
-
Redis
Servers add themselves to your Redis database, and Link sees how busy each one is. Good if you already run Redis.
-
Cloudflare free
Like Redis, but hosted for you on a free Cloudflare account. It runs as a Cloudflare Worker with a Durable Object to store the list. Set up in one click, nothing to run yourself.
For plugin developers
Your own plugins can move players through Link's Java API. If a move can't happen, you get a message you can show the player.
// send a player to one server
LinkPlugin.send(player, "sw-1");
// or into a specific world there
LinkPlugin.send(player, "farm-1", "farm-42");
// or let matchmaking pick
LinkPlugin.play(player, "skywars"); Supported games
Supported. Uses Hytale's built-in server transfers, so there is no proxy to run.
planned Planned, using the server transfers Minecraft added in 1.20.5. Also without a proxy.
Ready for a whole network?
HiveScale runs everything between your servers, so you only run the games. Made by the team behind Link.
From €5 a month. Link stays free.
- Player data that follows players to every server
- Bans and mutes that apply across the whole network
- A separate security key for every server
- A dashboard for your servers and players
FAQ
- Is it free?
- Yes. Link is open source, has no account or sign-up, and does not send any data to us.
- Do I need a proxy?
- No. Hytale can move players between servers by itself. Link decides where they go and checks that the move is real.
- Can a player fake a move to a server they shouldn't reach?
- No. The pass is locked to one player and one server, expires after 30 seconds and works once.
- What does Link not protect against?
- All your servers share one key. If one of them is hacked, it could let players into the others. That is fine when you run every server yourself. If you don't, HiveScale gives each server its own key.
- Does it work with Minecraft?
- Not yet. It is planned, using the server transfers Minecraft added in version 1.20.5.
Contributing
Link is developed in the open. Bug reports, ideas and pull requests are welcome on GitHub.