Skep en opstel van 'n Minecraft-bediener

Skep en opstel van 'n Minecraft-bediener

Minecraft is vandag een van die gewildste aanlyn speletjies. In minder as drie jaar (die eerste amptelike vrystelling het in die herfs van 2011 plaasgevind), het hy miljoene aanhangers regoor die wêreld bygekry.

Speletjieontwikkelaars fokus doelbewus op die beste voorbeelde van twintig jaar gelede, toe baie speletjies volgens vandag se standaarde primitief was in terme van grafika en onvolmaak in terme van bruikbaarheid, maar terselfdertyd was dit regtig opwindend.

Soos alle sandbox-speletjies, bied Minecraft die gebruiker groot geleenthede vir kreatiwiteit - dit is in werklikheid die hoofgeheim van sy gewildheid.

Die organisasie van bedieners om in multispeler-modus te speel, word deur die spelers self en hul gemeenskappe uitgevoer. Vandag werk tienduisende speletjiebedieners op die internet (sien byvoorbeeld die lys hier).

Daar is baie aanhangers van hierdie speletjie onder ons kliënte, en hulle huur toerusting vir speletjieprojekte in ons datasentrums. In hierdie artikel sal ons praat oor watter tegniese punte u moet let op wanneer u 'n bediener kies
Minecraft.

Die keuse van 'n platform

Die Minecraft-speletjie bevat die volgende argitektoniese elemente:

  1. bediener - 'n program waarmee spelers oor 'n netwerk met mekaar kommunikeer;
  2. kliënt - 'n program om aan die bediener te koppel, geïnstalleer op die speler se rekenaar;
  3. plugins - toevoegings tot die bediener wat nuwe kenmerke byvoeg of oues uitbrei;
  4. mods - toevoegings tot die spelwêreld (nuwe blokke, items, kenmerke).

Daar is baie bedienerplatforms vir Minecraft. Die algemeenste en gewildste is Vanilla en Bukkit.

vanielje Dit is die amptelike platform van die ontwikkelaars van die spel. Versprei in beide grafiese en konsole weergawes. 'n Nuwe weergawe van Vanilla kom altyd op dieselfde tyd uit as 'n nuwe weergawe van Minecraft.

Vanilla se nadeel is sy oormatige geheueverbruik (ongeveer 50 MB per speler). Nog 'n belangrike nadeel is die gebrek aan plugins.

bukkit is geskep deur 'n groep entoesiaste wat probeer het om die amptelike Minecraft-bediener te verbeter. Die poging blyk redelik suksesvol te wees: wat funksionaliteit betref, is Bukkit baie wyer as Vanilla - hoofsaaklik as gevolg van die ondersteuning vir verskeie mods en plugins. Terselfdertyd verbruik dit minder geheue per speler - ongeveer 5-10 MB.

Die nadele van Bukkit is dat dit te veel RAM opneem wanneer dit begin. Daarbenewens, hoe langer die bediener loop, hoe meer geheue benodig dit (selfs al is daar min spelers). Wanneer jy Bukkit as 'n bediener kies, hou in gedagte dat sy nuwe weergawes, as 'n reël, foute bevat; die stabiele weergawe verskyn gewoonlik ongeveer 2-3 weke na die vrystelling van die amptelike weergawe van Minecraft.

Daarbenewens het ander platforms onlangs gewild geword (byvoorbeeld Spout, MCPC en MCPC +), maar hulle verskil in beperkte versoenbaarheid met Vanilla en Bukkit en baie beperkte ondersteuning vir mods (jy kan byvoorbeeld slegs mods vir Spout van nuuts af skryf ). As hulle gebruik word, dan slegs vir eksperimente.

Om 'n speletjiebediener te organiseer, beveel ons aan om die Bukkit-platform te gebruik, aangesien dit die buigsaamste is; Daarbenewens is daar baie verskillende mods en plugins onder dit. Die stabiele werking van die Minecraft-bediener hang grootliks af van die korrekte keuse van die hardeware-platform. Kom ons kyk na hierdie vraag in meer detail.

Hardewarevereistes

Beide die bediener en die Minecraft-kliënt is baie veeleisend op stelselhulpbronne.
By die keuse van 'n hardewareplatform moet in gedagte gehou word dat 'n multi-kern verwerker nie groot voordele sal gee nie: die Minecraft-bedienerkern kan slegs een berekeningsdraad gebruik. Die tweede kern sal egter nuttig wees: sommige inproppe word in aparte drade uitgevoer, en Java verbruik ook baie hulpbronne ...

Daarom, vir 'n Minecraft-bediener, is dit beter om 'n verwerker te kies wat hoër enkelkernwerkverrigting het. 'n Kragtiger dubbelkernverwerker sal verkies word bo 'n minder kragtige multikernverwerker. Op gespesialiseerde forums word dit aanbeveel om verwerkers met 'n klokspoed van minstens 3 GHz te gebruik.

'N Groot hoeveelheid RAM word benodig vir die normale funksionering van die Minecraft-bediener. Bukkit neem ongeveer 1 GB RAM op; daarby word vir elke speler, soos hierbo genoem, 5 tot 10 MB toegeken. Inproppe en mods verbruik ook nogal baie geheue. Vir 'n bediener met 30 - 50 spelers sal jy dus minstens 4 GB RAM benodig.

In Minecraft hang baie (byvoorbeeld die laai van dieselfde plugins) af van die spoed van die lêerstelsel. Daarom is dit verkieslik om 'n bediener met 'n SSD-aandrywer te kies. Spilaandrywings sal waarskynlik nie geskik wees nie weens die lae ewekansige leesspoed.

Internetverbindingspoed is ook van groot belang. Vir 'n speletjie van 40-50 mense is 'n 10 Mb/s-kanaal genoeg. Vir diegene wat egter 'n groter minecraft-projek beplan, insluitend 'n webwerf, 'n forum en 'n dinamiese kaart, is dit hoogs wenslik om 'n kanaal met 'n hoër bandwydte te hê.

Watter spesifieke konfigurasie is die beste om te kies? Van konfigurasies wat ons aanbied Ons beveel aan dat u aandag gee aan die volgende:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2x500GB SATA, 3000 vryf/maand;
  • Intel Core 2 Quad Q8300 2.5GHz, 6GB RAM, 2×500GB SATA, 3500 vryf/maand - ons gebruik hierdie konfigurasie vir ons MineCraft-toetsbediener, waarop jy nou kan speel (hoe om dit te doen word hieronder beskryf);
  • Intel Core i3-2120 3.3GHz, 8GB RAM, 2x500GB SATA, 3500 vryf/maand

Hierdie konfigurasies is baie geskik om 'n Minecraft-bediener vir 30-40 spelers te skep. Sommige nadeel is die gebrek aan SSD-aandrywers, maar ons gee nog 'n belangrike voordeel: 'n gewaarborgde 100 Mb / s-kanaal sonder enige beperkings en verhoudings. Wanneer al die konfigurasies hierbo gelys bestel word, word die installasiefooi nie gehef nie.

Ons het ook meer produktiewe, maar terselfdertyd natuurlik duurder bedieners (wanneer hierdie konfigurasies bestel word, word die opstelbetaling ook nie gehef nie):

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

Ons beveel ook aan dat u aandag gee aan die nuwe begrotingsmodel met 'n SSD-aandrywer gebaseer op die Intel Atom C2758-verwerker: Intel Atom C2758 2.4 GHz, 16 GB RAM, 2 × 240 GB SSD, 4000 roebels / maand, installasiebetaling - 3000 roebels.

Installeer en bestuur die Bukkit-bediener in Ubuntu OC

Voordat ons die bediener installeer, laat ons 'n nuwe gebruiker skep en dit by die sudo-groep voeg:

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

Stel dan die wagwoord in waaronder die geskepte gebruiker aan die bediener sal koppel:

$ sudo passwd <gebruikernaam>

Koppel weer aan die bediener onder 'n nuwe rekening en gaan voort met die installasie.
Minecraft is in Java geskryf, so die Java Runtime Environment moet op die bediener geïnstalleer word.

Dateer die lys van beskikbare pakkette op:

$ sudo apt-update

Voer dan die volgende opdrag uit:

$ sudo apt-get install default-jdk

Om Bukkit te installeer en te laat loop, is dit ook wenslik om 'n terminale multiplekser te installeer - byvoorbeeld skerm (ander terminale multiplexers kan gebruik word - sien ons Oorsig):

$ sudo apt-get installeer skerm

Skerm sal nodig wees as ons via ssh aan die spelbediener koppel. Daarmee sal dit moontlik wees om die Minecraft-bediener in 'n aparte terminale venster te begin, en selfs nadat die ssh-kliënt gesluit is, sal die bediener werk.

Kom ons skep 'n gids waar die bedienerlêers gestoor sal word:

$ mkdir bukkit $ cd bukkit

Daarna gaan ons na Bukkit amptelike webwerf aflaai bladsy. In die boonste regterkantste deel van die bladsy kan jy 'n skakel sien na die nuutste bedienerbou wat aanbeveel word vir gebruik (aanbevole bou). Ons beveel aan om dit af te laai:

$ wget <skakel na aanbevole weergawe>

Laat ons nou die skerm laat loop:

$ sudo skerm

en voer die volgende opdrag uit:

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

Kom ons verduidelik wat die parameters wat gebruik word beteken:

  • Xmx1024M - maksimum hoeveelheid RAM per bediener;
  • jar craftbukkit.jar - sleutel tot die bediener;
  • o vals - laat toegang tot die bediener toe vanaf seerowerkliënte.

Die bediener sal begin.
U kan die bediener stop deur die stop-opdrag in die konsole in te tik.

Die opstel en konfigurasie van die bediener

Die bedienerinstellings word in die server.properties-konfigurasielêer gestoor. Dit bevat die volgende opsies:

  • kragopwekker-instellings - stel die sjabloon vir die generering van 'n super plat wêreld;
  • toelaat-neder - bepaal die moontlikheid van oorgang na die Onder. By verstek is hierdie parameter op waar gestel. As dit op vals gestel is, sal alle spelers van die Nederlande na die normale geskuif word;
  • vlaknaam is die naam van die kaartlêergids wat tydens die speletjie gebruik sal word. Die gids is in dieselfde gids as die bedienerlêers geleë. As daar nie so 'n gids is nie, skep die bediener outomaties 'n nuwe wêreld en plaas dit in 'n gids met dieselfde naam;
  • aktiveer-navraag - wanneer dit op waar gestel is, aktiveer die GameSpy4-protokol om na die bediener te luister;
  • toelaat-vlug - Laat vlugte in die Minecraft-wêreld toe. Die verstekwaarde is vals (geen vlugte);
  • bediener-poort - spesifiseer die poort wat deur die spelbediener gebruik sal word. Die verstekpoort vir Minecraft is 25565. Ons beveel nie aan om hierdie instelling te verander nie;
  • vlak-tipe - definieer die tipe wêreld (DEFAUT/FLAT/LARGEBIOMES);
  • enable-rcon - maak afstandtoegang tot die bedienerkonsole oop. Dit is by verstek gedeaktiveer (onwaar);
  • vlak-saad - insette vir die vlak generator. Om ewekansige wêrelde te kan skep, moet hierdie veld leeg gelaat word;
  • force-gamemode - stel die spelers wat aan die bediener koppel na die standaard spelmodus;
  • bediener-ip - spesifiseer die IP-adres wat deur spelers gebruik sal word om aan die bediener te koppel;
  • max-build-height - spesifiseer die maksimum hoogte van 'n gebou op die bediener. Die waarde daarvan moet 'n veelvoud van 16 (64, 96, 256, ens.) wees;
  • spawn-npcs - Laat (indien op waar gestel) of deaktiveer (indien op vals gestel) NPC's toe om in dorpe te spawn.
  • witlys - aktiveer en deaktiveer die gebruik van 'n witlys van spelers op die bediener. As dit op waar gestel is, sal die administrateur 'n witlys kan skep deur spelerbyname handmatig daarby te voeg. As dit op vals gestel is, kan enige gebruiker wat sy IP-adres en poort ken, toegang tot die bediener kry;
  • spawn-diere - Laat vriendelike skares toe om outomaties te spawn as dit op waar gestel is)
  • snooper-geaktiveer - laat die bediener toe om statistieke en data aan ontwikkelaars te stuur;
  • hardcore - skakel die Hardcore-modus op die bediener aan;
  • texture-pac is die tekstuurlêer wat gebruik sal word wanneer die speler aan die bediener koppel. Die waarde van hierdie parameter is die naam van die zip-argief met teksture, wat in dieselfde gids as die bediener gestoor word;
  • aanlyn-modus - maak dit moontlik om die premiumrekeninge van gebruikers wat aan die bediener koppel, na te gaan. As hierdie parameter op waar gestel is, sal slegs premium rekeninghouers toegang tot die bediener kan kry. As rekeningverifikasie gedeaktiveer is (op vals gestel), dan kan enige gebruikers (insluitend, byvoorbeeld, spelers wat 'n bynaam vervals het) toegang tot die bediener kry, wat bykomende sekuriteitsrisiko's skep. Met verifikasie gedeaktiveer, kan jy Minecraft oor 'n plaaslike netwerk speel, sonder toegang tot die internet;
  • pvp - laat of verbied spelers om teen mekaar te veg. As hierdie parameter op waar gestel is, kan spelers mekaar vernietig. As dit op vals gestel is, kan spelers nie direkte skade aan mekaar toedien nie;
  • moeilikheidsgraad - stel die moeilikheidsgraad van die spel in. Kan waardes neem van 0 (maklikste) tot 3 (moeilikste);
  • spelmodus - spesifiseer watter spelmodus gestel sal word vir spelers wat by die bediener aansluit. Kan die volgende waardes neem: 0 - Oorlewing, 1-Kreatief, 2-Avontuur;
  • player-idle-timeout - ledige tyd (in minute), waarna spelers outomaties van die bediener ontkoppel word;
  • maksimum-spelers - die maksimum toegelate aantal spelers op die bediener (van 0 tot 999);
  • spawn-monsters - laat toe (indien op waar gestel) die voortplanting van vyandige skares;
  • genereer-strukture - aktiveer (waar) / deaktiveer (onwaar) die generering van strukture (skatkamers, vestings, dorpe);
  • kyk-afstand - pas die radius van opgedateerde stukke aan om na die speler te stuur; kan waardes van 3 tot 15 neem.

Minecraft-bedienerlogboeke word na die server.log-lêer geskryf. Dit word in dieselfde vouer as die bedienerlêers gestoor. Die logboek groei voortdurend in grootte en neem al hoe meer skyfspasie op. U kan die werking van die logmeganisme stroomlyn deur die sogenaamde houtrotasie te gebruik. Vir rotasie word 'n spesiale nut gebruik - logrotate. Dit beperk die aantal inskrywings in die logboek tot 'n sekere limiet.

Jy kan logrotasie opstel sodat alle inskrywings uitgevee sal word sodra die loglêer 'n sekere grootte bereik. Jy kan ook 'n tydperk stel waarna alle ou inskrywings as irrelevant beskou sal word en uitgevee sal word.

Die hoofrotasie-instellings is in die /etc/logrotate.conf lêer; daarbenewens kan individuele instellings vir elke toepassing geskep word. Lêers met individuele instellings word in die /etc/logrotate.d gids gestoor.

Skep 'n tekslêer /etc/logrotate.d/craftbukkit en voer die volgende parameters daarin in:

/home/craftbukkit/server.log { draai 2 weeklikse compress missingok notifempty }

Kom ons kyk na hul betekenisse in meer detail:

  • die roteer-parameter spesifiseer die aantal rotasies voordat die lêer uitgevee word;
  • weekliks dui aan dat die rotasie weekliks uitgevoer sal word (ander parameters kan ingestel word: maandeliks - maandeliks en daagliks - daagliks);
  • compress spesifiseer dat die geargiveerde logs saamgepers moet word (opsie is nocompress);
  • missingok spesifiseer dat in die afwesigheid van 'n loglêer, werk moet voortgaan en geen foutboodskappe vertoon moet word nie;
  • notifempty spesifiseer om nie die loglêer te verskuif as dit leeg is nie.

Jy kan meer lees oor logrotasie-instellings. hier.

Optimaliseringswenke

Maak dadelik 'n bespreking dat hierdie afdeling wenke sal verskaf wat slegs verband hou met die optimalisering van die speletjiebediener. Die kwessies van die fyninstelling en optimalisering van die bediener waarop Minecraft geïnstalleer is, is 'n aparte onderwerp wat buite die bestek van hierdie artikel val; belangstellende lesers kan maklik die inligting wat hulle benodig op die internet vind.

Een van die mees algemene probleme wat ontstaan ​​wanneer jy Minecraft speel, is die sogenaamde lags - situasies wanneer die program nie betyds op gebruikersinsette reageer nie. Dit kan veroorsaak word deur probleme aan die kliëntkant sowel as aan die bedienerkant. Hieronder sal ons aanbevelings gee wat sal help om die waarskynlikheid van probleme aan die bedienerkant te verminder.

Monitor die geheueverbruik van die bediener en inproppe gereeld

Geheueverbruik kan opgespoor word met behulp van gespesialiseerde administratiewe inproppe - byvoorbeeld, Lagmeter.

Bly ingeskakel vir inpropopdaterings

As 'n reël streef ontwikkelaars van nuwe plugins met elke nuwe weergawe daarna om die las te verminder.

Probeer om nie baie inproppe met soortgelyke funksionaliteit te gebruik nie

Groot inproppe (bv. Essentials, AdminCMD, CommandBook) sluit baie dikwels die funksionaliteit van baie kleiner inproppe in. Dieselfde Essential bevat byvoorbeeld die funksies van die iConomy, uHome, OpenInv, VanishNoPacket, Kit-inproppe. Klein invoegtoepassings, waarvan die funksionaliteit heeltemal deur die funksionaliteit van een groot een gedek word, kan in die meeste gevalle verwyder word om nie die bediener te oorlaai nie.

Beperk die kaart en laai dit self af

As u nie die kaart beperk nie, sal die las op die bediener aansienlik toeneem. U kan die kaart beperk deur die inprop te gebruik Wêreldgrens. Om dit te doen, moet jy hierdie inprop uitvoer en die /wb 200-opdrag uitvoer, en dan die kaart teken met die /wb fill-opdrag.

Om te teken, sal natuurlik baie tyd neem, maar dit is beter om dit een keer te doen en die bediener te sluit vir tegniese werk. As elke speler die kaart teken, sal die bediener stadig werk.

Vervang swaargewig-inproppe met vinniger en minder hulpbronintensiewe

Nie alle Minecraft-inproppe kan suksesvol genoem word nie: hulle bevat dikwels baie onnodige en onnodige funksies, en soms verbruik hulle ook baie geheue. Onsuksesvolle inproppe word die beste vervang met alternatiewe (daar is 'n hele paar van hulle). Byvoorbeeld, die LWC-inprop kan vervang word met Wgfix+MachineGuard, en die DynMap-inprop met Minecraft Overviewer.

Maak altyd die druppel skoon of installeer 'n inprop om die druppel outomaties te verwyder

Druppels in speletjies is items wat uitval wanneer 'n gepeupel sterf of sommige blokke vernietig word. Berging en verwerking van druppels neem baie stelselhulpbronne in beslag.

Om die bediener vinniger te laat loop, is dit raadsaam om die druppel uit te vee. Dit word die beste gedoen deur spesiale inproppe te gebruik - byvoorbeeld NoLagg of McClean.

Moenie anti-cheats gebruik nie

Sogenaamde anti-cheats word dikwels op speletjiebedieners geïnstalleer – programme wat pogings blokkeer om die speletjie op oneerlike maniere te beïnvloed.

Daar is ook anti-cheats vir Minecraft. Enige anti-cheat is altyd 'n bykomende las op die bediener. Dit is verkieslik om beskermings te installeer vir die lanseerder (wat egter nie 'n absolute waarborg van veiligheid gee en maklik breek nie - maar dit is 'n onderwerp vir 'n aparte bespreking) en vir die kliënt.

In plaas daarvan om 'n gevolgtrekking

Enige instruksies en aanbevelings is baie meer effektief as dit deur konkrete voorbeelde ondersteun word. Gebaseer op die installasie-instruksies hierbo, het ons ons eie MineCraft-bediener geskep en iets interessants op die kaart geplaas.

Hier is wat ons gekry het:

  • Bukkit-bediener - stabiele aanbevole weergawe 1.6.4;
  • Statistiek-inprop - om statistieke oor spelers in te samel;
  • Plugin WorldBorder - om die kaart te teken en te beperk;
  • WorldGuard-inprop (+WorldEdit as 'n afhanklikheid) - om sommige gebiede te beskerm.

Ons nooi almal uit om daarop te speel: om aan te sluit, voeg 'n nuwe bediener by en spesifiseer die adres mncrft.slc.tl.

Ons sal bly wees as u in die opmerkings u eie ervaring van die installering, konfigurasie en optimalisering van MineCraft-bedieners deel en ons vertel in watter mods en plugins u belangstel en hoekom.

Goeie nuus: Vanaf 1 Augustus is die opstelfooi vir vaste opstelling toegewyde bedieners met 50% verminder. Nou is die eenmalige installasiebetaling slegs 3000 roebels.

Lesers wat nie hier kommentaar kan lewer nie, is welkom om by ons aan te sluit by blog.

Bron: will.com

Voeg 'n opmerking