Panneau d'administration · serveur Minecraft moddé

Du chaos d'un serveur moddé,
un seul poste de commande.

Des dizaines de mods éparpillés sur trois launchers, une console RCON, des scripts KubeJS, des essaims d'entités, des erreurs sans retour arrière. ChaosOrder réunit tout ça dans une interface locale unique — et range le désordre.

chaos assemblage… ordre
des blocs dispersés qui trouvent leur place
2stores unifiés — Modrinth + CurseForge, une seule recherche
1magasin partagé — lié par symlinks, zéro copie dupliquée
8onglets d'administration — de la recherche à l'historique
127.0.0.1local par construction — aucune IP publique acceptée
Le panneau

Un panneau, huit terrains.

Chaque onglet remplace un outil éparpillé — un launcher, un client RCON, un éditeur de scripts, un fichier de bans. Tout au même endroit, tout journalisé, tout réversible quand c'est possible.

chaosorder · 127.0.0.1:8765 serveur en ligne

Rechercher & installer

Une recherche, les deux stores. Installation dans le magasin partagé, liée à chaque client activé.

S
SodiumOptimisation moderne du rendu
Modrinth
C
CreateMachines, contraptions & automatisation
CurseForge
J
Just Enough ItemsRecettes & index des objets
Modrinth

Installés

Le magasin partagé, filtré. Activer/désactiver renomme le fichier — pas besoin de désinstaller pour mettre de côté.

ModsResourcepacksShaderpacksDatapacks1.21.1NeoForge
S
Sodiumactivé · lié à Prism + serveur
C
Createactivé · mise à jour disponible
↑ 0.6.1
O
Oculusdésactivé · .disabled

Console RCON

Commandes RCON et flux de logs en direct (SSE), sans ouvrir un terminal SSH.

12:04:02 [INFO] Steve a rejoint la partie
12:04:18 [WARN] Can't keep up! Skipping 42 ticks
12:05:01 say Redémarrage dans 5 min
12:05:01 [INFO] [Serveur] Redémarrage dans 5 min
whitelist add Alex
12:05:14 Alex ajouté à la liste blanche

Tableau de bord

L'état du serveur en un coup d'œil, et les commandes vitales à portée.

TPS
19.8
Mémoire
6.2 / 12 Go
Joueurs
3 / 20

Joueurs

Liste blanche, opérateurs et bannis. Les mutations passent par RCON — le serveur résout le pseudo en UUID lui-même.

Liste blanche 3

Steve
Alex
Notch

Opérateurs 1

Steve

Bannis 2

Griefer42
x_botspam_x

Scripts KubeJS

Éditeur Monaco vendorisé localement, complétion calibrée sur les typings réels générés par ProbeJS.

server_scripts / welcome.js↻ recharge à chaud
1
2
3
4
5
// souhaite la bienvenue aux nouveaux joueurs ServerEvents.playerJoined(event => { const { player } = event player.tell(`Bienvenue sur le serveur, ${player.name} !`) })

Nettoyage d'entités

Tuer un type d'entité, avec zone optionnelle et confirmation obligatoire.

Type zombie zone x 128z -340 rayon 64
le type player est bloqué explicitement, jamais utilisable même par erreur.

Historique

Chaque action mutante est journalisée. « Annuler » rejoue l'action inverse via les mêmes fonctions — donc les mêmes validations.

Activé le mod « Sodium »12:06 · store → prism, serveur
Banni « Griefer42 »11:58 · via RCON
Op accordé à « Steve »11:40 · via RCON
L'ordre

Quatre principes qui empêchent le désordre de revenir.

Rien de tout ça n'est un réglage : c'est la manière dont l'outil est construit. Le désordre n'a pas d'endroit où s'installer.

01

Un magasin, des liens

Chaque mod est installé une seule fois dans un magasin partagé, puis lié par symlinks vers Prism, Modrinth App, CurseForge App et le serveur. Jamais deux copies du même fichier.

02

Activer n'est pas désinstaller

Désactiver ajoute le suffixe .disabled au fichier réel — la convention native reconnue par les loaders. On met un mod de côté sans jamais le perdre.

03

Tout se rejoue à l'envers

L'historique annule chaque action mutante — mods, bans, ops, scripts — en réappliquant son inverse par les mêmes fonctions que l'action d'origine. Aucun raccourci, mêmes garde-fous.

04

Rien n'est câblé

Aucun pack en dur dans le code : tout vient de config.json. Le même binaire pilote n'importe quelle instance NeoForge, du serveur perso au gros modpack.

Sécurité

Un outil qui peut tout changer se garde tout seul.

Mods, joueurs, scripts, entités : ChaosOrder a la main sur beaucoup. Sa réponse n'est pas la confiance, c'est la contrainte — locale, authentifiée, sans dépendance externe.

  • Local par construction

    Le service écoute sur 127.0.0.1:8765. Toute IP publique routable est refusée dans le code, pas simplement déconseillée. Pour l'accès distant : derrière Tailscale ou WireGuard, jamais nu sur Internet.

  • Derrière une frontière d'auth

    Mot de passe haché en Argon2id, TOTP optionnel, session HttpOnly · SameSite=Strict de 7 jours glissants. Les tentatives ratées déclenchent un recul exponentiel, pas un simple compteur.

  • Zéro cloud, zéro CDN

    L'éditeur Monaco est vendorisé localement, aucune ressource tierce chargée. Ce que tu héberges tourne entièrement chez toi.

mc-service --setup-auth
mot de passe (12 caractères min.) : ••••••••••••
secret TOTP généré
otpauth://totp/ChaosOrder?secret=…
identifiants rangés · ~/.config/…/auth.json · chmod 600
mc-service
écoute sur 127.0.0.1:8765
Auto-héberger

Local d'abord. Quatre étapes, ton serveur.

ChaosOrder est un outil que tu fais tourner chez toi, à côté de ton serveur. Rien à créer comme compte en ligne, aucune donnée qui sort.

  1. ConfigurerCopie config.example.json vers config.json et pointe-le sur ton instance Prism et ton serveur.
  2. Compiler le servicecargo build --release -p mc_service — un seul binaire, mc-service.
  3. Poser l'authentificationmc-service --setup-auth — mot de passe + TOTP, en ligne de commande, jamais via le web.
  4. Lancermc-service puis ouvre http://127.0.0.1:8765. Tant qu'aucun compte n'existe, tout reste verrouillé.
En container ? Une image Docker officielle et un amorçage déclaratif de l'authentification existent pour un déploiement reproductible — expose-la derrière un maillage chiffré (Tailscale/WireGuard), pas directement sur Internet.