Minecraft hè unu di i ghjochi online più populari oghje. In menu di trè anni (a prima liberazione ufficiale hè stata in a caduta di u 2011), hà guadagnatu milioni di fan in u mondu.
I sviluppatori di u ghjocu fucalizzanu deliberatamente nantu à i migliori esempi di vint'anni fà, quandu parechji ghjochi eranu, per i normi d'oghje, primitivi in termini di grafica è imperfetti in termini di usabilità, ma à u stessu tempu eranu veramente eccitanti.
Cum'è tutti i ghjochi sandbox, Minecraft furnisce l'utilizatori enormi opportunità per a creatività - questu, in fattu, hè u sicretu principale di a so popularità.
I servitori per i ghjoculi multiplayer sò urganizati da i ghjucatori stessi è e so cumunità. Oghje ci sò decine di millaie di servitori di ghjocu chì operanu in Internet (vede, per esempiu, a lista quì).
Ci sò parechji fan di stu ghjocu trà i nostri clienti, è affittu l'equipaggiu da i nostri centri di dati per i prughjetti di ghjocu. In questu articulu, parlemu di quali punti tecnichi avete bisognu di attentu quandu sceglite un servitore
Minecraft.
Sceglie una piattaforma
Minecraft include i seguenti elementi architettonici:
- servitore - un prugramma attraversu quale i ghjucatori interagiscenu cù l'altri nantu à a reta;
- cliente - un prugramma per cunnette à u servitore, stallatu nantu à l'urdinatore di u lettore;
- plugins - aghjunte à u servitore chì aghjunghjenu funzioni novi o espansione vechji;
- mods sò aghjuntu à u mondu di u ghjocu (novi blocchi, elementi, funziunalità).
Ci hè parechje piattaforme di servitori per Minecraft. I più cumuni è populari sò Vanilla è Bukkit.
L'inconveniente di Vanilla hè u so cunsumu eccessivu di memoria (circa 50 MB per lettore). Un altru inconveniente significativu hè a mancanza di plugins.
I svantaghji di Bukkit sò chì pigghia troppu RAM quandu eseguisce. In più, u più longu u servitore corre, u più memoria hè bisognu (ancu s'ellu ci sò pocu ghjucatori). Quandu sceglite Bukkit cum'è servitore, duvete tene in mente chì e so novi versioni, in regula, cuntenenu errori; A versione stabile di solitu appare circa 2-3 settimane dopu chì a versione ufficiale di Minecraft hè liberata.
Inoltre, l'altri plataformi anu acquistatu pocu pupularità (per esempiu, Spout, MCPC è MCPC +), ma anu una cumpatibilità limitata cù Vanilla è Bukkit è un supportu estremamente limitatu per i mods (per esempiu, per Spout pudete scrive solu mods da zero). Se sò usati, allora solu per esperimenti.
Per urganizà un servitore di ghjocu, ricumandemu di utilizà a piattaforma Bukkit, postu chì hè a più flexible; Inoltre, ci sò parechje modi è plugins diffirenti per questu. L'operazione stabile di un servitore Minecraft dipende largamente da a scelta curretta di a piattaforma hardware. Cunsideremu stu prublema in più detail.
Requisiti di hardware
Sia u servitore Minecraft sia u cliente sò assai esigenti nantu à e risorse di u sistema.
Quandu sceglite una piattaforma hardware, duvete tene in mente chì un processore multi-core ùn furnisce micca assai vantaghju: u core di u servitore Minecraft pò solu utilizà un filu di calculu. U sicondu core, però, seria utile: alcuni plugins sò eseguiti in fili separati, è Java cunsuma ancu assai risorse ...
Dunque, per un servitore Minecraft, hè megliu di sceglie un processore chì hà un rendimentu unicu core più altu. Un processore dual-core più putente serà preferibile à un processore multi-core chì hè menu putente. In i fori specializati, hè cunsigliatu di utilizà processori cù una freccia di clock di almenu 3 GHz.
Per u funziunamentu normale di u servitore Minecraft, una grande quantità di RAM hè necessaria. Bukkit occupa circa 1 GB di RAM; in più, per ogni ghjucatore, cum'è l'esitatu sopra, da 5 à 10 MB sò attribuiti. I plugins è i mods cunsumanu ancu assai memoria. Per un servitore cù 30 - 50 players, dunque, avete bisognu di almenu 4 GB di RAM.
In Minecraft, assai (per esempiu, carricà i stessi plugins) dipende da a veloce di u sistema di fugliale. Dunque, hè preferibile di sceglie un servitore cù un discu SSD. I dischi Spindle sò improbabile di esse adattati per via di a bassa velocità di lettura aleatoria.
A vitezza di a vostra cunnessione Internet hè ancu di grande impurtanza. Per un ghjocu di 40-50 persone, un canale 10 Mb/s hè abbastanza. In ogni casu, per quelli chì pianificanu un prughjettu di minecraft più grande, cumpresu un situ web, un foru è una mappa dinamica, hè assai desideratu per avè un canale cù più larghezza di banda.
Quale cunfigurazione specifica hè megliu per sceglie? Da
- 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 rub / mese. - usemu sta cunfigurazione per u nostru servitore di teste MineCraft, nantu à quale pudete ghjucà avà (cumu fà questu hè scrittu quì sottu);
- Intel Core i3-2120 3.3GHz, 8GB RAM, 2x500GB SATA, 3500 RUR/mese.
Queste cunfigurazioni sò abbastanza adattati per creà un servitore Minecraft per i ghjucatori 30-40. Qualchì svantaghju hè a mancanza di unità SSD, ma demu un altru vantaghju impurtante: un canale garantitu 100 Mb / s senza restrizioni o ratios. Quandu urdinate tutte e cunfigurazioni elencate sopra, ùn ci hè micca una tarifa di installazione.
Avemu ancu più pruduttivi, ma à u stessu tempu, naturalmente, servitori più caru (quandu urdinate queste cunfigurazioni, a tarifa di stallazione ùn hè ancu pagata):
- 2x Intel Xeon 5130, 2GHz, 8GB RAM, 4x160GB SATA, 5000 rub / month;
- 2x IntelXeon 5504, 2GHz, 12GB RAM, 3x1TB SATA, 9000 rub / mese.
Avemu ancu ricumandemu attente à u novu mudellu di bilanciu cù un discu SSD basatu annantu à u processore Intel Atom C2758: Intel Atom C2758 2.4 GHz, 16 GB RAM, 2x240 GB SSD, 4000 rubles / mese, pagamentu di installazione - 3000 rubles.
Installazione è esecuzione di u servitore Bukkit in OC Ubuntu
Prima di installà u servitore, creamu un novu utilizatore è aghjunghje à u gruppu sudo:
$ sudo useradd -m -s /bin/bash <username> $ sudo adduser <username> sudo
In seguitu, stabiliremu a password sottu à quale l'utilizatore creatu hà da cunnette à u servitore:
$ sudo passwd <username>
Ricunnettemu à u servitore sottu un novu contu è cuminciamu a stallazione.
Minecraft hè scrittu in Java, cusì u Java Runtime Environment deve esse installatu in u servitore.
Aghjurnà a lista di i pacchetti dispunibili:
$ sudo apt-get update
Allora eseguite u cumandimu seguitu:
$ sudo apt-get install default-jdk
Per installà è eseguisce Bukkit, hè ancu cunsigliatu di installà un multiplexer di terminal - per esempiu, schermu (pudete ancu aduprà altri multiplexer di terminal - vede u nostru
$ sudo apt-get install screen
U screnu serà necessariu se cunnettamu à u servitore di ghjocu via ssh. Cù u so aiutu, pudete eseguisce u servitore Minecraft in una finestra di terminal separata, è ancu dopu à chjude u cliente ssh, u servitore hà da travaglià.
Creemu un cartulare in quale i schedarii di u servitore seranu guardati:
$ mkdir bukkit $ cd bukkit
Dopu quì andemu à
$ wget <link versione consigliata>
Avà corremu u screnu:
$sudo screen
è eseguite u cumandimu seguente:
$ java -Xmx1024M -jar craftbukkit.jar -o false
Spieghemu ciò chì significanu i paràmetri utilizati:
- Xmx1024M - quantità massima di RAM per servitore;
- jar craftbukkit.jar - chjave per u servitore;
- o false - permette l'accessu à u servitore da i clienti pirate.
U servitore serà cuminciatu.
Pudete piantà u servitore scrivendu u cumandimu di stop in a cunsola.
Configurazione è cunfigurazione di u servitore
I paràmetri di u servitore sò guardati in u schedariu di cunfigurazione server.properties. Contene i seguenti parametri:
- generator-settings - stabilisce u mudellu per generà un mondu superflat;
- allow-nether - determina a pussibilità di trasfurmà in u Munnu Inferjuri. Per automaticamente, sta paràmetra hè impostata à vera. Sè pusatu falsu, allura tutti i ghjucatori da u Nether seranu spustati à u normale;
- level-name - u nome di u cartulare cù i fugliali di mappa chì seranu utilizati durante u ghjocu. U cartulare hè situatu in u listessu cartulare induve si trovanu i schedarii di u servitore. Se ùn ci hè micca un tali repertoriu, u servitore crea automaticamente un novu mondu è u mette in un repertoriu cù u stessu nome;
- enable-query - quandu si mette à veru, attiva u protokollu GameSpy4 per sente u servitore;
- allow-flight - permette voli intornu à u mondu Minecraft. U valore predeterminatu hè falsu (i voli sò pruibiti);
- server-port - indica u portu chì serà utilizatu da u servitore di ghjocu. U portu standard per Minecraft hè 25565. Ùn hè cunsigliatu per cambià u valore di stu paràmetru;
- level-type - determina u tipu di u mondu (DEFAUT/FLAT/LARGEBIOMES);
- enable-rcon - permette l'accessu remoto à a cunsola di u servitore. Per automaticamente hè disattivatu (false);
- level-seed - dati di input per u generatore di livellu. Per pudè creà mondi aleatorii, stu campu deve esse lasciatu in biancu;
- force-gamemode - stabilisce u modu di ghjocu standard per i ghjucatori chì si cunnettenu à u servitore;
- server-ip - indica l'indirizzu IP chì serà utilizatu da i ghjucatori per cunnette à u servitore;
- max-build-height - indica l'altezza massima di un edifiziu nantu à u servitore. U so valore deve esse un multiplu di 16 (64, 96, 256, etc.);
- spawn-npcs - permette (se stabilitu à veru) o pruibisce (se hè statu falsu) l'apparizione di NPC in paesi;
- lista bianca - permette o disattiva l'usu di una lista bianca di ghjucatori nantu à u servitore. Se si mette à veru, l'amministratore serà capace di creà una lista bianca aghjustendu manualmente i nicknames di i ghjucatori. Se u valore hè falsu, ogni utilizatore chì cunnosce u so indirizzu IP è u portu pò accede à u servitore;
- spawn-animals - permette a spawn automatica di mobs amichevuli se stabilitu à veru);
- snooper-enabled - permette à u servitore di mandà statistiche è dati à i sviluppatori;
- hardcore - permette u modu Hardcore in u servitore;
- texture-pac - un schedariu di texture chì serà utilizatu quandu u lettore si cunnetta à u servitore. U valore di stu paràmetru hè u nome di l'archiviu zip cù textures, chì hè guardatu in u stessu repertoriu cum'è u servitore;
- Modu in linea - permette a verificazione di i cunti premium di l'utilizatori cunnessi à u servitore. Se stu paràmetru hè stabilitu à veru, solu i titulari di cunti premium puderanu accede à u servitore. Se a verificazione di u contu hè disattivata (impostata à false), allora ogni utilizatori pò accede à u servitore (cumpresu, per esempiu, i ghjucatori chì anu falsatu u so nickname), chì crea risichi di sicurezza supplementari. Quandu u cuntrollu hè disattivatu, pudete ghjucà Minecraft nantu à una reta lucale, senza accessu à Internet;
- pvp - permette o pruibisce i ghjucatori di cummattiri. Se stu paràmetru hè veru, i ghjucatori ponu distrughjenu l'altri. S'ellu hè falsu, i ghjucatori ùn ponu micca fà danni diretti à l'altri;
- difficulty - stabilisce u livellu di difficultà di u ghjocu. Pò piglià valori da 0 (u più faciule) à 3 (u più difficiule);
- gamemode - indica quale modu di ghjocu serà stabilitu per i ghjucatori chì entranu in u servitore. Pò piglià i seguenti valori: 0 - Survival, 1-Creative, 2-Adventure;
- player-idle-timeout - tempu di inattività (in minuti), dopu à quale i ghjucatori sò automaticamente disconnected from the server;
- max-players - u numeru massimu permessu di ghjucatori nantu à u servitore (da 0 à 999);
- spawn-monsters - permette (se stabilitu à veru) a spawning di mobs ostili;
- generate-structures - permette (veru) / disattiva (false) a generazione di strutture (tesori, fortezze, paesi);
- view-distance - aghjusta u raghju di i pezzi aghjurnati per esse mandati à u lettore; pò piglià valori da 3 à 15.
I logs di u servitore di Minecraft sò scritti in u schedariu server.log. Hè guardatu in u listessu cartulare cum'è i schedarii di u servitore. U logu hè sempri crescente in grandezza, pigghiannu più è più spaziu di discu. Pudete simplificà u travagliu di u mecanismu di logging usendu u chjamatu rotazione di log. Per a rotazione, una utilità speciale hè aduprata - logrotate. Limita u numeru di voci in u logu à un certu limitu.
Pudete cunfigurà a rotazione di log in modu chì tutte e voci sò sguassate appena u schedariu di log righjunghji una certa dimensione. Pudete ancu stabilisce un periodu dopu à quale tutte e vechje entrate seranu cunsiderate irrilevanti è sguassate.
I paràmetri di rotazione di basa sò situati in u schedariu /etc/logrotate.conf; Inoltre, pudete creà paràmetri individuali per ogni applicazione. I schedari cù paràmetri individuali sò guardati in u cartulare /etc/logrotate.d.
Creemu un schedariu di testu /etc/logrotate.d/craftbukkit è inserite i seguenti parametri in questu:
/home/craftbukkit/server.log { rotate 2 compresse settimanali missingok notifempty }
Fighjemu i so significati in più detail:
- u paràmetru di rotazione specifica u numeru di rotazioni prima di sguassà u schedariu;
- settimanale indica chì a rotazione serà fatta ogni settimana (pudete ancu stabilisce altri parametri: mensili - mensili è ogni ghjornu - ogni ghjornu);
- compress specifica chì i logs archiviati devenu esse cumpressi (l'opzione inversa hè nocompress);
- missingok indica chì s'ellu ùn ci hè micca un schedariu di log, duvete cuntinuà à travaglià è ùn mostra micca i missaghji d'errore;
- notifempty specifica micca di trasfurmà u schedariu di log s'ellu hè viotu.
Pudete leghje più nantu à i paràmetri di rotazione di log
Cunsiglii di ottimisazione
Facemu subitu una riservazione chì sta sezione furnisce cunsiglii ligati solu à ottimisà u servitore di ghjocu. I prublemi di fine-tuning è ottimisazione di u servitore nantu à quale Minecraft hè stallatu sò un tema separatu chì hè fora di u scopu di stu articulu; i lettori interessati ponu truvà facilmente l'infurmazioni chì anu bisognu in Internet.
Unu di i prublemi più cumuni chì si sviluppanu quandu si ghjucanu à Minecraft hè i cosiddetti lags - situazioni quandu u prugramma ùn risponde micca à l'input di l'utilizatori in una manera puntuale. Puderanu esse causati da prublemi sia da u cliente sia da u servitore. Quì sottu daremu cunsiglii chì aiutanu à riduce a probabilità di prublemi chì si trovanu in u latu di u servitore.
Monitorate regularmente u cunsumu di memoria di u servitore è i plugins
U cunsumu di memoria pò esse monitoratu cù plugins amministrativi specializati - per esempiu,
Stay tuned for plugins updates
In regula, i sviluppatori di novi plugins s'impegnanu à riduce a carica cù ogni nova versione.
Pruvate micca di utilizà assai plugins cù funziunalità simili
Grandi plugins (per esempiu, Essentials, AdminCMD, CommandBook) assai spessu includenu a funziunalità di parechji plugins più chjuchi. Per esempiu, u listessu Essential cuntene e funzioni di iConomy, uHome, OpenInv, VanishNoPacket, Kit plugins. I plugins chjuchi, a funziunalità di quale hè cumplettamente cuperta da a funziunalità di un grande, in a maiò parte di i casi pò esse sguassati per ùn sopra à u servitore.
Limite a mappa è caricate sè stessu
Se ùn limitate micca a mappa, a carica nantu à u servitore aumenterà significativamente. Pudete limità a mappa cù un plugin
Disegnu, sicuru, piglià assai tempu, ma hè megliu fà una volta, chjude u servitore per u travagliu tecnicu. Se ogni ghjucatore tira a mappa, u servitore travaglià lentamente.
Sustituisce i plugins pesanti cù quelli più veloci è menu intensivi di risorse
Ùn sò micca tutti i plugins per Minecraft ponu esse chjamatu successu: spessu cuntenenu assai funzioni innecessarii è innecessarii, è qualchì volta cunsuma ancu assai memoria. Hè megliu rimpiazzà i plugins chì ùn anu successu cù altri (ci sò assai assai). Per esempiu, u plugin LWC pò esse rimpiazzatu cù Wgfix + MachineGuard, è u plugin DynMap cù Minecraft Overviewer.
Sguassate sempre a goccia o installate un plugin per sguassà automaticamente a goccia
Gocce in i ghjoculi sò articuli chì cascanu quandu una folla mori o certi blocchi sò distrutti. L'almacenamiento è u processu di gocce occupanu assai risorse di u sistema.
Per fà u servitore travaglià più veloce, hè cunsigliu per sguassà a goccia. Questu hè megliu fattu cù plugins speciale - per esempiu, NoLagg o McClean.
Ùn aduprate micca anti-cheats
I cosiddetti anti-cheats sò spessu installati nantu à i servitori di ghjocu - prugrammi chì bloccanu i tentativi di influenzà u ghjocu in modi disonesti.
Ci hè ancu anti-cheats per Minecraft. Ogni anti-cheat hè sempre una carica supplementu nantu à u servitore. Hè preferibile installà a prutezzione per u launcher (chì, però, ùn furnisce micca una guaranzia assoluta di sicurità è hè facilmente rottu - ma questu hè un tema per una discussione separata) è per u cliente.
Inveci di 'na cunchiusioni
Qualchese struzzioni è raccomandazioni risultanu assai più efficaci s'ellu sò supportati da esempi specifichi. Basatu nantu à l'istruzzioni di stallazione sopra, avemu creatu u nostru servitore Minecraft è mette qualchi cose interessanti nantu à a mappa.
Eccu ciò chì avemu avutu:
- Servitore Bukkit - versione stabile cunsigliata 1.6.4;
- Plugin di statistiche - per cullà statistiche nantu à i ghjucatori;
- WorldBorder plugin - per disegnà è limità a mappa;
- Plugin WorldGuard (+ WorldEdit cum'è una dipendenza) - per prutege alcune zone.
Invitemu tutti à ghjucà nantu à questu: per cunnette, aghjunghje un novu servitore è entre in l'indirizzu mncrft.slc.tl.
Seremu cuntenti se sparte a vostra propria sperienza di installà, cunfigurà è ottimisà i servitori MineCraft in i cumenti è diteci chì mods è plugins vi interessanu è perchè.
Nutizia fresca: Da u 1 d'aostu, a tarifa di stallazione per i servitori di cunfigurazione fissa dedicata hè stata ridutta di 50%. Avà u pagamentu di a stallazione una volta hè solu 3000 rubles.
I lettori chì ùn ponu micca lascià cumenti quì sò invitati à visitàci à
Source: www.habr.com