Esegui il tuo server Minecraft senza un provider cloud

Configurare un server Minecraft è facile. Tenerlo online è la parte in cui le cose si complicano.
Se vuoi un mondo a cui i tuoi amici possano unirsi, ti serve un posto in cui far girare il server. Tradizionalmente, significa ospitarlo sulla tua macchina, affittare un VPS o pagare un servizio di hosting dedicato a Minecraft.
Ma un server Minecraft, in fondo, è solo software che ha bisogno di calcolo, rete e tempo sufficiente per girare. Quindi ci sono più modi per ospitarlo in autonomia rispetto alle opzioni tradizionali descritte sopra.
In questa guida farai il deploy di un server Minecraft su uno smartphone connesso (Processor) della rete Acurast. Per farlo userai la funzionalità per sviluppatori ‘Cargo’, il runtime di Acurast basato su Linux. Configurerai il deployment, avvierai il server, lo esporrai alla tua rete locale e ti collegherai direttamente da Minecraft.
Alla fine avrai un mondo Minecraft giocabile in esecuzione su un Processor Acurast.
Anche Minecraft è un carico di lavoro di calcolo
Minecraft probabilmente non è la prima applicazione che viene in mente pensando al calcolo decentralizzato. Ed è proprio questo a renderlo un esempio interessante.
Un server Minecraft ha molti degli stessi requisiti di altre applicazioni. Ha bisogno di un runtime, di connettività di rete, di un’esecuzione persistente e di risorse di calcolo sufficienti per servire gli utenti. Tradizionalmente, questi requisiti portano gli sviluppatori verso l’infrastruttura cloud.
Ma non è detto che debba essere così.
Acurast offre una rete globale e decentralizzata di Processor in cui le applicazioni possono girare su risorse di calcolo distribuite, invece di affidarsi esclusivamente ai server cloud tradizionali.
Tutto questo diventa molto più potente con Codename Cargo, il passaggio di Acurast da un runtime incentrato su Node.js a container completi basati su Linux.
Cargo permette agli sviluppatori di eseguire software creato con Python, Go, Rust, C++ e altre tecnologie che funzionano su Linux. Rende anche possibile il deploy di applicazioni che sarebbe stato difficile far girare nell’ambiente precedente.
Compreso Minecraft.
L’esempio di Minecraft è quindi più di un esperimento per far girare un server di gioco. È un modo semplice per mostrare cosa diventa possibile quando i Processor decentralizzati possono eseguire carichi di lavoro Linux di uso generale.
Deploy di Minecraft su Acurast
Acurast mette a disposizione un’applicazione di esempio per Minecraft in cui gran parte della configurazione necessaria è già pronta. Così puoi concentrarti soprattutto sulla configurazione e sull’avvio del deployment.
Passaggio 1: apri l’app di esempio Minecraft
Inizia scaricando il repository Acurast Example Apps e vai alla cartella App Cargo Minecraft.
Il progetto contiene gli script e la configurazione necessari per preparare il server Minecraft e creare il tunnel che lo rende accessibile.
Quasi nulla di tutto questo va modificato.
L’esempio è già configurato per gestire la configurazione sottostante, quindi la cosa principale da fornire è la configurazione del tuo deployment.
Passaggio 2: configura il deployment
Apri la configurazione dell’ambiente e inserisci i valori richiesti.
Il primo è la tua frase mnemonica Acurast. Autorizza il deployment e serve a pagare le relative commissioni di rete.
Poi configura una password SSH.
In circostanze normali non dovresti aver bisogno di collegarti via SSH al Processor, perché il deployment di Minecraft è automatizzato. Conviene comunque configurare l’accesso, perché ti dà un modo per risolvere i problemi sul Processor se qualcosa non funziona come previsto.
Ti servirà anche un URL di callback.
Acurast usa questo endpoint per restituire le informazioni quando il deployment diventa disponibile. Per un semplice test, un servizio webhook può fornire un endpoint che riceve le informazioni generate sul deployment.
Il deployment può restare configurato per la mainnet.
A seconda della versione attuale dell’applicazione di esempio, potresti vedere anche un’opzione per un suffisso di dominio. Serve a esporre il deployment verso l’esterno. Acurast sta lavorando per rendere questo processo più automatico, quindi questa configurazione potrebbe cambiare con l’evoluzione di Cargo.
Passaggio 3: controlla acurast.json
Prima del deploy, vale la pena dare una rapida occhiata alla configurazione acurast.json.Questo file controlla parametri aggiuntivi del deployment, tra cui per quanto tempo il carico di lavoro deve restare attivo. Per esempio, per un test veloce potresti configurare il server Minecraft perché resti attivo quattro ore.
Per una sessione di gioco più lunga o un server a cui gli amici si uniranno regolarmente, dovrai adeguare di conseguenza la durata del deployment. Assicurati anche che il deployment sia destinato alla versione di Android richiesta, perché gli ambienti dei Processor più vecchi potrebbero non avere tutte le funzionalità necessarie all’esempio di Minecraft.
Fatto questo, sei pronto per il deploy.
Avvio del server Minecraft
Dalla directory del progetto, esegui:
acurast deploy
La CLI di Acurast ti guida nel resto del processo di deployment.
Prima di confermare il deployment vedrai i suoi parametri e la relativa commissione. Se necessario, puoi modificare la commissione prima di inviarlo.
Una volta confermato, Acurast inizia a cercare e preparare un Processor per il carico di lavoro.
Da qui, la maggior parte del lavoro avviene in automatico. Il Processor prepara l’ambiente, installa i componenti necessari, scarica il server Minecraft, lo avvia e stabilisce il tunnel usato per raggiungere il deployment. Dopo qualche minuto il server dovrebbe essere pronto.
Verificare che tutto sia in esecuzione
I log del deployment ti danno una vista utile su ciò che succede sul Processor.
All’avvio del deployment vedrai i diversi componenti che vengono installati e inizializzati.
A un certo punto i log mostreranno che il server Minecraft è partito e che il tunnel è connesso. Forniranno anche le informazioni di connessione necessarie per il passaggio successivo.
A questo punto Minecraft è in esecuzione da remoto su un Processor Acurast.
Resta solo da renderlo accessibile al client.
Collegare Minecraft al server
C’è un ulteriore passaggio di rete. Per il modo in cui il client di Minecraft gestisce porte e certificati, l’esempio usa un comando che espone il server Minecraft remoto alla tua rete locale.
Esegui il comando fornito dal deployment.
Ti verrà chiesta la password SSH configurata in precedenza. Una volta autenticato, la connessione viene stabilita e il server Minecraft diventa disponibile in locale.
Ora apri Minecraft.
Scegli Aggiungi server e inserisci le informazioni del server fornite dal deployment.
Salva il server.
Se tutto è configurato correttamente, Minecraft dovrebbe iniziare subito a recuperarne le informazioni.
Clicca su connetti.
Ora stai giocando in un mondo Minecraft in esecuzione su un Processor Acurast.
Invita i tuoi amici
Una volta che il server è in esecuzione, la stessa configurazione può servire a creare un ambiente multigiocatore. Invece di tenere il mondo sul tuo computer, il server di gioco gira da remoto per tutta la durata del deployment Acurast.
Condividi i dettagli di connessione con i tuoi amici e potranno unirsi allo stesso mondo.
C’è un aspetto pratico da tenere a mente: la posizione conta. Un server di gioco è sensibile alla latenza. Se sei in Europa occidentale e il Processor che ospita il tuo server Minecraft è molto più lontano, potresti notare un po’ di lag. Un Processor più vicino ai giocatori dovrebbe in genere offrire un’esperienza migliore. Per molte applicazioni, qualche millisecondo in più si nota appena.
Quando cerchi di seminare un Creeper, contano parecchio di più.
Più di un server Minecraft
Fare il deploy di Minecraft è divertente, ma la parte più interessante è ciò che l’esempio rappresenta.
Un server Minecraft non è un’applicazione blockchain progettata ad hoc. Non è una piccola funzione JavaScript scritta apposta per un runtime decentralizzato limitato. È un’applicazione esistente che ha bisogno di un ambiente Linux e di risorse di calcolo.
E può girare su Acurast.
È questo il cambiamento più ampio introdotto da Cargo.
Il passaggio a carichi di lavoro basati su container Linux amplia ciò di cui gli sviluppatori possono fare il deploy sulla rete Acurast. I server di gioco sono un esempio, ma lo stesso modello apre le porte allo storage a oggetti, a servizi di backend, API, strumenti per sviluppatori, piattaforme di automazione, agenti IA e altre applicazioni tradizionalmente ospitate su infrastrutture centralizzate.
La domanda diventa meno:
“Cosa si può costruire appositamente per il calcolo decentralizzato?”
E più:
“Quale software si può far girare sul calcolo decentralizzato?”
Minecraft offre una risposta sorprendentemente valida.
Parecchio.
Guarda il video tutorial completo
Questa guida copre il processo di deployment principale, ma il video che la accompagna mostra l’intera configurazione passo dopo passo sullo schermo.
Vedrai come configurare l’applicazione di esempio di Minecraft, farne il deploy con la CLI di Acurast, seguire i log del Processor, stabilire la connessione locale ed entrare nel mondo Minecraft risultante.
Segui il video e prova a fare il deploy del tuo server Minecraft su Acurast.
Poi invita qualche amico.


