
Minecraft oggi è uno dei giochi online più popolari. In meno di tre anni (il primo rilascio ufficiale è avvenuto nell'autunno del 2011) ha guadagnato milioni di fan in tutto il mondo.
Gli sviluppatori del gioco si orientano deliberatamente verso i migliori esempi di vent'anni fa, quando molti giochi, secondo gli standard attuali, apparivano primitivi dal punto di vista grafico e incompleti dal punto di vista dell'usabilità, ma allo stesso tempo riuscivano a catturare davvero l'attenzione.
Come in tutti i giochi sandbox, Minecraft offre all'utente enormi possibilità creative, ed è proprio questo il segreto della sua popolarità.
L'organizzazione dei server di gioco in modalità multiplayer è gestita dai giocatori stessi e dalle loro comunità. Oggi, su Internet, operano decine di migliaia di server di gioco (vedi, ad esempio, la lista qui).
Numerosi fan di questo gioco sono anche tra i nostri clienti, e noleggiano nei nostri data center attrezzature per progetti di gioco. In questo articolo parleremo di quali aspetti tecnici prestare attenzione nella scelta di un server per
Minecraft.
Scegliamo la piattaforma
La composizione del gioco Minecraft include i seguenti elementi architettonici:
- server – un programma con cui i giocatori interagiscono tra loro in rete;
- client – un programma per connettersi al server, installato sul computer del giocatore;
- plugin – estensioni del server che aggiungono nuove funzionalità o ampliano quelle esistenti;
- mod – espansioni del mondo di gioco (nuovi blocchi, oggetti, possibilità).
Per Minecraft esistono molte piattaforme server. Le più comuni e popolari sono Vanilla e Bukkit.
Vanilla è la piattaforma ufficiale degli sviluppatori del gioco. È disponibile sia in versione grafica che in console. La nuova versione di Vanilla esce sempre contemporaneamente alla nuova versione di Minecraft.
Un inconveniente di Vanilla è l'eccessivo consumo di memoria (circa 50 MB per ogni giocatore). Un'altra significativa limitazione è l'assenza di plugin.
Bukkit è stato creato da un gruppo di appassionati che hanno tentato di migliorare il server ufficiale di Minecraft. Il tentativo è stato piuttosto fortunato: per funzionalità, Bukkit è molto più ampio rispetto a Vanilla, principalmente grazie al supporto di una varietà di mod e plugin. Inoltre, consuma meno memoria per ogni giocatore, circa 5-10 MB.
I contro di Bukkit risiedono nel fatto che all'avvio consuma troppa memoria RAM. Inoltre, più a lungo il server è attivo, più memoria richiede (anche se ci sono pochi giocatori). Scegliendo di utilizzare Bukkit come server, è importante tenere a mente che le sue nuove versioni contengono spesso bug; la versione stabile di solito appare circa 2-3 settimane dopo l'uscita della versione ufficiale di Minecraft.
Inoltre, recentemente sono in crescita altre piattaforme (come Spout, MCPC e MCPC+), ma queste presentano una compatibilità limitata con Vanilla e Bukkit e un supporto mod estremamente ridotto (ad esempio, per Spout si possono scrivere mod da zero). Se devono essere utilizzate, è solo per esperimenti.
Per organizzare un server di gioco, consigliamo di utilizzare la piattaforma Bukkit, poiché offre la massima flessibilità; inoltre, esiste un'ampia varietà di mod e plugin per essa. Il funzionamento stabile del server Minecraft dipende in gran parte dalla scelta oculata della piattaforma hardware. Approfondiamo questo aspetto.
Requisiti hardware
Sia il server che il client di Mineсraft richiedono molte risorse di sistema.
Quando si sceglie una piattaforma hardware, è importante notare che una CPU multi-core non offre molti vantaggi: il core del server Minecraft può utilizzare solo un flusso di calcolo. Tuttavia, un secondo core non sarebbe superfluo: alcuni plugin vengono eseguiti in thread separati e anche Java consuma molte risorse...
Quindi per Minecraft-server è meglio scegliere una CPU con una maggiore performance di un singolo core. Una CPU dual-core più potente sarà preferibile rispetto a una multi-core meno potente. Nei forum specializzati, si consiglia di utilizzare processori con una frequenza di clock non inferiore a 3GHz.
Per il corretto funzionamento del server Minecraft è necessaria una grande quantità di memoria RAM. Bukkit occupa circa 1 GB di RAM; inoltre, per ogni giocatore, come già detto sopra, sono riservati da 5 a 10 MB. Anche i plugin e i mod consumano abbastanza memoria. Pertanto, per un server con 30-50 giocatori, sarà necessario avere almeno 4 GB di RAM.
In Minecraft molto dipende dalla velocità del file system, ad esempio, il caricamento degli stessi plugin. È quindi preferibile scegliere un server con un'unità SSD. I dischi rigidi meccanici difficilmente saranno adatti a causa della bassa velocità di lettura casuale.
Anche la velocità della connessione a Internet è di grande importanza. Per un gioco con 40-50 persone sarà sufficiente una banda di 10 Mb/s. Tuttavia, per chi prevede un progetto Minecraft più ampio, comprensivo di sito web, forum e mappa dinamica, è fortemente consigliabile avere una connessione con una maggiore larghezza di banda.
Quale configurazione specifica scegliere? Delle configurazioni che offriamo consigliamo di prestare attenzione alle seguenti:
- Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2×500GB SATA, 3000 руб/mes.;
- Intel Core 2 Quad Q8300 2.5GHz, 6GB RAM, 2×500GB SATA, 3500 руб/mes. — questa configurazione la utilizziamo per il nostro server di test MineCraft, dove puoi giocare proprio ora (come farlo è spiegato di seguito);
- Intel Core i3-2120 3.3GHz, 8GB RAM, 2×500GB SATA, 3500 руб/mes.
Queste configurazioni sono perfette per creare un server Minecraft per 30-40 giocatori. Un po' di svantaggio è l'assenza di dischi SSD, ma offriamo un altro vantaggio importante: una connessione garantita di 100 Mb/s senza alcuna limitazione o rapporto. Non viene addebitato alcun pagamento iniziale per tutte le configurazioni sopra elencate.
Abbiamo anche server più potenti, ma naturalmente più costosi (per queste configurazioni non viene addebitato alcun pagamento iniziale):
- 2x Intel Xeon 5130, 2GHz, 8GB RAM, 4×160GB SATA, 5000 руб/mes;
- 2x Intel Xeon 5504, 2GHz, 12GB RAM, 3×1TB SATA, 9000 руб/mes.
Consigliamo inoltre di prestare attenzione al nuovo modello economico con un'unità SSD basata sul processore Intel Atom C2758: Intel Atom C2758 2.4GHz, 16GB RAM, 2×240GB SSD, 4000 руб/mes., pagamento iniziale — 3000 руб.
Installazione e avvio del server Bukkit su OC Ubuntu
Prima di installare il server, creiamo un nuovo utente e aggiungiamolo al gruppo sudo:
$ sudo useradd -m -s /bin/bash $ sudo adduser sudo
Successivamente, imposteremo la password con cui l'utente appena creato si connetterà al server:
$ sudo passwd
Riconnettiamoci al server con il nuovo account e iniziamo l'installazione.
Minecraft è scritto in Java, quindi è necessario installare Java Runtime Environment sul server.
Aggiorniamo l'elenco dei pacchetti disponibili:
$ sudo apt-get update
Quindi eseguiamo il seguente comando:
$ sudo apt-get install default-jdk
Per installare e avviare Bukkit, è consigliabile installare anche un multiplexer per terminale, ad esempio, screen (è possibile utilizzare anche altri multiplexer per terminale - vedi il nostro panoramica):
$ sudo apt-get install screen
Screen sarà necessario se ci connettiamo al server di gioco tramite ssh. Con esso sarà possibile avviare il server Minecraft in una finestra di terminale separata e anche dopo la chiusura del client ssh il server continuerà a funzionare.
Creiamo una directory in cui verranno archiviati i file del server:
$ mkdir bukkit $ cd bukkit
Dopo di che andremo alla pagina di download del sito ufficiale di Bukkit. Nella parte superiore destra della pagina, puoi vedere un link per l'ultima versione raccomandata del server (versione consigliata). Ti consigliamo di scaricarla:
$ wget
Ora avviamo screen:
$ sudo screen
ed eseguiamo il seguente comando:
$ java -Xmx1024M -jar craftbukkit.jar -o false
Spieghiamo cosa significano i parametri utilizzati:
- Xmx1024M - la quantità massima di memoria RAM per il server;
- jar craftbukkit.jar - chiave per il server;
- o false - consente l'accesso al server da client pirata.
Il server verrà avviato.
Per fermare il server, puoi digitare il comando stop nella console.
Configurazione e impostazione del server
Le impostazioni del server sono memorizzate nel file di configurazione server.properties. Contiene i seguenti parametri:
- generator-settings - imposta il modello di generazione del mondo superfluo;
- allow-nether - determina se è possibile accedere al Nether. Per impostazione predefinita, questo parametro è impostato su true. Se è impostato su false, tutti i giocatori dal Nether verranno spostati nel mondo normale;
- level-name — il nome della cartella contenente i file della mappa, che sarà utilizzata durante il gioco. La cartella si trova nella stessa directory in cui si trovano i file del server. Se tale directory non esiste, il server crea automaticamente un nuovo mondo e lo colloca nella directory con lo stesso nome;
- enable-query — se impostato su true, attiva il protocollo GameSpy4 per l'ascolto del server;
- allow-flight — consente i voli nel mondo di Minecraft. Di default ha il valore false (voli non consentiti);
- server-port — specifica la porta che sarà utilizzata dal server di gioco. La porta standard per Minecraft è 25565. Non si consiglia di modificare il valore di questo parametro;
- level-type — determina il tipo di mondo (DEFAULT/FLAT/LARGEBIOMES);
- enable-rcon — apre l'accesso remoto alla console del server. Di default è disattivato (false);
- level-seed — dato di input per il generatore di livelli. Per poter creare mondi casuali, questo campo deve rimanere vuoto;
- force-gamemode — imposta per i giocatori che si connettono al server la modalità di gioco standard;
- server-ip — specifica l'indirizzo IP che sarà utilizzato dai giocatori per connettersi al server;
- max-build-height — specifica l'altezza massima di costruzione sul server. Il suo valore deve essere un numero multiplo di 16 (64, 96, 256, ecc.);
- spawn-npcs — consente (se impostato su true) o vieta (se impostato su false) la comparsa di NPC nei villaggi;
- white-list — abilita o disabilita l'uso della lista bianca dei giocatori sul server. Se impostato su true, l'amministratore potrà creare una lista bianca, aggiungendo manualmente i nomi dei giocatori. Se impostato su false, chiunque conosca l'indirizzo IP e la porta del server potrà accedervi;
- spawn-animals — consente la comparsa automatica di mob amichevoli se impostato su true;
- snooper-enabled — consente al server di inviare statistiche e dati agli sviluppatori;
- hardcore — attiva la modalità Hardcore sul server;
- texture-pac — file di texture che sarà utilizzato quando un giocatore si connette al server. Come valore di questo parametro si indica il nome dell'archivio zip con le texture, che si trova nella stessa directory del server;
- modalità online — attiva il controllo degli account premium degli utenti che si connettono al server. Se questo parametro è impostato su true, solo i proprietari di account premium possono accedere al server. Se il controllo degli account è disattivato (impostato su false), qualsiasi utente può accedere al server (compresi, ad esempio, i giocatori che falsificano il nome), creando ulteriori rischi per la sicurezza. Con il controllo disattivato, è possibile giocare a Minecraft in rete locale, senza accesso a Internet;
- pvp — consente o vieta ai giocatori di combattere tra loro. Se questo parametro è impostato su true, i giocatori possono distruggersi a vicenda. Se impostato su false, i giocatori non possono infliggersi danni diretti;
- difficoltà — imposta il livello di difficoltà del gioco. Può assumere valori da 0 (il più facile) a 3 (il più difficile);
- modalità di gioco — indica quale modalità di gioco sarà impostata per i giocatori che accedono al server. Può assumere i seguenti valori: 0 — Sopravvivenza, 1 — Creativa, 2 — Avventura;
- timeout inattività giocatore — tempo di inattività (in minuti), trascorso il quale i giocatori vengono disconnessi automaticamente dal server;
- giocatori massimi — numero massimo di giocatori consentiti sul server (da 0 a 999);
- spawn-mostri — consente (se impostato su true) la generazione di mostri ostili;
- genera-strutture — attiva (true) / disattiva (false) la generazione di strutture (caveau, fortezze, villaggi);
- distanza-visuale — regola il raggio dei chunk aggiornati inviati al giocatore; può assumere valori da 3 a 15.
I log del server di minecraft vengono registrati nel file server.log. Questo viene conservato nella stessa cartella dei file del server. Il log continua a crescere in dimensioni, occupando sempre più spazio su disco. Il funzionamento del meccanismo di registrazione può essere organizzato tramite una cosiddetta rotazione dei log. Per la rotazione viene utilizzata un'utilità speciale — logrotate. Questa limita il numero di registrazioni nel log a un certo limite.
È possibile configurare la rotazione dei log in modo che tutte le registrazioni vengano eliminate non appena il file di log raggiunge una certa dimensione. È anche possibile impostare un periodo di tempo, al termine del quale tutte le registrazioni vecchie saranno considerate obsolete e rimosse.
Le impostazioni principali della rotazione si trovano nel file /etc/logrotate.conf; inoltre, per ogni applicazione si possono creare impostazioni individuali. I file con impostazioni personalizzate sono conservati nella directory /etc/logrotate.d.
Creiamo un file di testo /etc/logrotate.d/craftbukkit e inseriamo i seguenti parametri:
/home/craftbukkit/server.log {
rotate 2
weekly
compress
missingok
notifempty
}
Esaminiamo i loro valori più in dettaglio:
- il parametro rotate indica il numero di rotazioni prima della rimozione del file;
- weekly indica che la rotazione avverrà settimanalmente (si possono impostare altri parametri: monthly - mensilmente e daily - quotidianamente);
- compress indica che i log archiviati devono essere compressi (l'opzione opposta è nocompress);
- missingok indica che in assenza del file di log si deve continuare a operare senza generare messaggi di errore;
- notifempty indica di non ruotare il file di log se è vuoto.
Per saperne di più sulle impostazioni di rotazione dei log, puoi leggere qui.
Suggerimenti per l'ottimizzazione
Dobbiamo subito chiarire che in questa sezione forniremo suggerimenti riguardanti solo l'ottimizzazione del server di gioco. Le domande sulla configurazione e l'ottimizzazione fine del server su cui è installato Minecraft costituiscono un tema a parte, che esula da questo articolo; i lettori interessati possono facilmente trovare le informazioni necessarie su Internet.
Uno dei problemi più comuni che si presentano durante il gioco a Minecraft sono i cosiddetti lag — situazioni in cui il programma non risponde in tempo all'input dell'utente. Questi possono essere causati da problemi sia lato client che lato server. Di seguito forniremo raccomandazioni che possono aiutare a ridurre la probabilità di problemi sul lato server.
Controlla regolarmente l'uso della memoria da parte del server e dei plugin
Il consumo di memoria può essere monitorato tramite plugin amministrativi specializzati — per esempio, LagMeter.
Tieni d'occhio gli aggiornamenti dei plugin
Di norma, gli sviluppatori dei nuovi plugin cercano di ridurre il carico con ogni nuova versione.
Cerca di non utilizzare troppi plugin con funzionalità simili
I grandi plugin (ad esempio, Essentials, AdminCMD, CommandBook) spesso integrano funzionalità di molti plugin più piccoli. Ad esempio, lo stesso Essential contiene le funzioni dei plugin iConomy, uHome, OpenInv, VanishNoPacket, Kit. I plugin più piccoli, la cui funzionalità è completamente coperta da quella di uno più grande, nella maggior parte dei casi possono essere rimossi per non sovraccaricare il server.
Limita la mappa e caricala manualmente
Se non si limita la mappa, il carico sul server aumenterà notevolmente. Puoi limitare la mappa usando un plugin WorldBorder. Per fare ciò, devi avviare questo plugin ed eseguire il comando /wb 200, e poi generare la mappa usando il comando /wb fill.
La generazione della mappa richiederà certamente del tempo, ma è meglio farlo una volta sola, chiudendo il server per lavori di manutenzione. Se ogni giocatore genera la mappa, il server funzionerà lentamente.
Sostituisci i plugin pesanti con quelli più veloci e meno esigenti in termini di risorse
Non tutti i plugin per Minecraft possono essere definiti di successo: spesso contengono molte funzioni superflue e a volte consumano anche molta memoria. I plugin non riusciti è meglio sostituirli con alternative (ce ne sono molte). Ad esempio, il plugin LWC può essere sostituito con Wgfix+MachineGuard, mentre il plugin DynMap può essere sostituito con Minecraft Overviewer.
Pulisci sempre il drop o installa un plugin per la rimozione automatica del drop
In giochi, il drop si riferisce agli oggetti che cadono alla morte di un mob o alla distruzione di alcuni blocchi. La memorizzazione e l'elaborazione dei drop richiedono molte risorse di sistema.
Per far funzionare il server più velocemente, è preferibile rimuovere i drop. È meglio farlo utilizzando plugin speciali, come NoLagg o McClean.
Non usare anticheat
Nei server di gioco vengono spesso installati cosiddetti anticheat, programmi che bloccano i tentativi di influenzare il gioco in modo sleale.
Esistono anticheat anche per Minecraft. Qualsiasi anticheat comporta sempre un carico aggiuntivo sul server. È preferibile installare protezioni per il launcher (che, d'altra parte, non garantiscono assolutamente la sicurezza e possono essere facilmente aggirate - ma questo è un argomento per una discussione separata) e per il client.
In conclusione
Qualsiasi istruzione e raccomandazione risulta molto più efficace se supportata da esempi concreti. Sulla base delle istruzioni fornite sopra, abbiamo creato il nostro server MineCrаft e abbiamo inserito sulla mappa qualcosa di interessante.
Ecco cosa abbiamo realizzato:
- Server Bukkit – versione consigliata stabile 1.6.4;
- Plugin Statistics – per raccogliere statistiche sui giocatori;
- Plugin WorldBorder – per disegnare e limitare la mappa;
- Plugin WorldGuard (+WorldEdit come dipendenza) – per proteggere alcune aree.
Invitiamo tutti gli interessati a giocare su di esso: per connettervi, aggiungete un nuovo server e indicate l'indirizzo mncrft.slc.tl.
Saremmo felici se nei commenti condivideste la vostra esperienza di installazione, configurazione e ottimizzazione dei server MineCraft e raccontaste quali mod e plugin vi interessano e perché.
Grande notizia: Dal 1° agosto, il pagamento di installazione per server dedicati con configurazione fissa è stato ridotto del 50%. Ora il pagamento di installazione una tantum è di soli 3000 rub.
Invitiamo i lettori che non possono lasciare commenti qui da noi in blog.
Fonte: habr.com
