Oppretting og konfigurering av Minecraft-server

Oppretting og konfigurering av Minecraft-server

Minecraft er i dag en av de mest populÊre flerspillerne. PÄ mindre enn tre Är (den fÞrste offisielle utgivelsen skjedde hÞsten 2011) har det fÄtt millioner av fans over hele verden.

Utviklerne av spillet henter bevisst inspirasjon fra de beste eksemplene fra for tjue Är siden, da mange spill i dag fremstÄr som primitive med tanke pÄ grafikk og utilfredsstillende med tanke pÄ brukervennlighet, men som pÄ den annen side virkelig fanget interessen.

Som med alle sandkassespill gir Minecraft brukeren enorme muligheter for kreativitet — og det er i grunnen hemmeligheten bak dets popularitet.

Organisering av spillservere i flerspillermodus hÄndteres av spillerne selv og deres fellesskap. I dag opererer titusenvis av spillservere pÄ Internett (se for eksempel listen her).

Mange av vÄre kunder er ogsÄ fans av dette spillet, og de leier utstyr for spillprosjekter i vÄre datasentre. I denne artikkelen vil vi fortelle om hvilke tekniske aspekter man bÞr vÊre oppmerksom pÄ nÄr man velger en server for
Minecraft.

Velge plattform

Minecraft bestÄr av fÞlgende arkitektoniske elementer:

  1. server — programmet som brukes slik at spillerne kan interagere med hverandre over nettet;
  2. klient — programmet for Ă„ koble til serveren, installert pĂ„ spillerens datamaskin;
  3. plugins — tillegg til serveren som legger til nye funksjoner eller utvider gamle;
  4. mods — tillegg til spillverdenen (nye blokker, gjenstander, muligheter).

Det finnes mange serverplattformer for Minecraft. De mest utbredte og populĂŠre er Vanilla og Bukkit.

Vanilla er den offisielle plattformen fra utviklerne av spillet. Den distribueres bÄde i grafisk og konsollversjon. Den nye versjonen av Vanilla slippes alltid samtidig med den nye versjonen av Minecraft.

En ulempe med Vanilla er det hĂžyere minneforbruket (ca. 50 MB per spiller). En annen betydelig ulempe er fravĂŠret av plugins.

Bukkit ble laget av en gruppe entusiaster som forsĂžkte Ă„ forbedre den offisielle Minecraft-serveren. ForsĂžket var ganske vellykket: funksjonaliteten til Bukkit er mye bredere enn Vanilla, primĂŠrt takket vĂŠre stĂžtten for ulike modder og plugins. Samtidig bruker den mindre minne per spiller - omtrent 5-10 MB.

Ulempene med Bukkit er at den tar for mye RAM ved oppstart. Dessuten, jo lenger serveren gÄr, jo mer minne kreves det (selv om det er fÄ spillere). NÄr man velger Bukkit som server, bÞr man huske at de nyeste versjonene vanligvis inneholder feil; den stabile versjonen pleier vanligvis Ä dukke opp rundt 2-3 uker etter offisiell utgivelse av Minecraft.

I tillegg har andre plattformer (for eksempel Spout, MCPC og MCPC+) fÄtt Þkt popularitet, men de har begrenset kompatibilitet med Vanilla og Bukkit, samt svÊrt begrenset stÞtte for modder (for eksempel kan du for Spout bare skrive modder fra bunnen av). Hvis de brukes, bÞr det vÊre utelukkende for eksperimenter.

For Ä sette opp en spillserver anbefaler vi Ä bruke Bukkit-plattformen, da den tilbyr den stÞrste fleksibiliteten; i tillegg finnes det mange ulike modder og plugins for den. Stabil drift av Minecraft-serveren avhenger i stor grad av et godt valg av maskinvareplattform. La oss se nÊrmere pÄ dette spÞrsmÄlet.

Maskinvarekrav

BÄde serveren og klienten for Minecraft er veldig krevende med hensyn til systemressurser.
NÄr du velger maskinvareplattform, bÞr du merke deg at en flerkjerneprosessorkonfigurering ikke gir sÄ mange fordeler: kjernen til Minecraft-serveren kan bare bruke én beregningsstrÞm. Et andre kjerneminne vil imidlertid heller ikke vÊre overflÞdig: noen plugins kjÞrer i separate trÄder, og Java bruker ogsÄ begrensede ressurser...

Derfor for Minecraft-serveren er det bedre Ä velge en prosessor med hÞyere ytelse for én kjerne. En kraftigere dobbeltkjerneprosessorkonfigurasjon vil vÊre mer Þnskelig enn en flerkjernekonfigurasjon med lavere ytelse. PÄ spesialiserte forum anbefales det Ä bruke prosessorer med en klokkehastighet pÄ minst 3GHz.

For the normal functioning of a Minecraft server, a significant amount of RAM is required. Bukkit takes approximately 1GB of RAM; in addition, as mentioned above, 5 to 10 MB of RAM is allocated for each player. Plugins and mods also consume quite a bit of memory. Therefore, a server for 30 to 50 players will require at least 4 GB of RAM.

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

The speed of the internet connection is also crucial. A 10 Mb/s connection is quite sufficient for 40-50 players. However, for those planning a more extensive Minecraft project, including a website, forum, and dynamic map, it is highly advisable to have a connection 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 used for our test Minecraft server, 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 SSD disks, but we offer another significant advantage: a guaranteed channel of 100 Mb/s without any limitations or ratios. When ordering any of the configurations mentioned above, no installation fee is charged.

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

  • 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 taking a look at the new budget model with an SSD based on the Intel Atom C2758 processor: Intel Atom C2758 2.4GHz, 16GB RAM, 2×240GB SSD, 4000 rub/month, installation fee — 3000 rub.

Installing and running a Bukkit server on Ubuntu OS

FĂžr vi installerer serveren, skal vi opprette en ny bruker og legge den til i sudo-gruppen:

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

Deretter setter vi et passord som den opprettede brukeren skal bruke for Ä logge inn pÄ serveren:

$ sudo passwd

Vi kobler oss til serveren med den nye brukerkontoen og begynner med installasjonen.
Minecraft er skrevet i Java, sÄ Java Runtime Environment mÄ installeres pÄ serveren.

Vi oppdaterer listen over tilgjengelige pakker:

$ sudo apt-get update

Deretter kjĂžrer vi den fĂžlgende kommandoen:

$ sudo apt-get install default-jdk

For Ă„ installere og kjĂžre Bukkit er det ogsĂ„ Ăžnskelig Ă„ installere en terminal multiplexor — for eksempel screen (andre terminal multiplexorer kan ogsĂ„ brukes — se vĂ„r oversikt):

$ sudo apt-get install screen

Screen vil vĂŠre nĂždvendig hvis vi kobler oss til spillserveren via ssh. Med det kan vi starte Minecraft-serveren i et eget terminalvindu, og selv etter at ssh-klienten lukkes, vil serveren fortsatt vĂŠre aktiv.

Vi oppretter en mappe der serverfilene skal lagres:

$ mkdir bukkit
$ cd bukkit

Deretter gÄr vi til nedlastingssiden pÄ den offisielle Bukkit-nettsiden. I Þverste hÞyre hjÞrne av siden kan du se en lenke til den nyeste anbefalte serverbygningen (recommended build). Vi anbefaler Ä laste ned nettopp den:

$ wget

NĂ„ starter vi screen:

$ sudo screen

og kjĂžrer den fĂžlgende kommandoen:

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

La oss forklare hva parametrene som brukes betyr:

  • Xmx1024M — den maksimale mengden RAM pĂ„ serveren;
  • jar craftbukkit.jar — stien til serveren;
  • o false — tillater tilgang til serveren fra piratklienter.

Serveren vil bli startet.
For Ă„ stoppe serveren kan du skrive kommandoen stop i konsollen.

Konfigurering og innstilling av serveren

Serverinnstillingene lagres i konfigurasjonsfilen server.properties. Den inneholder fĂžlgende parametere:

  • generator-settings — setter mĂžnsteret for generering av superflate verden;
  • allow-nether — definerer muligheten for Ă„ gĂ„ til Nether. Som standard er verdien for dette parameteret satt til true. Hvis verdien er satt til false, vil alle spillere fra Nether bli flyttet til den vanlige verden.
  • level-name — navnet pĂ„ mappen med kartfiler som skal brukes under spillet. Mappen plasseres i den samme katalogen der serverfilene ligger. Hvis en slik katalog ikke finnes, oppretter serveren automatisk en ny verden og plasserer den i en mappe med samme navn;
  • enable-query — nĂ„r satt til true, aktiverer GameSpy4-protokollen for serverlytting;
  • allow-flight — tillater flyvning i Minecraft-verdenen. Som standard er det satt til false (flyvning er forbudt);
  • server-port — angir porten som serveren vil bruke. Standardporten for Minecraft er 25565. Det anbefales ikke Ă„ endre verdien av denne parameteren;
  • level-type — definerer typen verden (DEFAULT/FLAT/LARGEBIOMES);
  • enable-rcon — Ă„pner ekstern tilgang til serverens konsoll. Som standard er den deaktivert (false);
  • level-seed — inndata til nivĂ„generatoren. For Ă„ kunne opprette tilfeldige verdener, mĂ„ dette feltet vĂŠre tomt;
  • force-gamemode — setter standard spillmodus for spillere som kobler seg til serveren;
  • server-ip — angir IP-adressen som brukes av spillere for Ă„ koble til serveren;
  • max-build-height — angir maksimal byggehĂžyde pĂ„ serveren. Verdien mĂ„ vĂŠre et tall som er delelig med 16 (64, 96, 256 osv.);
  • spawn-npcs — tillater (hvis satt til true) eller forbyr (hvis satt til false) fremveksten av NPC-er i landsbyer;
  • white-list — aktiverer eller deaktiverer bruken av hvitelisten for spillere pĂ„ serveren. Hvis satt til true, kan administratoren lage en hvitelist ved Ă„ legge til spillernavn manuelt. Hvis satt til false, kan enhver bruker som kjenner IP-adressen og porten, gĂ„ inn pĂ„ serveren;
  • spawn-animals — tillater automatisk fremvekst av vennlige mobber, hvis satt til true;
  • snooper-enabled — tillater serveren Ă„ sende statistikk og data til utviklerne;
  • hardcore — aktiverer hardcore-modus pĂ„ serveren;
  • texture-pack — teksturfila som skal brukes nĂ„r spilleren kobler til serveren. Verdien pĂ„ denne parameteren angir navnet pĂ„ zip-arkivet med teksturer, som er plassert i samme katalog som serveren;
  • online-mode – aktiverer kontrollen av premium-kontoer for brukere som kobler seg til serveren. Hvis denne parameteren er satt til true, kan kun eiere av premium-kontoer fĂ„ tilgang til serveren. Hvis kontrolleren er deaktivert (satt til false), kan alle brukere (inkludert for eksempel spillere som har forfalsket navn) fĂ„ tilgang til serveren, noe som skaper ekstra sikkerhetsrisikoer. Med deaktivert kontroll kan man spille Minecraft via lokalt nettverk uten internettilgang;
  • pvp – tillater eller forbyr spillere Ă„ krige mot hverandre. Hvis denne parameteren er satt til true, kan spillere Ăždelegge hverandre. Hvis den er satt til false, kan ikke spillere pĂ„fĂžre hverandre direkte skade;
  • difficulty – setter vanskelighetsgraden i spillet. Kan vĂŠre mellom 0 (letteste) og 3 (vanskeligste);
  • gamemode – angir hvilken spillmodus som skal vĂŠre aktiv for spillere som kobler seg til serveren. Kan ha fĂžlgende verdier: 0 – Survival, 1 – Creative, 2 – Adventure;
  • player-idle-timeout – tiden med inaktivitet (i minutter) etter hvilken spillere automatisk kobles fra serveren;
  • max-players – maksimalt tillatt antall spillere pĂ„ serveren (fra 0 til 999);
  • spawn-monsters – tillater (hvis satt til true) spawnen av fiendtlige mobber;
  • generate-structures – aktiverer (true)/deaktiverer (false) generering av strukturer (skatter, festninger, landsbyer);
  • view-distance – justerer radiusen for oppdaterte chunks som sendes til spilleren; kan vĂŠre mellom 3 og 15.

Minecraft-serverlogger registreres i filen server.log. Den lagres i samme mappe som serverfilene. Loggen vokser konstant i stĂžrrelse og tar opp stadig mer diskplass. Arbeidet med loggmekanismen kan organiseres gjennom sĂ„kalt loggrotasjon. For rotasjon brukes et spesielt verktĂžy – logrotate. Det begrenser antallet poster i loggen til et bestemt tak.

Loggene kan konfigureres slik at alle poster fjernes sÄ snart loggfilen nÄr en bestemt stÞrrelse. Det kan ogsÄ settes en tidsgrense, etter hvilken alle gamle poster anses som utdaterte og fjernes.

De viktigste innstillingene for rotasjon finnes i filen /etc/logrotate.conf; i tillegg kan det opprettes individuelle innstillinger for hvert program. Filer med individuelle innstillinger lagres i mappen /etc/logrotate.d.

La oss opprette en tekstfil /etc/logrotate.d/craftbukkit og skrive inn fĂžlgende parametere:

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

La oss se nÊrmere pÄ verdiene deres:

  • parameteret rotate angir antallet rotasjoner fĂžr filen blir slettet;
  • weekly angir at rotasjonen vil bli utfĂžrt ukentlig (andre parametere kan settes: monthly — mĂ„nedlig og daily — daglig);
  • compress angir at arkiverte logger skal komprimeres (den motsatte opsjonen er nocompress);
  • missingok angir at hvis loggfilen mangler, skal arbeidet fortsette og ikke vise feilmeldinger;
  • notifempty angir at loggfilen ikke skal flyttes hvis den er tom.

Du kan lese mer om innstillingene for loggrotasjon her.

Tips for optimalisering

Vi Þnsker Ä opplyse om at dette avsnittet kun vil inneholde tips relatert til optimalisering av spillserveren. SpÞrsmÄl om finjustering og optimalisering av serveren som har Minecraft installert, utgjÞr et eget tema som gÄr utover denne artikkelen; interesserte lesere vil enkelt kunne finne den nÞdvendige informasjonen pÄ Internett.

En av de vanligste problemene som oppstĂ„r under spillingen av Minecraft, er sĂ„kalte lag — situasjoner der programmet ikke reagerer raskt nok pĂ„ brukerens inndata. Dette kan skyldes problemer bĂ„de pĂ„ klientsiden og pĂ„ serversiden. Nedenfor vil vi gi anbefalinger som kan bidra til Ă„ redusere sannsynligheten for problemer pĂ„ serversiden.

Kontroller jevnlig minnebruken til serveren og pluginene

Minneforbruket kan overvĂ„kes ved hjelp av spesialiserte administrative plugins — for eksempel, LagMeter.

FÞlg med pÄ oppdateringene av pluginene

Som regel prĂžver utviklerne av nye plugins med hver ny versjon Ă„ redusere belastningen.

ForsÞk Ä unngÄ Ä bruke mange plugins med liknende funksjonalitet.

Store plugins (for example, Essentials, AdminCMD, CommandBook) often include the functionalities of many smaller plugins. For instance, Essentials itself contains functions from plugins like iConomy, uHome, OpenInv, VanishNoPacket, and Kit. Smaller plugins whose functionalities are fully covered by the functionalities of one large plugin can usually be removed to avoid overloading the server.

Limit the map and load it manually.

If the map is not limited, the load on the server will significantly increase. You can limit the map using the plugin. WorldBorder.To do this, you need to run this plugin and execute the command /wb 200, and then render the map using the command /wb fill.

Rendering will certainly take some time, but it is better to do it once by closing the server for maintenance. If every player renders the map, the server will run slowly.

Replace heavy plugins with faster and less resource-intensive ones.

Not all plugins for Minecraft can be considered successful: they often contain many unnecessary features and sometimes consume a lot of memory. It's better to replace unsuccessful plugins with alternatives (there are quite a few available). For example, the LWC plugin can be replaced with Wgfix+MachineGuard, and the DynMap plugin with Minecraft Overviewer.

Always clear drops or install a plugin for automatic drop removal.

Drops in games refer to items that fall upon the death of a mob or the destruction of certain blocks. Storing and processing drops consume a lot of system resources.

To make the server run faster, it is advisable to delete drops. This is best done using special plugins, such as NoLagg or McClean.

Do not use anti-cheats.

Gaming servers often install so-called anti-cheats — programs that block attempts to cheat in the game.

There are anti-cheats for Minecraft as well. Any anti-cheat is always an additional load on the server. It is preferable to install protections for the launcher (which, however, do not guarantee absolute security and can be easily broken — but that is a topic for another discussion) and for the client.

In conclusion

Enhver veiledning og anbefaling blir betydelig mer effektiv nÄr den stÞttes av konkrete eksempler. Basert pÄ de tidligere installasjonsinstruksjonene har vi opprettet vÄr egen MineCraft-server og lagt noe interessant pÄ kartet.

Slik ble resultatet vÄrt:

  • Bukkit-server – den anbefalte stabile versjonen 1.6.4;
  • Statistics-plugin – for Ă„ samle inn statistikk om spillerne;
  • WorldBorder-plugin – for Ă„ tegne og begrense kartet;
  • WorldGuard-plugin (+WorldEdit som avhengighet) – for Ă„ beskytte enkelte omrĂ„der.

Vi inviterer alle som Þnsker Ä spille pÄ den: for Ä koble til, legg til en ny server og oppgi adressen mncrft.slc.tl.

Vi vil sette pris pÄ om dere deler deres egne erfaringer med installering, konfigurasjon og optimalisering av MineCraft-servere i kommentarfeltet, og forteller hvilke mods og plugins dere er interessert i og hvorfor.

Gode nyheter: Fra 1. august er etableringsgebyret for dedikerte servere med fast konfigurasjon redusert med 50 %. NĂ„ er engangs etableringsgebyret kun 3000 rubler.

Lesere som ikke kan legge igjen kommentarer her, inviteres til vÄr blogg.

Kilde: habr.com

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster