Ce dépôt rassemble plusieurs travaux visant à utiliser Mumble dans des contextes différents de ceux pour lesquels il a été initialement conçu. L’approche retenue consiste principalement à réimplémenter entièrement un serveur Mumble tout en restant compatible avec le protocole réseau des clients existants. Cette implémentation utilise cependant des structures de données et des représentations internes différentes, afin de permettre une personnalisation beaucoup plus poussée du comportement du serveur.
Note
La quasi-intégralité du code source a été réalisée à l’aide d’outils d’intelligence artificielle (voir l'avertissement IA).
Ce projet n’a pas vocation à fournir une couche de contrôle par-dessus l’actuel serveur officiel de Mumble, Murmur, ni à constituer une réimplémentation plus « performante » dans un autre langage.
L’idée générale est similaire à celle de Minestom, Bukkit ou SpigotMC, bien que l’implémentation soit davantage comparable à celle de Minestom : être entièrement compatible avec un client Mumble non modifié tout en fournissant une interface de programmation ergonomique permettant de personnaliser le comportement du serveur.
Le dépôt contient plusieurs composants logiciels :
-
Runtime : Ensemble de crates Rust permettant de construire un serveur Mumble personnalisé. Elles fournissent les composants de base, notamment le réseau, la cryptographie, le protocole et le routage, ainsi qu’un système de rendu et de réconciliation permettant de développer directement en Rust des applications haut niveau basées sur Mumble.
-
Control : Adaptateur générique et « opinionated » permettant de faire le lien entre une application métier et le contrôle réseau d’un serveur via gRPC, depuis plusieurs hôtes distincts (appelés « controllers »). Il fournit un crate Rust générique, un contrat gRPC ainsi qu’une implémentation de référence du client en Java.
-
Implementations : Ensemble d’implémentations de référence du serveur Mumble, distribuées sous forme de serveurs tout-en-un accompagnés de leurs clients respectifs. Il contient notamment l’implémentation basique « Spaces », ainsi qu’un SDK Java associé et un plugin Bukkit de démonstration.
Mumble Server Runtime is licensed under the Apache License, Version 2.0.
The protocol references and test vectors under runtime/references/vendored/ retain
their upstream licenses and provenance.
Mumble Server Runtime is an independent implementation of the Mumble protocol. It is not affiliated with or endorsed by the Mumble project.
Protocol compatibility work relies on the Mumble project's source code and
message schemas, developed by the Mumble Developers and distributed under a
BSD-style license. The excerpts and test vectors kept under
runtime/references/vendored/ retain the upstream copyright and license; see
runtime/references/vendored/LICENSE and
runtime/references/vendored/PROVENANCE.md.
Mumble Server Runtime was designed by a human and implemented almost entirely by AI coding agents. The author invested substantial time in product definition, software architecture, specifications, failure analysis, review criteria and verification, while delegating most of the implementation work to agents.
This may still be called "vibe coding", depending on how one defines the term. AI coding agents are becoming increasingly mature and capable, and Mumble Server Runtime was also an opportunity to explore what AI-assisted software development can look like on a substantial systems project.
That exploration was not unconstrained. The agents worked within detailed written specifications, explicit architectural boundaries, fail-closed safeguards, vendored protocol references, structural CI gates and an extensive test suite, including tests against real protocol and networking behavior. The author remained responsible for the design, specifications, architectural decisions and acceptance criteria, while delegating most of the implementation work to agents.
These boundaries and safeguards increase confidence in the implementation, but they do not guarantee its correctness. Mumble Server Runtime may still contain bugs, security issues, protocol incompatibilities or other unexpected behavior. The project is provided "as is", without warranties or guarantees of any kind.