Een Minecraft-server maken en instellen

Een Minecraft-server maken en instellen

Minecraft is tegenwoordig een van de meest populaire online games. In minder dan drie jaar (de eerste officiële release vond plaats in de herfst van 2011) kreeg hij miljoenen fans over de hele wereld.

De game-ontwikkelaars richten zich bewust op de beste voorbeelden van twintig jaar geleden, toen veel games naar huidige maatstaven primitief waren qua graphics en onvolmaakt qua bruikbaarheid, maar tegelijkertijd echt spannend waren.

Zoals alle sandbox-spellen biedt Minecraft de gebruiker enorme mogelijkheden voor creativiteit - dit is in feite het belangrijkste geheim van zijn populariteit.

Servers voor multiplayer-spellen worden georganiseerd door de spelers zelf en hun gemeenschappen. Tegenwoordig zijn er tienduizenden gameservers actief op internet (zie bijvoorbeeld de lijst hier).

Onder onze klanten bevinden zich veel fans van dit spel en zij huren apparatuur van onze datacenters voor gamingprojecten. In dit artikel zullen we bespreken op welke technische punten je moet letten bij het kiezen van een server
Minecraft.

Een platform kiezen

Minecraft bevat de volgende architectonische elementen:

  1. server - een programma waarmee spelers via het netwerk met elkaar communiceren;
  2. client - een programma voor verbinding met de server, geïnstalleerd op de computer van de speler;
  3. plug-ins - toevoegingen aan de server die nieuwe functies toevoegen of oude uitbreiden;
  4. mods zijn toevoegingen aan de spelwereld (nieuwe blokken, items, functies).

Er zijn veel serverplatforms voor Minecraft. De meest voorkomende en populaire zijn Vanille en Bukkit.

Vanille Dit is het officiële platform van de game-ontwikkelaars. Het wordt gedistribueerd in zowel grafische als consoleversies. Er verschijnt altijd tegelijkertijd een nieuwe versie van Vanilla met een nieuwe versie van Minecraft.

Het nadeel van Vanilla is het overmatige geheugengebruik (ongeveer 50 MB per speler). Een ander belangrijk nadeel is het ontbreken van plug-ins.

bukkit is gemaakt door een groep enthousiastelingen die probeerden de officiële Minecraft-server te verbeteren. De poging bleek behoorlijk succesvol: Bukkit is qua functionaliteit veel breder dan Vanilla, vooral dankzij de ondersteuning van verschillende mods en plug-ins. Tegelijkertijd verbruikt het minder geheugen per speler - ongeveer 5-10 MB.

De nadelen van Bukkit zijn dat het te veel RAM in beslag neemt tijdens het draaien. Bovendien geldt dat hoe langer de server draait, hoe meer geheugen er nodig is (zelfs als er weinig spelers zijn). Wanneer u Bukkit als server kiest, moet u er rekening mee houden dat de nieuwe versies ervan in de regel fouten bevatten; De stabiele versie verschijnt meestal ongeveer 2-3 weken nadat de officiële versie van Minecraft is uitgebracht.

Bovendien zijn andere platforms onlangs aan populariteit gewonnen (bijvoorbeeld Spout, MCPC en MCPC+), maar ze hebben beperkte compatibiliteit met Vanilla en Bukkit en extreem beperkte ondersteuning voor mods (voor Spout kun je bijvoorbeeld alleen mods vanaf het begin schrijven). Als ze worden gebruikt, dan alleen voor experimenten.

Voor het organiseren van een gameserver raden we aan het Bukkit-platform te gebruiken, omdat dit het meest flexibel is; Daarnaast zijn er veel verschillende mods en plug-ins voor. De stabiele werking van een Minecraft-server hangt grotendeels af van de juiste keuze van het hardwareplatform. Laten we dit probleem in meer detail bekijken.

Hardwarevereisten

Zowel de Minecraft-server als de client stellen hoge eisen aan systeembronnen.
Bij het kiezen van een hardwareplatform moet u er rekening mee houden dat een multi-coreprocessor niet veel voordeel biedt: de Minecraft-serverkern kan slechts één rekenthread gebruiken. De tweede kern zou echter nuttig zijn: sommige plug-ins worden in afzonderlijke threads uitgevoerd en Java verbruikt ook veel bronnen...

Daarom is het voor een Minecraft-server beter om een ​​processor te kiezen die hogere single-core prestaties levert. Een krachtigere dual-coreprocessor verdient de voorkeur boven een multi-coreprocessor die minder krachtig is. Op gespecialiseerde forums wordt aanbevolen om processors te gebruiken met een klokfrequentie van minimaal 3 GHz.

Voor normaal functioneren van de Minecraft-server is een grote hoeveelheid RAM vereist. Bukkit neemt ongeveer 1 GB RAM in beslag; bovendien wordt voor elke speler, zoals hierboven vermeld, 5 tot 10 MB toegewezen. Plug-ins en mods verbruiken ook behoorlijk veel geheugen. Voor een server met 30 - 50 spelers heb je dus minimaal 4 GB RAM nodig.

In Minecraft hangt veel (bijvoorbeeld het laden van dezelfde plug-ins) af van de snelheid van het bestandssysteem. Kies daarom bij voorkeur voor een server met een SSD schijf. Het is onwaarschijnlijk dat spindelschijven geschikt zijn vanwege de lage willekeurige leessnelheid.

Ook de snelheid van uw internetverbinding is van groot belang. Voor een spel met 40-50 personen is een kanaal van 10 Mb/s voldoende. Voor degenen die een groter Minecraft-project plannen, inclusief een website, forum en dynamische kaart, is het echter zeer wenselijk om een ​​kanaal met meer bandbreedte te hebben.

Welke specifieke configuratie kan ik het beste kiezen? Van configuraties die wij aanbieden Wij raden u aan op het volgende te letten:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2x500GB SATA, 3000 RUR/maand;
  • Intel Core 2 Quad Q8300 2.5 GHz, 6 GB RAM, 2x500 GB SATA, 3500 rub/maand. — we gebruiken deze configuratie voor onze MineCraft-testserver, waarop je nu kunt spelen (hoe je dit moet doen, staat hieronder);
  • Intel Core i3-2120 3.3GHz, 8GB RAM, 2x500GB SATA, 3500 RUR/maand.

Deze configuraties zijn redelijk geschikt voor het maken van een Minecraft-server voor 30-40 spelers. Enige nadeel is het ontbreken van SSD-schijven, maar we geven nog een belangrijk voordeel: een gegarandeerd 100 Mb/s-kanaal zonder enige beperkingen of verhoudingen. Als u alle hierboven genoemde configuraties bestelt, zijn er geen installatiekosten van toepassing.

We hebben ook productievere, maar tegelijkertijd uiteraard duurdere servers (bij het bestellen van deze configuraties worden de installatiekosten ook niet in rekening gebracht):

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

We raden ook aan om aandacht te besteden aan het nieuwe budgetmodel met een SSD-schijf op basis van de Intel Atom C2758-processor: Intel Atom C2758 2.4 GHz, 16 GB RAM, 2x240 GB SSD, 4000 roebel/maand, installatiebetaling - 3000 roebel.

Installeren en draaien van de Bukkit-server op OC Ubuntu

Voordat we de server installeren, maken we een nieuwe gebruiker aan en voegen deze toe aan de sudo-groep:

$ sudo useradd -m -s /bin/bash <gebruikersnaam> $ sudo adduser <gebruikersnaam> sudo

Vervolgens stellen we het wachtwoord in waarmee de aangemaakte gebruiker verbinding zal maken met de server:

$ sudo passwd <gebruikersnaam>

Laten we opnieuw verbinding maken met de server onder een nieuw account en beginnen met de installatie.
Minecraft is geschreven in Java, dus de Java Runtime Environment moet op de server zijn geïnstalleerd.

Laten we de lijst met beschikbare pakketten bijwerken:

$ sudo apt-get update

Voer vervolgens de volgende opdracht uit:

$ sudo apt-get install default-jdk

Om Bukkit te installeren en uit te voeren, is het ook raadzaam om een ​​terminalmultiplexer te installeren - bijvoorbeeld screen (u kunt ook andere terminalmultiplexers gebruiken - zie onze overzicht):

$ sudo apt-get installatiescherm

Scherm is nodig als we via ssh verbinding maken met de spelserver. Met zijn hulp kun je de Minecraft-server in een apart terminalvenster laten draaien, en zelfs na het sluiten van de ssh-client zal de server werken.

Laten we een map maken waarin de serverbestanden worden opgeslagen:

$ mkdir bukkit $ cd bukkit

Daarna gaan we naar Bukkit officiële website downloadpagina. Rechtsboven op de pagina ziet u een link naar de nieuwste aanbevolen build van de server. Wij raden u aan deze te downloaden:

$ wget <aanbevolen versielink>

Laten we nu het scherm uitvoeren:

$sudo-scherm

en voer het volgende commando uit:

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

Laten we uitleggen wat de gebruikte parameters betekenen:

  • Xmx1024M - maximale hoeveelheid RAM per server;
  • jar craftbukkit.jar - sleutel tot de server;
  • o false - geeft toegang tot de server vanaf illegale clients.

De server wordt gestart.
U kunt de server stoppen door de opdracht stop in de console te typen.

Het instellen en configureren van de server

Serverinstellingen worden opgeslagen in het configuratiebestand server.properties. Het bevat de volgende parameters:

  • generator-settings — stelt de sjabloon in voor het genereren van een superplatte wereld;
  • allow-nether - bepaalt de mogelijkheid om naar de lagere wereld te verhuizen. Standaard is deze instelling ingesteld op waar. Indien ingesteld op false, worden alle spelers uit de Nether verplaatst naar de normale;
  • level-name - de naam van de map met kaartbestanden die tijdens het spel zullen worden gebruikt. De map bevindt zich in dezelfde map waar de serverbestanden zich bevinden. Als zo'n map niet bestaat, maakt de server automatisch een nieuwe wereld en plaatst deze in een map met dezelfde naam;
  • enable-query - indien ingesteld op true, activeert het GameSpy4-protocol om naar de server te luisteren;
  • allow-flight - staat vluchten rond de Minecraft-wereld toe. De standaardwaarde is false (vluchten zijn verboden);
  • server-port - geeft de poort aan die door de spelserver zal worden gebruikt. De standaardpoort voor Minecraft is 25565. Het wordt niet aanbevolen om de waarde van deze parameter te wijzigen;
  • level-type - bepaalt het type wereld (DEFAUT/FLAT/LARGEBIOMES);
  • enable-rcon - maakt externe toegang tot de serverconsole mogelijk. Standaard is het uitgeschakeld (false);
  • level-seed - invoergegevens voor de niveaugenerator. Om willekeurige werelden te kunnen creëren, moet dit veld leeg gelaten worden;
  • force-gamemode - stelt de standaard spelmodus in voor spelers die verbinding maken met de server;
  • server-ip - geeft het IP-adres aan dat door spelers zal worden gebruikt om verbinding te maken met de server;
  • max-build-height - geeft de maximale hoogte van een gebouw op de server aan. De waarde ervan moet een veelvoud van 16 zijn (64, 96, 256, enz.);
  • spawn-npcs - staat de verschijning van NPC's in dorpen toe (indien ingesteld op true) of verbiedt (indien ingesteld op false);
  • witte lijst - schakelt het gebruik van een witte lijst met spelers op de server in of uit. Indien ingesteld op true, kan de beheerder een witte lijst maken door er handmatig spelersbijnamen aan toe te voegen. Als de waarde onwaar is, heeft elke gebruiker die het IP-adres en de poort kent toegang tot de server;
  • spawn-animals - maakt het automatisch spawnen van vriendelijke mobs mogelijk als deze is ingesteld op true);
  • snooper-enabled - zorgt ervoor dat de server statistieken en gegevens naar ontwikkelaars kan sturen;
  • hardcore - schakelt de hardcore-modus op de server in;
  • texture-pac - textuurbestand dat zal worden gebruikt wanneer de speler verbinding maakt met de server. De waarde van deze parameter is de naam van het zip-archief met texturen, dat in dezelfde map als de server is opgeslagen;
  • online-modus - maakt het controleren van premium-accounts mogelijk van gebruikers die verbinding maken met de server. Als deze parameter is ingesteld op true, hebben alleen premium-accounthouders toegang tot de server. Als de accountverificatie is uitgeschakeld (ingesteld op false), hebben alle gebruikers toegang tot de server (inclusief bijvoorbeeld spelers die hun bijnaam hebben vervalst), wat extra veiligheidsrisico's met zich meebrengt. Als dit selectievakje is uitgeschakeld, kun je Minecraft via een lokaal netwerk spelen, zonder toegang tot internet;
  • pvp - staat toe of verbiedt spelers om met elkaar te vechten. Als deze parameter waar is, kunnen spelers elkaar vernietigen. Indien ingesteld op false, kunnen spelers elkaar geen directe schade toebrengen;
  • moeilijkheidsgraad - stelt de moeilijkheidsgraad van het spel in. Kan waarden aannemen van 0 (makkelijkst) tot 3 (moeilijkst);
  • gamemode - geeft aan welke spelmodus wordt ingesteld voor spelers die de server betreden. Kan de volgende waarden aannemen: 0 - Overleven, 1-Creatief, 2-Avontuur;
  • player-idle-timeout — tijd van inactiviteit (in minuten), waarna de verbinding tussen spelers en de server automatisch wordt verbroken;
  • max-players — het maximaal toegestane aantal spelers op de server (van 0 tot 999);
  • spawn-monsters - staat (indien ingesteld op true) het spawnen van vijandige mobs toe;
  • genereren-structuren — maakt het genereren van structuren (schatkamers, forten, dorpen) mogelijk (waar)/uitgeschakeld (onwaar);
  • view-distance - past de straal aan van bijgewerkte chunks die naar de speler moeten worden verzonden; kan waarden aannemen van 3 tot 15.

Minecraft-serverlogboeken worden naar het server.log-bestand geschreven. Het wordt opgeslagen in dezelfde map als de serverbestanden. Het logboek wordt voortdurend groter en neemt steeds meer schijfruimte in beslag. U kunt het werk van het logmechanisme stroomlijnen met behulp van de zogenaamde logrotatie. Voor rotatie wordt een speciaal hulpprogramma gebruikt: logrotate. Het beperkt het aantal vermeldingen in het logboek tot een bepaalde limiet.

U kunt logrotatie zo configureren dat alle vermeldingen worden verwijderd zodra het logbestand een bepaalde grootte bereikt. U kunt ook een periode instellen waarna alle oude vermeldingen als niet relevant worden beschouwd en worden verwijderd.

De basisrotatie-instellingen bevinden zich in het bestand /etc/logrotate.conf; Bovendien kunt u voor elke toepassing individuele instellingen maken. Bestanden met individuele instellingen worden opgeslagen in de map /etc/logrotate.d.

Laten we een tekstbestand /etc/logrotate.d/craftbukkit maken en de volgende parameters daarin invoeren:

/home/craftbukkit/server.log { roteer 2 wekelijkse compressies ontbrekende notifempty }

Laten we hun betekenissen in meer detail bekijken:

  • de rotatieparameter specificeert het aantal rotaties voordat het bestand wordt verwijderd;
  • wekelijks geeft aan dat de rotatie wekelijks wordt uitgevoerd (u kunt ook andere parameters instellen: maandelijks - maandelijks en dagelijks - dagelijks);
  • comprimeren geeft aan dat gearchiveerde logbestanden moeten worden gecomprimeerd (de omgekeerde optie is nocompress);
  • missenok geeft aan dat als er geen logbestand is, u moet blijven werken en geen foutmeldingen moet weergeven;
  • notifempty geeft aan dat het logbestand niet moet worden verschoven als het leeg is.

U kunt meer lezen over instellingen voor logboekrotatie hier.

Optimalisatietips

Laten we meteen reserveren dat deze sectie alleen tips zal geven die betrekking hebben op het optimaliseren van de spelserver. Kwesties van het verfijnen en optimaliseren van de server waarop Minecraft is geïnstalleerd, zijn een apart onderwerp dat buiten het bestek van dit artikel valt; geïnteresseerde lezers kunnen gemakkelijk de informatie vinden die ze nodig hebben op internet.

Een van de meest voorkomende problemen die zich voordoen bij het spelen van Minecraft zijn de zogenaamde vertragingen: situaties waarin het programma niet tijdig reageert op gebruikersinvoer. Ze kunnen worden veroorzaakt door problemen aan zowel de clientzijde als de serverzijde. Hieronder geven we aanbevelingen die de kans op problemen aan de serverzijde helpen verkleinen.

Controleer regelmatig het geheugengebruik van de server en plug-ins

Het geheugengebruik kan worden gecontroleerd met behulp van gespecialiseerde administratieve plug-ins, bijvoorbeeld LagMeter.

Houd ons in de gaten voor updates van plug-ins

In de regel streven ontwikkelaars van nieuwe plug-ins ernaar om de belasting bij elke nieuwe versie te verminderen.

Probeer niet veel plug-ins met vergelijkbare functionaliteit te gebruiken

Grote plug-ins (bijv. Essentials, AdminCMD, CommandBook) bevatten vaak de functionaliteit van veel kleinere plug-ins. Dezelfde Essential bevat bijvoorbeeld de functies van de plug-ins iConomy, uHome, OpenInv, VanishNoPacket, Kit. Kleine plug-ins, waarvan de functionaliteit volledig wordt gedekt door de functionaliteit van één grote, kunnen in de meeste gevallen worden verwijderd om de server niet te overbelasten.

Beperk de kaart en laad deze zelf

Als u de kaart niet beperkt, zal de belasting van de server aanzienlijk toenemen. Je kunt de kaart beperken met behulp van een plug-in Wereldgrens. Om dit te doen, moet u deze plug-in uitvoeren en de opdracht /wb 200 uitvoeren, en vervolgens de kaart tekenen met de opdracht /wb fill.

Tekenen kost natuurlijk veel tijd, maar het is beter om het een keer te doen en de server te sluiten voor technisch werk. Als elke speler de kaart tekent, werkt de server langzaam.

Vervang heavy-duty plug-ins door snellere en minder resource-intensieve plug-ins

Niet alle plug-ins voor Minecraft zijn succesvol te noemen: ze bevatten vaak veel onnodige en onnodige functies, en soms verbruiken ze ook veel geheugen. Het is beter om niet-succesvolle plug-ins te vervangen door alternatieve (er zijn er nogal wat). De LWC-plug-in kan bijvoorbeeld worden vervangen door Wgfix+MachineGuard en de DynMap-plug-in door Minecraft Overviewer.

Wis altijd de drop of installeer een plug-in om de drop automatisch te verwijderen

Drops in games zijn items die eruit vallen als een menigte sterft of als sommige blokken worden vernietigd. Het opslaan en verwerken van drops neemt veel systeembronnen in beslag.

Om de server sneller te laten werken, is het raadzaam om de drop te verwijderen. Dit kunt u het beste doen met behulp van speciale plug-ins, bijvoorbeeld NoLagg of McClean.

Gebruik geen anti-cheats

Op gameservers worden vaak zogenaamde anti-cheats geïnstalleerd: programma's die pogingen om het spel op oneerlijke wijze te beïnvloeden blokkeren.

Er zijn ook anti-cheats voor Minecraft. Elke anti-cheat is altijd een extra belasting voor de server. Het verdient de voorkeur om bescherming te installeren voor de launcher (die echter geen absolute veiligheidsgarantie biedt en gemakkelijk kan worden verbroken - maar dit is een onderwerp voor een aparte discussie) en voor de client.

In plaats Output

Eventuele instructies en aanbevelingen blijken veel effectiever als ze worden ondersteund door specifieke voorbeelden. Op basis van de bovenstaande installatie-instructies hebben we onze eigen Minecraft-server gemaakt en een aantal interessante dingen op de kaart gezet.

Dit is wat we hebben:

  • Bukkit-server - stabiele aanbevolen versie 1.6.4;
  • Statistiekenplug-in - om statistieken over spelers te verzamelen;
  • WorldBorder-plug-in - om de kaart te tekenen en te beperken;
  • WorldGuard-plug-in (+WorldEdit als afhankelijkheid) - om sommige gebieden te beschermen.

We nodigen iedereen uit om erop te spelen: om verbinding te maken, een nieuwe server toe te voegen en het adres in te voeren mncrft.slc.tl.

We zullen blij zijn als u uw eigen ervaringen met het installeren, configureren en optimaliseren van MineCraft-servers in de opmerkingen deelt en ons vertelt in welke mods en plug-ins u geïnteresseerd bent en waarom.

Leuk nieuws: Vanaf 1 augustus zijn de installatiekosten voor dedicated servers met een vaste configuratie met 50% verlaagd. Nu bedraagt ​​de eenmalige installatiebetaling slechts 3000 roebel.

Lezers die hier geen reacties kunnen achterlaten, worden uitgenodigd om ons te bezoeken op blog.

Bron: www.habr.com

Voeg een reactie