Creazione e configurazione di un server Minecraft

Creazione e configurazione di un server Minecraft

Minecraft è uno dei giochi online più popolari oggi. In meno di tre anni (la prima uscita ufficiale è avvenuta nell'autunno del 2011), ha conquistato milioni di fan in tutto il mondo.

Gli sviluppatori del gioco si concentrano deliberatamente sui migliori esempi di vent'anni fa, quando molti giochi erano, per gli standard odierni, primitivi in ​​termini di grafica e imperfetti in termini di usabilità, ma allo stesso tempo erano davvero emozionanti.

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

I server per i giochi multiplayer sono organizzati dai giocatori stessi e dalle loro comunità. Oggi sono decine di migliaia i server di gioco che operano su Internet (vedi ad esempio l'elenco qui).

Tra i nostri clienti ci sono molti appassionati di questo gioco e noleggiano attrezzature dai nostri data center per progetti di gioco. In questo articolo parleremo di quali punti tecnici devi prestare attenzione quando scegli un server
Minecraft.

Scegliere una piattaforma

Minecraft include i seguenti elementi architettonici:

  1. server: un programma attraverso il quale i giocatori interagiscono tra loro sulla rete;
  2. client: un programma per la connessione al server, installato sul computer del giocatore;
  3. plugin: aggiunte al server che aggiungono nuove funzioni o espandono quelle vecchie;
  4. le mod sono aggiunte al mondo di gioco (nuovi blocchi, oggetti, funzionalità).

Esistono molte piattaforme server per Minecraft. I più comuni e apprezzati sono Vaniglia e Bukkit.

Vaniglia Questa è la piattaforma ufficiale degli sviluppatori del gioco. È distribuito sia in versione grafica che in versione console. Una nuova versione di Vanilla esce sempre contemporaneamente a una nuova versione di Minecraft.

Lo svantaggio di Vanilla è il consumo eccessivo di memoria (circa 50 MB per giocatore). Un altro svantaggio significativo è la mancanza di plugin.

bukkit è stato creato da un gruppo di appassionati che hanno tentato di migliorare il server ufficiale di Minecraft. Il tentativo si è rivelato un discreto successo: Bukkit ha funzionalità molto più ampie rispetto a Vanilla, principalmente grazie al supporto di vari mod e plugin. Allo stesso tempo, consuma meno memoria per giocatore, circa 5-10 MB.

Lo svantaggio di Bukkit è che occupa troppa RAM durante l'esecuzione. Inoltre, più a lungo funziona il server, maggiore è la memoria richiesta (anche se ci sono pochi giocatori). Quando scegli Bukkit come server, dovresti tenere presente che le sue nuove versioni, di norma, contengono errori; La versione stabile di solito appare circa 2-3 settimane dopo il rilascio della versione ufficiale di Minecraft.

Inoltre, altre piattaforme hanno recentemente guadagnato popolarità (ad esempio Spout, MCPC e MCPC+), ma hanno una compatibilità limitata con Vanilla e Bukkit e un supporto estremamente limitato per le mod (ad esempio, per Spout puoi scrivere mod solo da zero). Se vengono utilizzati, solo per esperimenti.

Per organizzare un server di gioco, consigliamo di utilizzare la piattaforma Bukkit, poiché è la più flessibile; Inoltre, ci sono molti mod e plugin diversi per questo. Il funzionamento stabile di un server Minecraft dipende in gran parte dalla scelta corretta della piattaforma hardware. Consideriamo questo problema in modo più dettagliato.

Requisiti hardware

Sia il server che il client Minecraft richiedono molto risorse di sistema.
Quando si sceglie una piattaforma hardware, è necessario tenere presente che un processore multi-core non offrirà molti vantaggi: il core del server Minecraft può utilizzare solo un thread di calcolo. Il secondo core, però, sarebbe utile: alcuni plugin vengono eseguiti in thread separati, e anche Java consuma molte risorse...

Pertanto, per un server Minecraft, è meglio scegliere un processore con prestazioni single-core più elevate. Un processore dual-core più potente sarà preferibile a un processore multi-core meno potente. Nei forum specializzati si consiglia di utilizzare processori con una frequenza di clock di almeno 3 GHz.

Per il normale funzionamento del server Minecraft è necessaria una grande quantità di RAM. Bukkit occupa circa 1 GB di RAM; inoltre per ogni giocatore, come già detto, vengono assegnati dai 5 ai 10 MB. Anche plugin e mod consumano molta memoria. Per un server con 30 - 50 giocatori, quindi, serviranno almeno 4 GB di RAM.

In Minecraft molto (ad esempio il caricamento degli stessi plugin) dipende dalla velocità del file system. Pertanto è preferibile scegliere un server con disco SSD. È improbabile che i dischi mandrino siano adatti a causa della bassa velocità di lettura casuale.

Anche la velocità della tua connessione Internet è di grande importanza. Per una partita di 40-50 persone è sufficiente un canale da 10 Mb/s. Tuttavia, per coloro che stanno pianificando un progetto Minecraft più ampio, che includa un sito Web, un forum e una mappa dinamica, è altamente auspicabile disporre di un canale con maggiore larghezza di banda.

Quale configurazione specifica è meglio scegliere? Da configurazioni che offriamo Ti consigliamo di prestare attenzione a quanto segue:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2x500GB SATA, 3000 RUR/mese;
  • Intel Core 2 Quad Q8300 2.5GHz, 6GB RAM, 2x500GB SATA, 3500 rubli/mese. — utilizziamo questa configurazione per il nostro server di test MineCraft, sul quale puoi giocare subito (come farlo è scritto di seguito);
  • Intel Core i3-2120 3.3 GHz, 8 GB di RAM, 2 SATA da 500 GB, 3500 RUR/mese.

Queste configurazioni sono abbastanza adatte per creare un server Minecraft per 30-40 giocatori. Qualche svantaggio è la mancanza di unità SSD, ma diamo un altro importante vantaggio: un canale garantito di 100 Mb/s senza alcuna restrizione o rapporto. Quando si ordinano tutte le configurazioni sopra elencate, non è previsto alcun costo di installazione.

Disponiamo anche di server più produttivi, ma allo stesso tempo, naturalmente, più costosi (quando si ordinano queste configurazioni, anche le spese di installazione non vengono addebitate):

  • 2x Intel Xeon 5130, 2GHz, 8GB RAM, 4x160GB SATA, 5000 rubli/mese;
  • 2x IntelXeon 5504, 2GHz, 12GB RAM, 3x1TB SATA, 9000 rubli/mese.

Raccomandiamo inoltre di prestare attenzione al nuovo modello economico con un'unità SSD basata sul processore Intel Atom C2758: Intel Atom C2758 2.4 GHz, 16 GB RAM, 2x240 GB SSD, 4000 rubli/mese, pagamento di installazione - 3000 rubli.

Installazione ed esecuzione 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 <nomeutente> $ sudo adduser <nomeutente> sudo

Successivamente, imposteremo la password con la quale l'utente creato si connetterà al server:

$ sudo passwd <nome utente>

Riconnettiamoci al server con un nuovo account e iniziamo l'installazione.
Minecraft è scritto in Java, quindi sul server deve essere installato Java Runtime Environment.

Aggiorniamo l'elenco dei pacchetti disponibili:

$ sudo apt-get update

Quindi esegui il seguente comando:

$ sudo apt-get install default-jdk

Per installare ed eseguire Bukkit, è anche consigliabile installare un multiplexer di terminale - ad esempio, screen (puoi utilizzare anche altri multiplexer di terminale - vedi il nostro panoramica):

$ schermata di installazione sudo apt-get

Lo schermo sarà necessario se ci colleghiamo al server di gioco tramite ssh. Con il suo aiuto, puoi eseguire il server Minecraft in una finestra terminale separata e, anche dopo aver chiuso il client ssh, il server funzionerà.

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

$ pacchetto mkdir $ pacchetto cd

Dopodiché andiamo a Pagina di download del sito ufficiale di Bukkit. Nella parte in alto a destra della pagina puoi vedere un collegamento all'ultima build consigliata del server. Ti consigliamo di scaricarlo:

$ wget <link versione consigliata>

Ora eseguiamo la schermata:

Schermata $sudo

ed eseguire il seguente comando:

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

Spieghiamo cosa significano i parametri utilizzati:

  • Xmx1024M - quantità massima di RAM per server;
  • jar craftbukkit.jar - chiave del server;
  • o false: consente l'accesso al server da client piratati.

Il server verrà avviato.
È possibile arrestare il server digitando il comando stop nella console.

Impostazione e configurazione del server

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

  • generator-settings: imposta il modello per generare un mondo superpiatto;
  • consentire-nether: determina la possibilità di trasferirsi nel Mondo Inferiore. Per impostazione predefinita, questa impostazione è impostata su true. Se impostato su false, tutti i giocatori del Nether verranno spostati in quello normale;
  • level-name - il nome della cartella con i file della mappa che verrà utilizzata durante il gioco. La cartella si trova nella stessa directory in cui si trovano i file del server. Se non esiste una directory di questo tipo, il server crea automaticamente un nuovo mondo e lo inserisce in una directory con lo stesso nome;
  • abilita-query - se impostato su true, attiva il protocollo GameSpy4 per ascoltare il server;
  • consentire-volo: consente voli nel mondo di Minecraft. Il valore predefinito è false (i voli sono vietati);
  • server-port - indica la porta che verrà utilizzata dal server di gioco. La porta standard per Minecraft è 25565. Non è consigliabile modificare il valore di questo parametro;
  • level-type - determina il tipo di mondo (DEFAUT/FLAT/LARGEBIOMES);
  • abilita-rcon: consente l'accesso remoto alla console del server. Per impostazione predefinita è disabilitato (falso);
  • level-seed - dati di input per il generatore di livelli. Per poter creare mondi casuali, questo campo deve essere lasciato vuoto;
  • force-gamemode: imposta la modalità di gioco standard per i giocatori che si connettono al server;
  • server-ip - indica l'indirizzo IP che verrà utilizzato dai giocatori per connettersi al server;
  • max-build-height - indica l'altezza massima di un edificio sul server. Il suo valore deve essere multiplo di 16 (64, 96, 256, ecc.);
  • spawn-npcs - consente (se impostato su true) o proibisce (se impostato su false) la comparsa di NPC nei villaggi;
  • white-list: abilita o disabilita l'uso di una lista bianca di giocatori sul server. Se impostato su true, l'amministratore potrà creare una lista bianca aggiungendovi manualmente i soprannomi dei giocatori. Se il valore è false, qualsiasi utente che conosce il suo indirizzo IP e la sua porta può accedere al server;
  • spawn-animals - consente la generazione automatica di mob amici se impostato su true);
  • abilitato per snooper: consente al server di inviare statistiche e dati agli sviluppatori;
  • hardcore: abilita la modalità hardcore sul server;
  • texture-pac - file texture che verrà utilizzato quando il lettore si connette al server. Il valore di questo parametro è il nome dell'archivio zip con texture, che è archiviato nella stessa directory del server;
  • modalità online: consente il controllo degli account premium degli utenti che si connettono al server. Se questo parametro è impostato su true, solo i titolari di un account premium potranno accedere al server. Se la verifica dell'account è disabilitata (impostata su false), qualsiasi utente può accedere al server (inclusi, ad esempio, i giocatori che hanno falsificato il proprio nickname), il che crea ulteriori rischi per la sicurezza. Quando il controllo è disabilitato, puoi giocare a Minecraft su una rete locale, senza accesso a Internet;
  • pvp: consente o vieta ai giocatori di combattere tra loro. Se questo parametro è vero, i giocatori possono distruggersi a vicenda. Se impostato su falso, i giocatori non possono infliggersi danni diretti a vicenda;
  • difficoltà: imposta il livello di difficoltà del gioco. Può assumere valori da 0 (più facile) a 3 (più difficile);
  • gamemode: indica quale modalità di gioco verrà impostata per i giocatori che accedono al server. Può assumere i seguenti valori: 0 - Sopravvivenza, 1-Creativa, 2-Avventura;
  • player-idle-timeout — 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 spawn di mob ostili;
  • generate-structures — abilita (vero)/disabilita (falso) la generazione di strutture (tesorerie, fortezze, villaggi);
  • view-distance: regola il raggio dei blocchi aggiornati da inviare al giocatore; può assumere valori da 3 a 15.

I registri del server Minecraft vengono scritti nel file server.log. È archiviato nella stessa cartella dei file del server. Le dimensioni del registro crescono costantemente, occupando sempre più spazio su disco. È possibile semplificare il lavoro del meccanismo di registrazione utilizzando la cosiddetta rotazione dei registri. Per la rotazione viene utilizzata un'utilità speciale: logrotate. Limita il numero di voci nel registro a un certo limite.

È possibile configurare la rotazione del registro in modo che tutte le voci vengano eliminate non appena il file di registro raggiunge una determinata dimensione. Puoi anche impostare un periodo dopo il quale tutte le vecchie voci saranno considerate irrilevanti e cancellate.

Le impostazioni di rotazione di base si trovano nel file /etc/logrotate.conf; Inoltre, è possibile creare impostazioni individuali per ciascuna applicazione. I file con impostazioni individuali vengono archiviati nella directory /etc/logrotate.d.

Creiamo un file di testo /etc/logrotate.d/craftbukkit e inseriamo al suo interno i seguenti parametri:

/home/craftbukkit/server.log {ruota 2 compresse settimanali missok notifempty }

Vediamo più nel dettaglio il loro significato:

  • il parametro di rotazione specifica il numero di rotazioni prima di eliminare il file;
  • settimanale indica che la rotazione verrà effettuata settimanalmente (è possibile impostare anche altri parametri: mensile - mensile e giornaliero - giornaliero);
  • compress specifica che i log archiviati devono essere compressi (l'opzione inversa è nocompress);
  • Missingok indica che se non è presente alcun file di registro, dovresti continuare a lavorare e non visualizzare messaggi di errore;
  • notifempty specifica di non spostare il file di registro se è vuoto.

Puoi leggere ulteriori informazioni sulle impostazioni di rotazione dei log qui.

Suggerimenti per l'ottimizzazione

Premettiamo subito che questa sezione fornirà suggerimenti relativi solo all'ottimizzazione del server di gioco. I problemi di messa a punto e ottimizzazione del server su cui è installato Minecraft sono un argomento separato che va oltre lo scopo di questo articolo; i lettori interessati possono facilmente trovare le informazioni di cui hanno bisogno su Internet.

Uno dei problemi più comuni che sorgono quando si gioca a Minecraft sono i cosiddetti ritardi, situazioni in cui il programma non risponde tempestivamente all'input dell'utente. Possono essere causati da problemi sia sul lato client che sul lato server. Di seguito forniremo consigli che aiuteranno a ridurre la probabilità che si verifichino problemi sul lato server.

Monitorare regolarmente il consumo di memoria del server e dei plugin

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

Resta sintonizzato per gli aggiornamenti dei plugin

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

Cerca di non utilizzare molti plugin con funzionalità simili

I plugin di grandi dimensioni (ad esempio Essentials, AdminCMD, CommandBook) molto spesso includono le funzionalità di molti plugin più piccoli. Ad esempio, lo stesso Essential contiene le funzioni dei plugin iConomy, uHome, OpenInv, VanishNoPacket, Kit. Piccoli plugin, la cui funzionalità è completamente coperta dalla funzionalità di uno grande, nella maggior parte dei casi possono essere rimossi per non sovraccaricare il server.

Limita la mappa e caricala tu stesso

Se non limiti la mappa, il carico sul server aumenterà in modo significativo. Puoi limitare la mappa utilizzando un plugin WorldBorder. Per fare ciò, devi eseguire questo plugin ed eseguire il comando /wb 200, quindi disegnare la mappa utilizzando il comando /wb fill.

Disegnare, ovviamente, richiederà molto tempo, ma è meglio farlo una volta, chiudendo il server per lavori tecnici. Se ogni giocatore disegna la mappa, il server funzionerà lentamente.

Sostituisci i plugin pesanti con quelli più veloci e che richiedono meno risorse

Non tutti i plugin per Minecraft possono essere definiti di successo: spesso contengono molte funzioni inutili e non necessarie e talvolta consumano anche molta memoria. È meglio sostituire i plugin non riusciti con altri alternativi (ce ne sono parecchi). Ad esempio, il plugin LWC può essere sostituito con Wgfix+MachineGuard e il plugin DynMap con Minecraft Overviewer.

Cancella sempre il drop o installa un plugin per rimuovere automaticamente il drop

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

Per far funzionare il server più velocemente, è consigliabile eliminare il drop. È meglio farlo utilizzando plugin speciali, ad esempio NoLagg o McClean.

Non usare anti-cheat

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

Esistono anche anti-cheat per Minecraft. Qualsiasi anti-cheat è sempre un carico aggiuntivo sul server. È preferibile installare la protezione per il launcher (che però non fornisce una garanzia assoluta di sicurezza e si rompe facilmente - ma questo è un argomento per un discorso a parte) e per il client.

Invece di una conclusione

Qualsiasi istruzione e raccomandazione risulta essere molto più efficace se supportata da esempi specifici. Sulla base delle istruzioni di installazione sopra, abbiamo creato il nostro server Minecraft e abbiamo inserito alcune cose interessanti sulla mappa.

Ecco cosa abbiamo ottenuto:

  • Server Bukkit - versione stabile consigliata 1.6.4;
  • Plugin statistico: per raccogliere statistiche sui giocatori;
  • Plug-in WorldBorder: per disegnare e delimitare la mappa;
  • Plug-in WorldGuard (+WorldEdit come dipendenza) - per proteggere alcune aree.

Invitiamo tutti a giocarci: per connettersi, aggiungere un nuovo server e inserire l'indirizzo mncrft.slc.tl.

Saremo lieti se condividerai la tua esperienza di installazione, configurazione e ottimizzazione dei server MineCraft nei commenti e ci dirai quali mod e plugin ti interessano e perché.

Notizie interessanti: Dal 1° agosto il costo di installazione dei server dedicati a configurazione fissa è stato ridotto del 50%. Ora il pagamento una tantum per l'installazione è di soli 3000 rubli.

I lettori che non possono lasciare commenti qui sono invitati a visitarci all'indirizzo blog.

Fonte: habr.com

Aggiungi un commento