Oprettelse og konfiguration af en Minecraft-server

Oprettelse og konfiguration af en Minecraft-server

Minecraft tilhÞrer i dag en af de mest populÊre online spil. PÄ mindre end tre Är (den fÞrste officielle udgivelse fandt sted efterÄret 2011) har det fÄet millioner af fans verden over.

Spiludviklerne fokuserer bevidst pÄ de bedste eksempler fra for 20 Är siden, da mange spil efter nutidens mÄlestok var primitive med hensyn til grafik og utilfredsstillende med hensyn til brugervenlighed, men de var stadig virkelig fÊngslende.

Ligesom alle sandkassespil giver Minecraft brugeren enorme muligheder for kreativitet – det er i bund og grund hovedĂ„rsagen til dets popularitet.

Organisationen af servere til spillet i multiplayer-tilstand drives af spillerne selv og deres fÊllesskaber. I dag fungerer der titusindvis af spillesservere pÄ internettet (se f.eks. listen her).

Der er mange fans af dette spil blandt vores kunder, og de lejer udstyr til spilprojekter i vores datacentre. I denne artikel vil vi tale om, hvilke tekniske aspekter man skal vÊre opmÊrksom pÄ, nÄr man vÊlger en server til
Minecraft.

Vi vĂŠlger en platform

Minecraft-spillet indeholder fĂžlgende arkitektoniske elementer:

  1. server – et program, der gþr det muligt for spillerne at interagere med hinanden over nettet;
  2. klient – et program til at oprette forbindelse til serveren, installeret pĂ„ spillerens computer;
  3. plugins – tillég til serveren, der tilfþjer nye funktioner eller udvider gamle;
  4. mods – tillég til spilverdenen (nye blokke, genstande, muligheder).

Der findes mange serverplatforme til Minecraft. De mest udbredte og populĂŠre er Vanilla og Bukkit.

Vanilla det er den officielle platform fra spiludviklerne. Den findes bÄde i grafisk og konsolversion. Den nye version af Vanilla lanceres altid samtidig med den nye version af Minecraft.

Ulempen ved Vanilla er det hÞje hukommelsesforbrug (cirka 50 MB per spiller). En anden betydelig ulempe er manglen pÄ plugins.

Bukkit blev skabt af en gruppe entusiaster, der forsþgte at forbedre den officielle Minecraft-server. Forsþget var temmelig vellykket: funktionaliteten i Bukkit er vésentligt bredere end Vanilla - fþrst og fremmest takket vére understþttelse af forskellige mods og plugins. Samtidig bruger den mindre hukommelse pr. spiller - cirka 5–10 MB.

Ulemperne ved Bukkit er, at den ved opstart tager for meget RAM. Desuden, jo lÊngere serveren kÞrer, jo mere hukommelse krÊver den (selv med fÄ spillere). NÄr man vÊlger Bukkit som server, skal man tage hÞjde for, at nye versioner ofte indeholder fejl; den stabile version dukker typisk op cirka 2-3 uger efter den officielle version af Minecraft.

Derudover vinder andre platforme (for eksempel Spout, MCPC og MCPC+) ogsÄ popularitet, men de adskiller sig ved begrÊnsede kompatibiliteter med Vanilla og Bukkit samt ekstremt begrÊnset modunderstÞttelse (for eksempel kan man kun skrive mods fra bunden til Spout). Hvis de bruges, sÄ kun til eksperimenter.

Til opsÊtning af en spillerserver anbefaler vi at bruge Bukkit-platformen, da den tilbyder den stÞrste fleksibilitet; desuden findes der mange forskellige mods og plugins til den. Stabil drift af Minecraft-serveren afhÊnger i hÞj grad af en fornuftig valg af hardwareplatform. Lad os se nÊrmere pÄ dette spÞrgsmÄl.

Hardwarekrav

BÄde serveren og klienten til Minecraft er meget krÊvende med hensyn til systemressourcer.
NÄr man vÊlger hardwareplatform, skal man tage i betragtning, at en multicore-processor ikke vil give store fordele: Minecraft-serverens kerne kan kun bruge én beregningsstrÞm. Det andet kerne vil dog vÊre nyttigt: nogle plugins kÞrer i separate trÄde, og Java krÊver ogsÄ en del ressourcer...

Derfor til Minecraft-server er det bedre at vÊlge en processor, der har en hÞjere ydeevne pr. kerne. En kraftigere dual-core processor vil vÊre mere Þnskelig end en multicore processor, der er mindre kraftfuld. PÄ specialiserede fora anbefales det at bruge processorer med en taktfrekvens pÄ ikke under 3 GHz.

For the normal functioning of a Minecraft server, a large amount of RAM is required. Bukkit takes about 1GB of RAM; additionally, as mentioned above, 5 to 10 MB is allocated per player. Plugins and mods also consume quite a bit of memory. Therefore, for a server with 30 to 50 players, at least 4 GB of RAM will be needed.

In Minecraft, many things (such as loading the same plugins) depend on the speed of the file system. Therefore, it is preferable to choose a server with an SSD. Spindle drives are unlikely to be suitable due to their low random read speed.

The speed of the internet connection is also extremely important. For a game with 40-50 people, a 10 Mb/s channel is quite sufficient. However, for those planning a more large-scale Minecraft project, including a website, forum, and dynamic map, it is highly advisable to have a channel with greater bandwidth.

What specific configuration is best to choose? From the configurations we offer, we recommend paying attention to the following:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2×500GB SATA, 3000 rub/month;
  • Intel Core 2 Quad Q8300 2.5GHz, 6GB RAM, 2×500GB SATA, 3500 rub/month — this configuration is what we use for our test server MineCraft, where you can play right now (how to do this is described below);
  • Intel Core i3-2120 3.3GHz, 8GB RAM, 2×500GB SATA, 3500 rub/month.

These configurations are quite suitable for creating a Minecraft server for 30-40 players. A downside is the lack of SSDs, but we offer another significant advantage: a guaranteed channel of 100 Mb/s without any restrictions or ratios. When ordering all the listed configurations above, there is no installation fee.

We also have more powerful, but naturally more expensive servers (when ordering these configurations, there is also no installation fee):

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

We also recommend paying attention to the new budget model with an SSD based on the Intel Atom C2758 processor: Intel Atom C2758 2.4GHz, 16 GB RAM, 2×240GB SSD, 4000 rub/month, installation fee — 3000 rub.

Installation and launch of the Bukkit server on Ubuntu OS.

FĂžr vi installerer serveren, opretter vi en ny bruger og tilfĂžjer den til sudo-gruppen:

$ sudo useradd -m -s /bin/bash 
$ sudo adduser  sudo

Derefter angiver vi det kodeord, som den oprettede bruger vil bruge til at logge ind pÄ serveren:

$ sudo passwd

Vi logger tilbage pÄ serveren med den nye konto og gÄr i gang med installationen.
Minecraft er skrevet i Java, sÄ Java Runtime Environment skal installeres pÄ serveren.

Lad os opdatere listen over tilgĂŠngelige pakker:

$ sudo apt-get update

Derefter udfĂžrer vi fĂžlgende kommando:

$ sudo apt-get install default-jdk

For at installere og kĂžre Bukkit er det ogsĂ„ en god idĂ© at installere en terminal multiplexer, sĂ„som screen (andre terminal multiplexer kan ogsĂ„ bruges — se vores gennemgang):

$ sudo apt-get install screen

Screen er nĂždvendigt, hvis vi skal tilslutte os spilserveren via SSH. Det gĂžr det muligt at kĂžre Minecraft-serveren i et separat terminalvindue, og selv efter at SSH-klienten er lukket, vil serveren fortsĂŠtte med at kĂžre.

Lad os oprette et bibliotek, hvor serverfilerne skal gemmes:

$ mkdir bukkit
$ cd bukkit

Derefter gÄr vi til download-siden pÄ den officielle Bukkit-hjemmeside. I Þverste hÞjre hjÞrne af siden kan du se et link til den nyeste anbefalede serverversion (recommended build). Vi anbefaler at downloade netop den:

$ wget

Lad os nu starte screen:

$ sudo screen

og udfĂžre fĂžlgende kommando:

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

Lad os forklare, hvad de anvendte parametre betyder:

  • Xmx1024M — den maksimale mĂŠngde RAM til serveren;
  • jar craftbukkit.jar — nĂžglen til serveren;
  • o false — tillader adgang til serveren fra piratkopierede klienter.

Serveren vil blive startet.
Serveren kan stoppes ved at indtaste kommandoen stop i konsollen.

Konfiguration og opsĂŠtning af serveren

Serverindstillingerne gemmes i konfigurationsfilen server.properties. Den indeholder fĂžlgende parametre:

  • generator-settings — angiver skabelonen for generering af en superflad verden;
  • allow-nether — bestemmer muligheden for at rejse til Nether-verdenen. StandardvĂŠrdien for denne parameter er true. Hvis vĂŠrdien er false, bliver alle spillere fra Nether flyttet til den almindelige verden;
  • level-name — navnet pĂ„ mappen med kortfilerne, der vil blive brugt under spillet. Mappen placeres i den samme directory som serverens filer. Hvis en sĂ„dan directory ikke findes, opretter serveren automatisk en ny verden og placerer den i en directory med samme navn;
  • enable-query — nĂ„r det er indstillet til true, aktiveres GameSpy4-protokollen for at lytte til serveren;
  • allow-flight — tillader flyvninger i Minecraft-verdenen. Som standard er det false (flyvninger er ikke tilladt);
  • server-port — angiver den port, der vil blive brugt af spilserveren. Standardporten for Minecraft er 25565. Det anbefales ikke at ĂŠndre denne vĂŠrdi;
  • level-type — bestemmer typen af verden (DEFAULT/FLAT/LARGEBIOMES);
  • enable-rcon — Ă„bner fjernadgang til serverens konsol. Som standard er det deaktiveret (false);
  • level-seed — input til niveaugeneratoren. For at kunne skabe tilfĂŠldige verdener skal dette felt stĂ„ tomt;
  • force-gamemode — sĂŠtter standardspiltilstanden for spillere, der tilslutter sig serveren;
  • server-ip — angiver IP-adressen, som spillerne vil bruge til at oprette forbindelse til serveren;
  • max-build-height — angiver den maksimale bygge-hĂžjde pĂ„ serveren. Dens vĂŠrdi skal vĂŠre et tal, der er et multiplum af 16 (64, 96, 256 osv.);
  • spawn-npcs — tillader (hvis indstillet til true) eller forbyder (hvis indstillet til false) fremkomsten af NPC'er i landsbyer;
  • white-list — aktiverer og deaktiverer brugen af hvidliste for spillere pĂ„ serveren. Hvis indstillet til true, kan administratoren oprette en hvidliste ved at tilfĂžje spillerens navne manuelt. Hvis det er indstillet til false, kan enhver bruger, der kender IP-adressen og porten, fĂ„ adgang til serveren;
  • spawn-animals — tillader automatisk fremkomst af venlige mobs, hvis det er indstillet til true;
  • snooper-enabled — tillader serveren at sende statistikker og data til udviklerne;
  • hardcore — aktiverer Hardcore-tilstand pĂ„ serveren;
  • texture-pac — en teksturfil, der vil blive brugt, nĂ„r en spiller tilslutter sig serveren. Som vĂŠrdi for denne parameter angives navnet pĂ„ zip-arkivet med teksturer, som opbevares i den samme directory som serveren;
  • online-mode — aktiverer kontrol af premium-konti for brugere, der forbinder til serveren. Hvis denne indstilling er sat til true, kan kun ejere af premium-konti logge ind pĂ„ serveren. Hvis kontrollering af konti er deaktiveret (sat til false), kan alle brugere (herunder f.eks. spillere, der har spoofet deres brugernavn) logge ind, hvilket skaber ekstra sikkerhedsrisici. Med deaktiveret kontrol kan man spille Minecraft over lokalnetvĂŠrk uden internetadgang;
  • pvp — tillader eller forhindrer spillere i at kĂŠmpe mod hinanden. Hvis denne parameter er sat til true, kan spillere skade hinanden. Hvis den er sat til false, kan spillere ikke pĂ„fĂžre hinanden direkte skade;
  • difficulty — angiver svĂŠrhedsgraden af spillet. Kan have vĂŠrdier fra 0 (den nemmeste) til 3 (den svĂŠreste);
  • gamemode — angiver, hvilken spiltilstand der skal indstilles for de spillere, der logger ind pĂ„ serveren. Kan antage fĂžlgende vĂŠrdier: 0 — Survival, 1 — Creative, 2 — Adventure;
  • player-idle-timeout — tiden for inaktivitet (i minutter), efter hvilken spillerne automatisk bliver logget af serveren;
  • max-players — det maksimalt tilladte antal spillere pĂ„ serveren (fra 0 til 999);
  • spawn-monsters — tillader (hvis sat til true) generering af fjendtlige mobber;
  • generate-structures — aktiverer (true) / deaktiverer (false) generering af strukturer (skattehuse, fĂŠstninger, landsbyer);
  • view-distance — regulerer radius af opdaterede chunks til sending til spilleren; kan have vĂŠrdier fra 3 til 15.

Minecraft serverlogs gemmes i filen server.log. Den ligger i samme mappe som serverens filer. Loggen vokser konstant i stĂžrrelse og optager mere og mere diskplads. Drift af logningsmekanismen kan organiseres ved hjĂŠlp af det sĂ„kaldte log rotation. Til rotation anvendes et specielt vĂŠrktĂžj — logrotate. Det begrĂŠnser antallet af poster i loggen til et bestemt maksimum.

Det er muligt at konfigurere logrotationen sÄdan, at alle poster bliver slettet, sÄ snart logfilen har nÄet en bestemt stÞrrelse. Man kan ogsÄ indstille en periode, hvorefter alle gamle poster betragtes som forÊldede og slettes.

De grundlĂŠggende rotationsindstillinger findes i filen /etc/logrotate.conf; derudover kan der oprettes individuelle indstillinger for hver applikation. Filer med individuelle indstillinger gemmes i mappen /etc/logrotate.d.

Lad os oprette en tekstfil /etc/logrotate.d/craftbukkit og skrive fĂžlgende parametre i den:

/home/craftbukkit/server.log {
  rotate 2
  weekly
  compress
  missingok
  notifempty
}

Lad os se nÊrmere pÄ deres vÊrdier:

  • Parameteret rotate angiver antallet af rotationer fĂžr sletning af filen;
  • weekly angiver, at rotationen vil finde sted ugentligt (andre parametre kan indstilles: monthly - mĂ„nedligt og daily - dagligt);
  • compress angiver, at arkivlogfiler skal komprimeres (den modsatte mulighed er nocompress);
  • missingok angiver, at hvis logfilen mangler, skal arbejdet fortsĂŠtte uden at vise fejlmeddelelser;
  • notifempty angiver, at logfilen ikke skal roteres, hvis den er tom.

Der kan lĂŠses mere om indstillingerne for logrotation her.

Tips til optimering

Vi vil straks bemÊrke, at dette afsnit vil indeholde tips, der kun vedrÞrer optimering af spilleserveren. SpÞrgsmÄl om finjustering og optimering af serveren, hvor Minecraft er installeret, udgÞr et separat emne, der gÄr ud over denne artikel; interesserede lÊsere kan nemt finde de nÞdvendige oplysninger pÄ internettet.

Et af de mest almindelige problemer, der opstÄr under spil i Minecraft, er det sÄkaldte lag - situationer, hvor programmet ikke reagerer rettidigt pÄ brugerinput. De kan skyldes problemer bÄde pÄ klientsiden og serverens side. Nedenfor giver vi anbefalinger, som kan hjÊlpe med at reducere sandsynligheden for problemer pÄ serversiden.

OvervÄg jÊvnligt serverens og plugins' hukommelsesforbrug

Hukommelsesforbruget kan overvÄges ved hjÊlp af specialiserede administrative plugins - for eksempel, LagMeter.

Hold Ăžje med opdateringer af plugins

Generelt strĂŠber udviklere af nye plugins med hver ny version efter at reducere belastningen.

ForsÞg at undgÄ at bruge mange plugins med lignende funktionalitet

Storede plugins (for eksempel Essentials, AdminCMD, CommandBook) inkluderer ofte funktionalitet fra mange mindre plugins. For eksempel indeholder Essentials funktioner fra plugins som iConomy, uHome, OpenInv, VanishNoPacket, Kit. Mindre plugins, hvis funktionalitet helt dÊkker funktionaliteten af et stort plugin, kan ofte slettes for at undgÄ overbelastning af serveren.

BegrĂŠns kortet og indlĂŠs det selv

Hvis kortet ikke begrÊnses, vil belastningen pÄ serveren stige vÊsentligt. Kortet kan begrÊnses ved hjÊlp af et plugin WorldBorder. For at gÞre dette skal du starte dette plugin og udfÞre kommandoen /wb 200, og derefter skal du tegne kortet ved hjÊlp af kommandoen /wb fill.

Tegningen vil naturligvis tage tid, men det er bedst at gÞre det én gang, mens serveren er lukket til vedligeholdelse. Hvis kortet skal tegnes af hver spiller, vil serveren kÞre langsommere.

Erstat tunge plugins med hurtigere og mindre ressourcekrĂŠvende

Langt fra alle plugins til Minecraft kan kaldes succesfulde: de indeholder ofte mange unÞdvendige og overflÞdige funktioner og nogle gange ogsÄ bruger meget hukommelse. Mislykkede plugins bÞr erstattes med alternative (der findes en del). For eksempel kan plugin LWC erstattes med Wgfix+MachineGuard, og plugin DynMap kan erstattes med Minecraft Overviewer.

Ryd altid op i droppen eller installer et plugin til automatisk fjernelse af drop

Drop i spil refererer til genstande, der falder ved dĂžd af en mob eller destruktion af visse blokke. Opbevaring og behandling af drops krĂŠver meget systemressourcer.

For at serveren kan kĂžre hurtigere, anbefales det at fjerne drops. Dette er bedst at gĂžre ved hjĂŠlp af specielle plugins - for eksempel NoLagg eller McClean.

Brug ikke anti-cheats

PÄ gaming-servere installeres der ofte sÄkaldte anti-cheats - programmer, der blokerer forsÞg pÄ at manipulere spillet pÄ uretfÊrdige mÄder.

Der findes ogsÄ anti-cheats til Minecraft. Ethvert anti-cheat medfÞrer altid en ekstra belastning pÄ serveren. Det er bedst at installere beskyttelser til launcher (som dog ikke giver absolut garanti for sikkerhed og let kan brydes - men det er et emne for en anden samtale) og til klienten.

Afslutning

Enhver vejledning og anbefaling er langt mere effektiv, nÄr den understÞttes af konkrete eksempler. Baseret pÄ de tidligere nÊvnte installationsvejledninger har vi oprettet vores egen MineCraft-server og tilfÞjet noget interessant pÄ kortet.

Her er hvad vi har opnÄet:

  • Bukkit-server – den stabile anbefalede version 1.6.4;
  • Statistics-plugin – til at indsamle statistik om spillere;
  • WorldBorder-plugin – til at tegne og begrĂŠnse kortet;
  • WorldGuard-plugin (+WorldEdit som afhĂŠngighed) – til at beskytte visse omrĂ„der.

Vi inviterer alle interesserede til at spille pÄ den: for at oprette forbindelse, tilfÞj en ny server og angiv adressen mncrft.slc.tl.

Vi vil sÊtte pris pÄ, hvis du i kommentarerne deler dine egne erfaringer med opsÊtning, konfiguration og optimering af MineCraft-servere samt fortÊller, hvilke mods og plugins der interesserer dig, og hvorfor.

God nyhed: Fra 1. august er installationsgebyret for dedikerede servere med fast konfiguration reduceret med 50%. Det engangs installationsgebyr er nu kun 3000 kr.

LÊserne, der ikke kan efterlade kommentarer her, inviteres til at komme til os pÄ blog.

Kilde: habr.com

KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster