Blog ·
Come vendere hosting Minecraft con MCSManager
MCSManager gestisce server di gioco senza richiedere Docker, su più nodi, da un unico pannello. Cosa offre, e cosa serve ancora sopra per venderli.
Di Provibr
L’hosting Minecraft è il punto di partenza della maggior parte delle attività di hosting di giochi, e per una buona ragione: la domanda è costante, i clienti sono pazienti con i piccoli fornitori, e la soglia tecnica fino al primo cliente pagante è davvero bassa. Il pannello su cui si comincia tende a essere quello che girava sull’hardware che si aveva.
MCSManager è quello su cui molti finiscono. È open source, è piccolo, si estende su più macchine, e (la proprietà che per molti è decisiva) non richiede Docker. Questo solo fatto lo colloca su hardware dove la famiglia Pterodactyl è poco pratica, e vale la pena capire perché prima di costruirci sopra un’attività.
Cosa è davvero MCSManager
Due pezzi, nella forma ormai standard: un pannello web e un daemon. Il pannello è l’interfaccia e il luogo in cui avviene l’amministrazione tra i nodi; il daemon gira su ogni macchina ed è ciò che effettivamente avvia, ferma e sorveglia i processi. Un pannello può parlare con molti daemon, quindi crescere significa aggiungere una macchina anziché mettere in piedi un secondo pannello.
È scritto in TypeScript (Node.js e Vue sul front, Node.js sui daemon), il che lo rende leggero da eseguire e facile da leggere se mai serve sapere esattamente cosa fa. Circa 4.800 stelle su GitHub al momento in cui scriviamo, sviluppato attivamente e tradotto in diverse lingue.
L’ambito è prima di tutto Minecraft, con i titoli basati su Steam accanto: Palworld, Terraria, Project Zomboid e il resto di quella famiglia. Se il suo catalogo è «Minecraft, più il gioco di sopravvivenza a cui tutti giocano quest’anno», ciò si mappa su MCSManager in modo pulito.
La questione Docker, e perché è decisiva
Pterodactyl e i suoi discendenti richiedono i container. È una scelta di progettazione difendibile (offre isolamento e limiti di risorse gratis), ma fissa anche un limite minimo su dove si può eseguire.
MCSManager supporta Docker senza imporlo. I server possono girare come semplici processi gestiti dal daemon. Tre conseguenze pratiche:
- Gira su hardware economico e scomodo. Un piccolo VPS in cui i container annidati sono sgradevoli, una macchina OpenVZ o LXC, una macchina riadattata in un ufficio: MCSManager funzionerà lì.
- Gira su Windows. Per un appassionato che si sta trasformando in un’attività, è spesso ciò che è realmente disponibile.
- Il prezzo è l’isolamento. Senza container, «il server di questo cliente ha mangiato tutta la RAM» non è automaticamente il problema di qualcun altro tenuto sotto controllo. Qualsiasi isolamento e limite si voglia, lo organizza lei: cgroups, utenti separati, macchine separate, o attivare Docker dopotutto.
Quest’ultimo punto è quello a cui pensare prima del suo decimo cliente anziché dopo. Far girare processi non isolati per persone che l’hanno pagata va bene con tre server ed è una cattiva idea con trecento. Il pannello le lascerà fare entrambe le cose.
Autenticazione e multiutente
MCSManager ha più utenti e chiavi API: una chiave viene generata per ogni utente ed è ciò che autentica l’accesso programmatico, e il daemon ha una propria chiave come unico mezzo per autenticare un pannello presso di sé.
Vale la pena chiarire a cosa serve quel modello: gli utenti di MCSManager sono persone che gestiscono server. Non sono clienti con abbonamenti. A un utente non è associato alcun piano, nessuna scadenza, nessun prezzo, nessuna fattura, e nulla che dica che un utente ha smesso di pagare. Se dà a ogni cliente un accesso al pannello, gli ha dato un account operatore sulla sua infrastruttura e sta tenendo traccia di chi le deve del denaro da tutt’altra parte.
Non è un difetto. È lo stesso in ogni pannello di gioco, compresi quelli per cui la gente spende soldi. È semplicemente la linea in cui il pannello finisce e la sua attività comincia.
Cosa richiede davvero la vendita
Il pannello le dà la metà macchina: creare un server, avviarlo, fermarlo, riavviarlo, arrivare a una console, eliminarlo. La metà commerciale è interamente da costruire o acquistare:
- Un modulo d’ordine e un catalogo, con piani che significano qualcosa in RAM, slot o storage.
- Un pagamento che effettua il provisioning entro pochi secondi. Nell’hosting di giochi questo non è un lusso: il cliente di solito è seduto con gli amici in attesa di entrare, e un ritardo di provisioning misurato in minuti è il modo in cui li si perde.
- Un percorso di sollecito: scaduto, avvisato, sospeso, ripristinato. La sospensione conta più qui che nel web hosting, perché un server di gioco lasciato in esecuzione consuma RAM di continuo per qualcuno che ha smesso di pagare.
- Una capacità visibile, così da sapere cosa si sta portando su tutti quei daemon prima che glielo dica la bolletta dell’hosting.
- Una traccia di audit, così che «chi ha eliminato quel mondo» abbia una risposta. Nell’hosting Minecraft in particolare, quella domanda viene posta, e la risposta deve valere più di un’alzata di spalle.
- Un modello di permessi per il suo personale, così che un volontario dell’assistenza possa riavviare un server senza poterne eliminare uno.
La maggior parte dei piccoli host Minecraft gestisce questa metà con un foglio di calcolo, un link di pagamento e molta buona volontà. Funziona finché non funziona più, e il fallimento è raramente drammatico: è un lento accumularsi di server che nessuno paga, di rimborsi che non si riescono a ricostruire, e di una sera al mese passata a fare i conti a mano.
Una nota pratica sul progetto stesso
MCSManager ha origine nella community di lingua cinese ed è ancora lì che si trova il suo centro di gravità. Il pannello è internazionalizzato come si deve ed esiste documentazione in inglese, ma quando si cerca una risposta approfondita (un caso limite nel protocollo del daemon, un’installazione insolita), il materiale più ricco e le risposte più rapide della community sono spesso in cinese. La traduzione automatica se la cava bene. Vale la pena saperlo prima di aver bisogno di assistenza a mezzanotte, anziché scoprirlo in quel momento.
Dove si inserisce Provibr
Il supporto per MCSManager è in produzione. Un agente all’interno della sua rete parla con il pannello web in http o https, così che né il pannello né i daemon dietro di esso debbano affacciarsi su internet. Creare, avviare, fermare, riavviare, sospendere e rimuovere istanze funziona, e ciò che è già sul pannello si può importare. Attorno a questo sta lo strato descritto sopra: piani e capacità a un prezzo unitario, un modello di permessi per il suo team, una traccia di attività completa, e un’API REST e un modulo WHMCS in modo che qualsiasi cosa con cui già fattura possa pilotarlo.
MCSManager distribuisce già una sola installazione su più daemon, quindi crescere significa aggiungere una macchina e non un secondo pannello. Provibr legge quell’elenco e colloca il nuovo server sulla memoria libera; se c’è più di un daemon e nessun valore predefinito, rifiuta anziché indovinare. Qui la sospensione è reale: MCSManager tiene giù da sé un’istanza scaduta, così che un cliente con accesso al pannello non possa riavviarla.
Ciò che l’integrazione non può fare è cancellare le lacune del pannello. Non c’è console, perché quella di MCSManager passa da socket.io, e non ci sono grafici d’uso, perché il pannello non li misura. Non c’è nemmeno una reinstallazione: MCSManager ricostruisce solo da un preset e Provibr costruisce da un comando di avvio. Senza Docker il pannello non impone alcun limite, e l’integrazione lo dice anziché fingere il contrario.
Cosa non farà
Gestire i server non è gestire il pannello. Installare MCSManager, aggiornarlo, aggiungere daemon, scegliere se usare Docker e prendersi cura delle macchine sottostanti resta a carico suo. Mondi, plugin, mod e backup restano nel pannello, dove lei e i suoi clienti continuano a usarli.
L’hosting di giochi raramente resta soltanto hosting di giochi. Provibr gestisce oggi i suoi pannelli di controllo, i suoi hypervisor e i suoi pannelli di gioco fianco a fianco, sotto un unico inventario, un unico modello di permessi e un’unica traccia di attività. Server Minecraft su un pannello, il VPS a cui un cliente passa su un altro, e un unico posto dove vede entrambi.