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