I've been playing minetest for a while now, and I think the game lacks a way for players to easily switch servers, or simply interact with said servers.
The "master server" is a concept that has been largely used and implemented in several multiplayer games (of any type, e.g. FPS), and although the concept is really easy to understand, I thought I would write a small protocol.
The protocol draft
This protocol is a text protocol, it is human readable and parser-friendly, and proposes the following features:
- Centralized player authentication
- Central blacklist (game servers can make their own blacklist off of the master server's)
- Players will be able to find a server to play on directly from the game, without knowing its IP address
- Web services can be built on top of the master server's external commands (JSON output): player stats, map stats, world stats…
Here's a few suggestions of features that could be using this draft, and/or added to the game:
- A built-in servers browser (with a scrolling bar) that displays a list of servers with their names, free slots, amount of players…
- A login form to centralize authentication
- An in-game players panel that displays a list of the players actually on the server with their names, health, inventory…
- An in-game informations panel that would give info about the world (name, number of blocks/chunks…) and the server (name, uptime…)
- A web interface that displays informations about all the servers registered to the master server
- A web search form that would find a player online
- A web form that would generate a blacklist off of the master server's
I don't think I'll have time to implement this any soon, but feel free to discuss this feature.