= Hosting di server di gioco di base su Azure = Questa architettura di riferimento descrive in dettaglio i passaggi per configurare un back-end di Azure di base che ospiterà un server di gioco in Windows o Linux, utilizzando **Server Minecraft** come esempio. ![ Server Minecraft in esecuzione su una macchina virtuale di Azure](media/multiplayer/multiplayer-minecraft-server.png) == Diagramma dell'architettura == ![ Hosting di un singolo server di gioco in una macchina virtuale di Azure](media/multiplayer/multiplayer-basic-game-server-hosting.png) == Servizi pertinenti == - Macchine virtuali Windows di Azure e macchine virtuali Linux di Azure: il modo più semplice per ottenere potenza di calcolo in Azure. - Archiviazione su disco di Azure: archiviazione persistente di base. == Passo dopo passo == Il riepilogo dei passaggi da completare è: - Impostare un gruppo di risorse. - Configurare una macchina virtuale di Azure, collegare un disco permanente e aprire le porte. - Accedi alla nuova macchina virtuale di Azure in remoto tramite la porta di manutenzione. - Configurare il firewall del sistema operativo. - Inizializzare e formattare il disco dati persistente. - Installa le dipendenze del server di gioco. - Installa il server di gioco stesso. - Configura il server di gioco. - Esegui il server di gioco e ricontrolla che le porte siano aperte. Configurare un gruppo di risorse Un gruppo di risorse è una raccolta logica di risorse di Azure. Tutte le risorse vengono distribuite e gestite in un gruppo di risorse. Eseguire le operazioni seguenti per creare un gruppo di risorse: - Se non disponi di un abbonamento Azure, crea un account gratuito prima di iniziare. - Accedi al portale di Azure. - Nella barra di navigazione a sinistra, fai clic su Gruppi di risorse. Quindi fare clic su Aggiungi. -Digitare un nome univoco per il gruppo di risorse. Il sistema verifica immediatamente se il nome è disponibile nella sottoscrizione di Azure attualmente selezionata. - Nel Sottoscrizione, fare clic sul nome della sottoscrizione di Azure in cui si vuole creare il gruppo di risorse. - Selezionare una posizione geografica per il gruppo di risorse. - Clicca Creare. Configurare una macchina virtuale di Azure, collegare un disco permanente e aprire le porte Crea una risorsa e scegli una macchina virtuale con il sistema operativo su cui verrà eseguito il server di gioco. Cerca quanto segue nel portale di Azure, di solito sono tra i più popolari: Windows Linux Windows Server 2016 Datacenter o Windows Server 2016 VM Ubuntu Server 18.04 LTS o Ubuntu Server 18.04 VM Seleziona il Sottoscrizione di Azure, gruppo di risorse, nome della macchina virtuale e area. Scegli un tipo di macchina, un tipo di disco e una dimensione del disco che soddisfi le tue esigenze di risorse e I/O. Nel caso del server Minecraft, una piccola macchina virtuale di Azure come I B2 standard, con 2 CPU virtuali (vCPU) e 4 GB di RAM, andrebbero bene per meno di 10 utenti. Installa la macchina nome utente e password amministratore, per potervi successivamente accedere da remoto. Consenti il porte pubbliche in entrata per potersi connettere successivamente alla macchina virtuale come amministratore (porte di manutenzione), verranno successivamente abilitate le porte specifiche del server di gioco: Windows Linux Porta RDP (Remote Desktop Protocol): TCP/3389 Facoltativamente aggiungere la porta SSH: TCP/22 Porta SSH: TCP/22 Passa al sezione disks e selezionare crea e allega un nuovo disco dati vuoto alla macchina virtuale di Azure, per archiviare l'eseguibile del server di gioco e i file di dati che produce. Il tipo di origine è nessuno (disco vuoto). Le macchine virtuali di Azure hanno un disco del sistema operativo e un disco temporaneo per l'archiviazione a breve termine, ma le informazioni archiviate andranno perse non appena la macchina virtuale di Azure viene arrestata. Con un disco permanente, anche se la macchina virtuale di Azure che esegue il server è arrestata, i dati continueranno a persistere in seguito. Passa al sezione networking per abilitare le porte necessarie al tuo server di gioco per accettare le richieste dei giocatori e creare un IP pubblico. Per aprire le porte, dovrai sfruttare una rete virtuale, una subnet e un gruppo di sicurezza di rete (NSG). Sia la rete virtuale che la sottorete sono create di default, nel caso del server Minecraft non devi toccare nulla. Per creare il gruppo di sicurezza di rete, selezionare il pulsante di opzione per abilitare il gruppo di sicurezza di rete NIC avanzato, configurare il nuovo gruppo di sicurezza di rete (NSG) facendo clic sul collegamento "Crea nuovo"accanto ad esso e aggiungere la regola o le regole in entrata pertinenti. Nel caso di Minecraft è richiesta una sola porta, che varia in numero e protocollo a seconda dell'edizione di Minecraft (Java Edition, Bedrock Edition), la sorgente dei valori è il file server.properties, il cui formato è spiegato qui . Dopo aver fatto clic sul link "Aggiungi una regola in entrata", utilizza questi valori: Minecraft Java Edition Minecraft Bedrock Edition Origine Qualsiasi Qualsiasi Intervalli di porte di origine Destinazione Qualsiasi Qualsiasi Intervalli di porte di destinazione 25565 19132 Protocollo TCP Azione UDP Consenti Consenti Priorità 100 100 Nome MinecraftJava_Port MinecraftBedrock_Port Per creare l'IP pubblico, attenersi alla seguente procedura: fare clic sul collegamento "Crea nuovo"proprio accanto a questa impostazione e configurarlo con assegnazione statica. Esaminare e creare la macchina virtuale di Azure. Tieni presente che ci vorranno alcuni minuti per completare la distribuzione. Accedi alla nuova macchina virtuale di Azure in remoto tramite la porta di manutenzione Avrai bisogno dell'IP pubblico o del nome DNS per connetterti alla macchina virtuale di Azure, per trovarli segui questi passaggi: - Accedi al gruppo di risorse che hai creato. - Seleziona quindi la macchina virtuale che hai creato. - Il L'indirizzo IP pubblico o i campi del nome DNS sono ciò che stai cercando, o andrà bene. Per configurare il DNS, fare clic sul collegamento "Configura"sotto Nome DNS, assegnare un nome sotto l'etichetta del nome DNS e salvarlo. Successivamente, segui questi tutorial per accedere alla macchina virtuale di Azure da remoto: |Protocollo desktop remoto (TCP/3389SSH (TCP/22)| |Come utilizzare Desktop remoto||Secure Shell Protocol| Dopo esserti connesso alla macchina virtuale di Azure, puoi procedere con i passaggi rimanenti di seguito. Configurare il firewall del sistema operativo La tua macchina virtuale è già configurata per accettare richieste alle porte specifiche del server di gioco e di manutenzione, tuttavia il Anche il **firewall del sistema operativo** deve essere configurato. Segui questi tutorial per aprire le **porte necessarie al tuo server di gioco** per accettare le richieste dei giocatori. |Finestre||Linux| |Crea una regola per la porta in entrata su Windows Server 2016||Firewall semplificato di Ubuntu | Ad esempio nel caso di Minecraft i comandi sarebbero: - - Nel caso dei server Minecraft, ricordiamo che le porte predefinite variano a seconda della versione del gioco: Minecraft Java Edition utilizza TCP/25565 mentre Minecraft Bedrock Edition utilizza UDP/19132. Inizializza e formatta il disco dati persistente |Finestre||Linux| |Usa Gestione disco (diskmgmt.msc) | Per aprire Gestione disco, fare clic con il pulsante destro del mouse sul pulsante Start e selezionare Gestione disco. Si noti che il disco 2 non è allocato, ovvero il disco persistente che deve essere inizializzato e formattato. |Connettiti alla VM Linux per montare il nuovo disco | Prevede i seguenti passaggi: 1. Alla scoperta del disco 2. Partizionarlo 3. Scrivere un file system su di esso 4. Montarlo in una directory 5. Impostazione del montaggio automatico dopo il riavvio Installa le dipendenze del server di gioco Nel caso del server Minecraft, le dipendenze sono: |Edizione server Minecraft||Finestre||Linux| |Minecraft Java Edition||Java 8 versione a 64 bit||Installazione di Java 8 su Ubuntu| |Minecraft Bedrock Edition||Microsoft Visual C++ ridistribuibile per Visual Studio||N/D| Installa il server di gioco stesso Crea una cartella nel disco permanente che hai appena formattato. Scarica e installa lì il server di gioco. Nel caso del server Minecraft i link per il download sono: Minecraft Java Edition Minecraft Bedrock Edition Link per il download Link per il download Se si accede alla macchina virtuale di Azure tramite SSH: - controlla la documentazione del comando Wget per sapere come utilizzare un downloader di rete non interattivo. - installa unzip eseguendo sudo apt-get install decomprimi e quindi esegui sudo unzip THEZIPFILEper poter decomprimere il server Minecraft Bedrock Edition. Configura il server di gioco Nel caso del server Minecraft Java Edition, prima modifica il parametro del file eula.txt (eula=true) per accettare il loro EULA. Se si accede alla macchina virtuale di Azure tramite SSH, consultare la documentazione dell'editor Nano per modificare i file tramite SSH. Segui questo tutorial dal wiki ufficiale di Minecraft per configurare il server Minecraft per entrambe le edizioni del server Minecraft. Esegui il server di gioco e ricontrolla che le porte siano aperte Per eseguire il server Minecraft Java Edition, utilizzalo dalla riga di comando (Windows) o dal terminale (Linux): java -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -jar server.jar nogui Se vuoi avviare il server con la sua interfaccia utente grafica puoi tralasciare la parte "nogui". È possibile creare un file batch (Windows) o uno script (Linux) per comodità. Per eseguire il server Minecraft Bedrock Edition: - su Windows, basta fare doppio clic sul file bedrock_server.exe eseguibile. - su Linux, usa LD_LIBRARY_PATH=. ./bedrock_server dalla directory in cui è stato installato il server. Il server non deve essere eseguito come root. Se stai utilizzando Minecraft Java Edition, una volta che il server è in esecuzione, puoi verificare che le porte necessarie per il tuo server di gioco siano aperte e in ascolto. Tuttavia, assicurati che il server di gioco sia in esecuzione prima del test: |Test da||Windows||Linux| |Dentro la macchina virtuale di Azure||Esegui |ascoltando |Corri | |All'esterno della macchina virtuale di Azure||1. Abilita Telnet seguendo questi passaggi: fai clic su Start, Pannello di controllo, Programmi, quindi Attiva o disattiva le funzionalità di Windows; quindi scorri verso il basso e seleziona Telnet Client e fai clic su OK | 2. Successivamente, dalla riga di comando, esegui accettato |Esegui |accettato Se stai usando Minecraft Bedrock Edition: |Test da||Windows||Linux| |Dentro la macchina virtuale di Azure||Esegui ||Corri | == Considerazioni sulla sicurezza == Le porte pubbliche in ingresso sono esposte a Internet, pertanto è necessario usare i controlli avanzati del portale di Azure per limitare il traffico in ingresso di manutenzione agli indirizzi IP noti, il che significa che solo tu puoi accedere alla macchina virtuale di Azure in remoto. == Prezzo == Se non hai una sottoscrizione di Azure, crea un account gratuito per iniziare con 12 mesi di servizi gratuiti. Non ti vengono addebitati i servizi inclusi gratuitamente con l'account Azure gratuito, a meno che non superi i limiti di questi servizi. Informazioni su come controllare l'utilizzo tramite il portale di Azure o tramite il file di utilizzo. Sei responsabile del costo dei servizi di Azure usati durante l'esecuzione di queste architetture di riferimento, l'importo totale dipende dal numero di eventi che verranno eseguiti tramite la pipeline di analisi. Consulta le pagine Web dei prezzi per ciascuno dei servizi utilizzati nelle architetture di riferimento: Hai anche a disposizione il calcolatore dei prezzi di Azure, per configurare e stimare i costi per i servizi di Azure che intendi utilizzare. == Feedback == Invia e visualizza feedback per