Creazione e configurazione di un server Minecraft

Creazione e configurazione di un server Minecraft

Minecraft è oggi una delle più popolari giochi online. In meno di tre anni (il primo rilascio ufficiale è avvenuto nell'autunno del 2011) ha attirato milioni di fan in tutto il mondo.

Gli sviluppatori del gioco si ispirano consapevolmente ai migliori esempi di vent'anni fa, quando molti giochi, per i nostri standard attuali, erano primitivi dal punto di vista grafico e imperfetti in termini di usabilità, ma riuscivano comunque a catturare veramente l'attenzione.

Come tutti i giochi sandbox, Minecraft offre all'utente enormi opportunità creative: questo è, in effetti, il segreto principale della sua popolarità.

L'organizzazione dei server per il gioco in modalità multiplayer è gestita dai giocatori stessi e dalle loro comunità. Oggi su Internet operano decine di migliaia di server di gioco (vedere, ad esempio, l'elenco qui).

Non mancano fan di questo gioco tra i nostri clienti, che affittano attrezzature nei nostri data center per progetti di gioco. In questo articolo parleremo degli aspetti tecnici da considerare nella scelta di un server per
Minecraft.

Scegliamo la piattaforma

Il gioco Minecraft include i seguenti elementi architettonici:

  1. server — programma che consente ai giocatori di interagire tra loro in rete;
  2. client — programma per connettersi al server, installato sul computer del giocatore;
  3. plugin — estensioni per il server che aggiungono nuove funzioni o ampliano quelle esistenti;
  4. mod — estensioni per il mondo di gioco (nuovi blocchi, oggetti, possibilità).

Esistono molte piattaforme server per Minecraft. Le più comuni e popolari sono Vanilla e Bukkit.

Vanilla è la piattaforma ufficiale degli sviluppatori del gioco. È disponibile sia in versione grafica che console. La nuova versione di Vanilla viene rilasciata contemporaneamente alla nuova versione di Minecraft.

Uno svantaggio di Vanilla è il consumo eccessivo di memoria (circa 50 MB per giocatore). Un altro svantaggio significativo è l'assenza di plugin.

Bukkit è stato creato da un gruppo di appassionati che ha tentato di migliorare il server ufficiale di Minecraft. Il tentativo si è rivelato piuttosto riuscito: in termini di funzionalità, Bukkit è molto più ampio rispetto a Vanilla, principalmente grazie al supporto per diversi mod e plugin. Inoltre, consuma meno memoria per ogni giocatore, circa 5–10 MB.

I lati negativi di Bukkit sono che, all'avvio, richiede troppa memoria RAM. Inoltre, più a lungo il server è in funzione, maggiore è il consumo di memoria (anche se ci sono pochi giocatori). Scegliendo Bukkit come server, è importante considerare che le sue nuove versioni tendono ad avere bug; di solito, la versione stabile appare circa 2-3 settimane dopo il rilascio della versione ufficiale di Minecraft.

Negli ultimi tempi, altre piattaforme (come Spout, MCPC e MCPC+) stanno diventando popolari, ma si differenziano per la limitata compatibilità con Vanilla e Bukkit e per un supporto molto limitato per i mod (ad esempio, per Spout è possibile solo scrivere mod da zero). Se vengono utilizzate, dovrebbero essere utilizzate solo per esperimenti.

Per organizzare un server di gioco, consigliamo di utilizzare la piattaforma Bukkit, poiché offre la massima flessibilità e dispone di numerosi mod e plugin. Il funzionamento stabile del server Minecraft dipende in gran parte dalla scelta oculata della piattaforma hardware. Esaminiamo questo aspetto più nel dettaglio.

Requisiti hardware

Sia il server che il client di Minecraft sono molto esigenti in termini di risorse di sistema.
Quando si sceglie la piattaforma hardware, è importante considerare che una CPU multithreaded non offre grandi vantaggi: il core del server Minecraft può utilizzare solo un thread di calcolo. Tuttavia, un secondo core non sarà di troppo: alcuni plugin vengono eseguiti in thread separati e anche Java consuma molte risorse...

Quindi per Minecraft-server è preferibile scegliere una CPU con prestazioni di singolo core elevate. Un processore dual-core più potente sarà più vantaggioso rispetto a un processore multithreaded, ma meno potente. Nei forum specializzati si raccomanda di utilizzare processori con una frequenza di clock di almeno 3 GHz.

Per il corretto funzionamento di un server Minecraft è necessaria una grande quantità di memoria RAM. Bukkit occupa circa 1 GB di RAM; inoltre, per ogni giocatore, come già detto in precedenza, vengono allocati tra 5 e 10 MB. I plugin e i mod consumano anch'essi una quantità considerevole di memoria. Pertanto, per un server con 30-50 giocatori, serviranno almeno 4 GB di RAM.

In Minecraft, molte cose (ad esempio, il caricamento degli stessi plugin) dipendono dalla velocità del filesystem. Pertanto, è preferibile scegliere un server con disco SSD. I dischi meccanici difficilmente possono essere adatti a causa della bassa velocità di accesso casuale.

Anche la velocità della connessione Internet è di enorme importanza. Per giocare con 40-50 persone un canale da 10 Mb/s è più che sufficiente. Tuttavia, per coloro che intendono realizzare un progetto Minecraft più ampio, che includa un sito web, un forum e una mappa dinamica, è altamente consigliabile avere un canale con una larghezza di banda maggiore.

Quale configurazione specifica è meglio scegliere? Da configurazioni che offriamo ti consigliamo di prestare attenzione alle seguenti:

  • Intel Core 2 Duo E8400 3 GHz, 6 GB di RAM, 2×500 GB SATA, 3000 rub/mese;
  • Intel Core 2 Quad Q8300 2.5GHz, 6GB RAM, 2×500GB SATA, 3500 руб/mese. — questa configurazione è utilizzata per il nostro server di test MineCraft, sul quale puoi giocare proprio adesso (come farlo è spiegato qui sotto);
  • Intel Core i3-2120 3.3GHz, 8GB RAM, 2×500GB SATA, 3500 руб/mese.

Queste configurazioni sono perfette per creare un server Minecraft per 30-40 giocatori. Un piccolo svantaggio è l'assenza di dischi SSD, ma offriamo un altro vantaggio importante: canale garantito di 100 Mb/s senza limitazioni o rapporti. Per l'ordine di tutte le configurazioni elencate sopra, non viene addebitato alcun pagamento di installazione.

Abbiamo anche server più potenti, ma ovviamente più costosi (per l'ordine di queste configurazioni non viene addebitato alcun pagamento di installazione):

  • 2× Intel Xeon 5130, 2GHz, 8GB RAM, 4×160GB SATA, 5000 руб/mese;
  • 2× Intel Xeon 5504, 2GHz, 12GB RAM, 3×1TB SATA, 9000 руб/mese.

Ti consigliamo di dare un'occhiata anche al nuovo modello economico con disco SSD basato sul processore Intel Atom C2758: Intel Atom C2758 2.4GHz, 16 GB RAM, 2×240GB SSD, 4000 руб/mese, pagamento di installazione — 3000 руб.

Installazione e avvio del server Bukkit in OS 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 impostiamo la password con cui l'utente appena creato si connetterà al server:

$ sudo passwd

Riconnettiamoci al server con il nuovo account e procediamo con l'installazione.
Minecraft è scritto in Java, quindi è necessario installare Java Runtime Environment sul server.

Aggiorniamo l'elenco dei pacchetti disponibili:

$ sudo apt-get update

Poi eseguiamo il seguente comando:

$ sudo apt-get install default-jdk

Per installare e avviare Bukkit, è consigliabile installare anche un multiplexore di terminale, ad esempio screen (si possono utilizzare anche altri multiplexori terminali - vedi il nostro panoramica):

$ sudo apt-get install screen

Screen sarà necessario se ci connettiamo al server di gioco via ssh. Con esso, sarà possibile avviare il server Minecraft in una finestra di terminale separata e, anche dopo aver chiuso il client ssh, il server continuerà a funzionare.

Creiamo una directory in cui verranno memorizzati i file del server:

$ mkdir bukkit
$ cd bukkit

Dopo di che andiamo alla pagina di download del sito ufficiale di Bukkit. Nell'angolo in alto a destra della pagina puoi trovare un link all'ultima build raccomandata del server (recommended build). Ti consigliamo di scaricare proprio quella:

$ wget

Ora avviamo screen:

$ sudo screen

e eseguiamo il seguente comando:

$ java -Xmx1024M -jar craftbukkit.jar -o false

Spieghiamo il significato dei 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 sarà avviato.
Per fermare il server, puoi digitare il comando stop nella console.

Impostazione e configurazione del server

Le impostazioni del server sono memorizzate nel file di configurazione server.properties. Contiene i seguenti parametri:

  • generator-settings - specifica il modello di generazione di un mondo super piatto;
  • allow-nether - definisce la possibilità di accesso al Nether. Per impostazione predefinita, questo parametro è impostato su true. Se impostato su false, tutti i giocatori nel Nether saranno trasferiti nel mondo normale;
  • level-name — il nome della cartella con 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 non esiste tale directory, il server crea automaticamente un nuovo mondo e lo posiziona in una 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. Per impostazione predefinita è impostato su false (voli non consentiti);
  • server-port — specifica la porta che sarà utilizzata dal server di gioco. La porta standard per Minecraft è 25565. Non si raccomanda 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. Per impostazione predefinita è disattivato (false);
  • level-seed — input per il generatore di livelli. Per poter generare mondi casuali, questo campo deve rimanere vuoto;
  • force-gamemode — imposta il modo di gioco standard per i giocatori che si connettono al server;
  • server-ip — specifica l'indirizzo IP che i giocatori utilizzeranno per connettersi al server;
  • max-build-height — indica l'altezza massima delle costruzioni 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 e disabilita l'uso della lista bianca dei giocatori sul server. Se impostato su true, l'amministratore può creare una lista bianca aggiungendo manualmente i nomi dei giocatori. Se impostato su false, chiunque conosca l'indirizzo IP e la porta del server può 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 — abilita la modalità Hardcore sul server;
  • texture-pac — file di texture che verrà utilizzato quando un giocatore si collega al server. Il valore di questo parametro è il nome dello zip contenente le texture, che deve trovarsi nella stessa directory del server;
  • modalità-online — include la verifica degli account premium degli utenti che si connettono al server. Se questa opzione è impostata su true, solo i proprietari di account premium possono accedere al server. Se la verifica degli account è disattivata (impostata su false), qualsiasi utente può accedere al server (inclusi, ad esempio, i giocatori che hanno falsificato il proprio nome), creando rischi aggiuntivi per la sicurezza. Disattivando la verifica, si può 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à-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;
  • tempo-di-inattività-giocatore — tempo di inattività (in minuti), dopo il quale i giocatori vengono automaticamente disconnessi dal server;
  • max-players — il numero massimo consentito di giocatori sul server (da 0 a 999);
  • spawn-monsters — consente (se impostato su true) la generazione di mostri ostili;
  • generate-structures — abilita (true)/disabilita (false) la generazione di strutture (cave, fortezze, villaggi);
  • view-distance — regola il raggio di chunk aggiornati da inviare al giocatore; può assumere valori da 3 a 15.

I log del server Minecraft vengono registrati nel file server.log. Viene conservato nella stessa cartella dei file del server. Il log cresce costantemente in dimensioni, occupando sempre più spazio su disco. È possibile gestire il funzionamento meccanico della registrazione con un sistema noto come rotazione dei log. Per la rotazione si utilizza un'apposita utilità: logrotate. Questa limita il numero di registrazioni nel log a un determinato 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. È inoltre possibile impostare un periodo di tempo dopo il quale tutte le registrazioni vecchie vengono considerate obsolescenti e rimosse.

Le impostazioni di base della rotazione si trovano nel file /etc/logrotate.conf; inoltre, per ogni applicazione è possibile creare impostazioni individuali. I file con le impostazioni personalizzate sono memorizzati nella directory /etc/logrotate.d.

Creeremo un file di testo /etc/logrotate.d/craftbukkit e scriveremo al suo interno 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 cancellazione del file;
  • weekly indica che la rotazione avverrà settimanalmente (è possibile impostare anche altri parametri: monthly - mensilmente e daily - giornalmente);
  • compress indica che i log archiviati devono essere compressi (l'opzione inversa è nocompress);
  • missingok indica che, in assenza del file di log, l'operazione deve continuare senza generare messaggi di errore;
  • notifempty indica di non ruotare il file di log se è vuoto.

Per ulteriori dettagli sulle impostazioni di rotazione dei log, è possibile leggere qui.

Suggerimenti per l'ottimizzazione

Ci preme sottolineare che in questa sezione saranno forniti consigli focalizzati unicamente sull'ottimizzazione del server di gioco. Le questioni riguardanti la fine-tuning e l'ottimizzazione del server su cui è installato Minecraft sono un argomento a parte, che esula da questo articolo; lettori interessati potranno facilmente trovare le informazioni necessarie online.

Uno dei problemi più comuni riscontrati durante il gioco a Minecraft sono i cosiddetti lag, situazioni in cui il programma non risponde tempestivamente all'input dell'utente. Questi possono essere causati da problemi sia sul lato del cliente che sul lato del server. Di seguito forniremo raccomandazioni per ridurre la probabilità di problemi sul lato server.

Controlla regolarmente il consumo di memoria del server e dei plugin

Il consumo di memoria può essere monitorato utilizzando plugin amministrativi specializzati, come ad esempio LagMeter.

Tieni d'occhio gli aggiornamenti dei plugin

Di norma, gli sviluppatori di nuovi plugin cercano di ridurre il carico con ogni nuova versione.

Cerca di non utilizzare troppi plugin con funzionalità simili.

Plugin di grandi dimensioni (ad esempio, Essentials, AdminCMD, CommandBook) spesso includono le funzionalità di molti piccoli plugin. Ad esempio, Essentials contiene funzioni dei plugin iConomy, uHome, OpenInv, VanishNoPacket, Kit. I piccoli plugin, le cui funzioni sono completamente coperte da un unico grande plugin, possono generalmente essere rimossi per evitare di sovraccaricare il server.

Limita la mappa e caricala autonomamente.

Se non limiti la mappa, il carico sul server aumenterà notevolmente. Puoi limitare la mappa utilizzando il plugin WorldBorder.Per fare ciò, avvia questo plugin ed esegui il comando /wb 200, quindi genera la mappa utilizzando il comando /wb fill.

La generazione richiederà del tempo, ma è meglio farlo una volta sola, chiudendo il server per manutenzione. Se la mappa viene generata da ogni giocatore, il server funzionerà lentamente.

Sostituisci i plugin pesanti con alternative più veloci e meno esigenti in termini di risorse.

Non tutti i plugin per Minecraft possono essere considerati di successo: spesso contengono molte funzionalità superflue e, a volte, consumano anche molta memoria. I plugin inefficaci è meglio sostituirli con alternative (ce ne sono davvero molte). Ad esempio, il plugin LWC può essere sostituito con Wgfix+MachineGuard, mentre il plugin DynMap può essere sostituito con Minecraft Overviewer.

Pulite sempre il drop o installate un plugin per l'eliminazione automatica del drop.

Il drop nei giochi si riferisce agli oggetti che cadono quando un mob muore o quando vengono distrutti alcuni blocchi. La memorizzazione e l'elaborazione dei drop richiedono molte risorse di sistema.

Per far funzionare il server più velocemente, è consigliabile eliminare i drop. Questo è meglio farlo con plugin speciali, come NoLagg o McClean.

Non utilizzare anti-cheat.

Nei server di gioco vengono spesso installati i cosiddetti anti-cheat: programmi che bloccano i tentativi di influenzare il gioco in modo sleale.

Esistono anti-cheat anche per Minecraft. Ogni anti-cheat comporta sempre un carico aggiuntivo sul server. È preferibile installare protezioni per il launcher (che, tuttavia, non offrono garanzie assolute di sicurezza e possono essere facilmente bypassate - ma questo è già un argomento per una conversazione a parte) e per il client.

In conclusion

Qualsiasi istruzione e raccomandazione è molto più efficace se supportata da esempi concreti. Basandoci sulle istruzioni precedentemente fornite per l'installazione, abbiamo creato il nostro server MineCraft e abbiamo inserito qualcosa di interessante nella mappa.

Ecco cosa abbiamo ottenuto:

  • Server Bukkit - versione raccomandata stabile 1.6.4;
  • Plugin Statistics - per raccogliere dati sui giocatori;
  • Plugin WorldBorder - per generare 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é.

Ottima notizia: A partire dal 1° agosto, la tassa di installazione per i server dedicati a configurazione fissa è stata ridotta del 50%. Ora la tassa di installazione una tantum è appena di 3000 rub.

Invitiamo i lettori che non possono lasciare commenti qui a venire da noi in blog.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster