Minecraft szerver létrehozása és konfigurálása

Minecraft szerver létrehozása és konfigurálása

A Minecraft ma manapság az egyik legnépszerűbb online játék. Kevesebb mint három év alatt (az első hivatalos kiadás 2011 őszén történt) több millió rajongóra tett szert világszerte.

A játék fejlesztői szándékosan a húsz évvel ezelőtti legjobb példákra orientálódnak, amikor sok játék a mai mércékkel primitív volt grafikai szempontból és nem voltak tökéletesek a használhatóság szempontjából, de mégis igazán lebilincselőek voltak.

Mint minden homokozó játék, a Minecraft is óriási lehetőségeket kínál a felhasználóknak a kreatív alkotásra – ez tulajdonképpen a népszerűségének fő titka.

Szervezés játékszerverekhez a többjátékos módhoz a játékosok és közösségeik maguk foglalkoznak. Ma az interneten több tízezer játékszerver található (például itt található a lista).

Sokan közülük, akik ezt a játékot kedvelik, a mi ügyfeleink közé tartoznak, és nálunk bérelnek berendezéseket játékkal kapcsolatos projektekhez. Ebben a cikkben arról fogunk beszélni, hogy milyen technikai szempontokra érdemes figyelni a Minecraft szerver kiválasztásakor.
Minecraft.

Platform választás

A Minecraft játékhoz az alábbi architekturális elemek tartoznak:

  1. szerver – program, aminek segítségével a játékosok egymással kommunikálnak a hálózaton;
  2. kliense – a szerverhez való csatlakozást biztosító program, amelyet a játékos számítógépére telepítenek;
  3. pluginok – a szerverhez hozzáadott kiegészítések, amelyek új funkciókat adnak vagy a régieket bővítik;
  4. modok – a játéknak szánt kiegészítések (új blokkok, tárgyak, lehetőségek).

A Minecrafthoz számos szerverplatform létezik. A legelterjedtebbek és legnépszerűbbek a Vanilla és a Bukkit.

Vanilla ez a játék fejlesztői által hivatalosan létrehozott platform. Grafikus és konzolos változatban is elérhető. Az új Vanilla verzió mindig egyszerre jelenik meg az új Minecraft verzióval.

A Vanilla hátránya a túlzott memóriafogyasztás (körülbelül 50 MB egy játékosra). További jelentős hátrány az, hogy nem támogat plugineket.

Bukkit A Minecraft szerver fejlesztésének kísérlete egy lelkes csapat által indult, amelynek célja az volt, hogy tökéletesítse a hivatalos Minecraft szervert. Ez a kísérlet eredményesnek bizonyult: a Bukkit funkciói sokkal szélesebb körűek, mint a Vanilla-é, első sorban a különféle modok és bővítmények támogatásának köszönhetően. Emellett kevesebb memóriát is fogyaszt minden játékosra vonatkozóan – körülbelül 5-10 MB.

A Bukkit hátrányai között szerepel, hogy a futtatáskor túl sok RAM-ot vesz igénybe. Ezen kívül, minél hosszabb ideig működik a szerver, annál több memóriára van szüksége (még ha kevesen is játszanak). Bukkit szerver választásakor figyelembe kell venni, hogy új verziói jellemzően hibákat tartalmaznak; a stabil verzió általában 2-3 héttel a Minecraft hivatalos verziójának megjelenése után kerül kiadásra.

Emellett az utóbbi időben népszerűségnek örvendenek más platformok is (például Spout, MCPC és MCPC+), de ezek korlátozottan kompatibilisek a Vanillával és Batikkal, valamint rendkívül korlátozott mod támogatással rendelkeznek (például a Spout számára egyedülálló modokat csak nulláról lehet írni). Ha ezeket használják, akkor is csak kísérleti célokra.

Játék szerver létrehozásához ajánljuk a Bukkit platformot, mivel a legnagyobb rugalmassággal rendelkezik; emellett számos különféle mod és bővítmény érhető el hozzá. A Minecraft szerver zavartalan működése nagymértékben függ a megfelelő hardverplatform kiválasztásától. Nézzük meg ezt a kérdést közelebbről.

Hardverkövetelmények

Mind a Minecraft szerver, mind a kliens nagyon igényes a rendszerszerekre.
Hardverplatform kiválasztásakor figyelembe kell venni, hogy a többmagos processzorok nem nyújtanak jelentős előnyöket: a Minecraft szerver magja csupán egy számítási szálat képes használni. A második mag azonban nem árt: egyes bővítmények külön szálakon futnak, és a Java is jelentős erőforrást igényel…

Ezért a Minecraft-a szerver választáshoz érdemes olyan processzort választani, amelynek a mag teljesítménye magasabb. Egy erősebb kétnúmagú processzor előnyösebb lesz, mint egy gyengébb, de többmagos. A szakmai fórumokon ajánlott, hogy a processzor órajele ne legyen kevesebb, mint 3 GHz.

A Minecraft server requires a large amount of RAM for proper functioning. Bukkit takes about 1GB of RAM; additionally, each player, as mentioned earlier, requires between 5 and 10 MB. Plugins and mods also consume quite a bit of memory. Therefore, for a server with 30 to 50 players, at least 4GB of RAM is needed.

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

The speed of the internet connection is also crucial. A bandwidth of 10 Mb/s is quite sufficient for 40-50 players. However, for those planning a larger Minecraft project that includes a website, forum, and dynamic map, it is highly desirable 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 HUF/month;
  • Intel Core 2 Quad Q8300 2.5GHz, 6GB RAM, 2×500GB SATA, 3500 HUF/month — this configuration is used for our test MineCraft server, where you can play right now (how to do this is explained below);
  • Intel Core i3-2120 3.3GHz, 8GB RAM, 2×500GB SATA, 3500 HUF/month.

These configurations are quite suitable for creating a Minecraft server for 30-40 players. A minor drawback is the lack of SSD drives, but we offer another important advantage: a guaranteed 100 Mb/s channel with no restrictions or ratios. There is no installation fee for ordering all the configurations listed above.

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

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

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

Installation and launch of the Bukkit server on Ubuntu OS.

Mielőtt telepítenénk a szervert, hozzunk létre egy új felhasználót, és adjuk hozzá a sudo csoporthoz:

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

Ezután állítsuk be a jelszót, amivel az új felhasználó csatlakozni fog a szerverhez:

$ sudo passwd

Ismét csatlakozzunk a szerverhez az új fiókkal, és kezdjük el a telepítést.
A Minecraft Java nyelven íródott, ezért a szerveren mindenképpen telepíteni kell a Java Runtime Environmentet.

Frissítsük a választható csomagok listáját:

$ sudo apt-get update

Ezután futtassuk a következő parancsot:

$ sudo apt-get install default-jdk

A Bukkit telepítéséhez és futtatásához ajánlott egy terminálmultiplexert is telepíteni – például a screent (más terminálmultiplexerek is használhatók – lásd a mi áttekintést):

$ sudo apt-get install screen

A screenre szükség lesz, ha SSH kapcsolaton keresztül csatlakozunk a játék szerveréhez. Ezzel a paranccsal a Minecraft szervert egy külön terminálablakban indíthatjuk, és még SSH kliens bezárása után is működni fog a szerver.

Hozzunk létre egy könyvtárat, amelyben a szerver fájljai tárolódnak:

$ mkdir bukkit
$ cd bukkit

Ezután menjünk el a a Bukkit hivatalos weboldala letöltési oldalához. Az oldal jobb felső részében látható egy link az utolsó ajánlott szerververzióhoz (recommended build). Azt javasoljuk, hogy ezt töltsük le:

$ wget

Most indítsuk el a screent:

$ sudo screen

és futtassuk a következő parancsot:

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

Magyarázzuk el, mit jelentenek a használt paraméterek:

  • Xmx1024M – a szerveren elérhető maximális memória mennyisége;
  • jar craftbukkit.jar – a szerverhez szükséges fájl;
  • o false – engedélyezi a hozzáférést a szerverhez a kalóz kliensekkel.

A szerver elindul.
A szerver leállításához írja be a konzolba a stop parancsot.

A szerver beállítása és konfigurálása

A szerver beállításai a server.properties konfigurációs fájlban találhatók. Ezek a következő paramétereket tartalmazzák:

  • generator-settings – a szuperlapos világ generálási sablonját állítja be;
  • allow-nether – meghatározza a belépést az Alsó világba. Alapértelmezetten ennek a paraméternek az értéke true. Ha false értéket állítunk be, akkor minden játékos az Alsó világból a normál világba kerül.
  • level-name — a mappa fájljainak mappája, amely a játék során használatban lesz. A mappa ugyanabban a könyvtárban található, ahol a szerver fájljai vannak. Ha ilyen könyvtár nem létezik, a szerver automatikusan létrehoz egy új világot, és elhelyezi azt a hasonló nevű könyvtárban;
  • enable-query — ha true értékre van állítva, aktiválja a GameSpy4 protokollt a szerver figyelésére;
  • allow-flight — engedélyezi a repülést a Minecraft világában. Alapértelmezés szerint false (a repülés tilos);
  • server-port — megadja azt a portot, amelyet a játék szerver használni fog. A Minecraft alapértelmezett portja 25565. Ennek az értéknek a megváltoztatása nem javasolt;
  • level-type — meghatározza a világ típusát (DEFAULT/FLAT/LARGEBIOMES);
  • enable-rcon — megnyitja a távoli hozzáférést a szerver konzoljához. Alapértelmezés szerint ez ki van kapcsolva (false);
  • level-seed — bemeneti adat a szintgenerátor számára. Ahhoz, hogy véletlenszerű világokat lehessen létrehozni, ezt a mezőt üresen kell hagyni;
  • force-gamemode — beállítja a csatlakozó játékosok számára az alapértelmezett játékmódot;
  • server-ip — megadja az IP-címet, amelyet a játékosok a szerverhez való csatlakozáshoz használnak;
  • max-build-height — megadja a szerveren lévő építkezések maximális magasságát. Az értéke számnak kell lennie, amely 16-ra egészíthető (64, 96, 256 stb.);
  • spawn-npcs — engedélyezi (ha true értékre van állítva) vagy letiltja (ha false értékre van állítva) az NPC-k megjelenését a falvakban;
  • white-list — engedélyezi és letiltja a játékosok fehérlistájának használatát a szerveren. Ha true értékre van állítva, akkor az adminisztrátor manuálisan tudja felvenni a játékosok neveit a fehérlistára. Ha false-ra van állítva, akkor bármilyen felhasználó beléphet a szerverre, akinek ismerete van az IP-címéről és a portról;
  • spawn-animals — engedélyezi a barátságos lények automatikus megjelenését, ha true értékre van állítva;
  • snooper-enabled — engedélyezi a szerver számára, hogy statisztikákat és adatokat küldjön a fejlesztőknek;
  • hardcore — aktiválja a Hardcore módot a szerveren;
  • texture-pac — a textúrák fájlja, amelyet a játékos a szerverhez való csatlakozáskor használ. Ennek az értéknek a zip-archívum neve, amely a textúrákat tartalmazza, ugyanabban a könyvtárban található, mint a szerver;
  • online-mode — ellenőrzi a felhasználók prémium fiókját, akik csatlakoznak a szerverhez. Ha ez a beállítás true értékre van állítva, akkor csak a prémium fiókok tulajdonosai léphetnek be a szerverre. Ha a fiókok ellenőrzése ki van kapcsolva (false értékre van állítva), akkor bármilyen felhasználó (például hamis névvel rendelkező játékosok is) beléphet a szerverre, ami további biztonsági kockázatokat jelent. Ellenőrzés nélkül játszhatsz a Minecraftban helyi hálózaton, internetkapcsolat nélkül;
  • pvp — lehetővé teszi vagy megakadályozza, hogy a játékosok harcoljanak egymással. Ha ez a beállítás true értékre van állítva, akkor a játékosok megölhetik egymást. Ha false értéket kap, a játékosok nem tudják közvetlenül sebzeni egymást;
  • difficulty — beállítja a játék nehézségi szintjét. Az értékek 0-tól (legkönnyebb) 3-ig (legnehezebb) terjedhetnek;
  • gamemode — megmondja, hogy milyen játékmodot állítunk be a szerverre érkező játékosok számára. A következő értékeket vehetik fel: 0 — Survival, 1 — Creative, 2 — Adventure;
  • player-idle-timeout — az inaktivitás ideje (percekben), amely után a játékosok automatikusan lecsatlakoznak a szerverről;
  • max-players — a maximálisan megengedett játékosok száma a szerveren (0 és 999 között);
  • spawn-monsters — engedélyezi (ha true-ra van állítva) ellenséges mobok megjelenését;
  • generate-structures — engedélyezi (true) / letiltja (false) a struktúrák (kincsek, erődök, falvak) generálását;
  • view-distance — szabályozza a frissített chunkok sugárát a játékos számára; az értékek 3-tól 15-ig terjedhetnek.

A minecraft szerver naplói a server.log fájlba kerülnek. Ez a fájl ugyanabban a mappában található, mint a szerver fájljai. A napló folyamatosan növekszik, egyre több lemezterületet foglalva el. A naplózási mechanizmus munkáját a naplók forgatásával lehet rendezni. A forgatáshoz egy speciális segédprogramot, a logrotate-ot használják. Ez korlátozza a naplóbejegyzések számát egy adott határon belül.

A naplók forgatását úgy is beállíthatjuk, hogy minden bejegyzés törlődik, amint a naplófájl egy meghatározott méretet elér. Egy időtartamot is beállíthatunk, amely után minden régi bejegyzés érvénytelenné válik és törlésre kerül.

A fő rotációs beállítások a /etc/logrotate.conf fájlban találhatók; emellett minden alkalmazás számára egyedi beállításokat is létrehozhatunk. Az egyedi beállítások fájljai a /etc/logrotate.d könyvtárban találhatók.

Hozzunk létre egy szöveges fájlt a /etc/logrotate.d/craftbukkit alatt, és írjuk bele a következő paramétereket:

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

Vizsgáljuk meg az értékeket részletesebben:

  • A rotate paraméter megadja a rotációk számát a fájl törléséig;
  • A weekly megadja, hogy a rotáció hetente fog történni (lehetnek más paraméterek is: monthly - havi és daily - napi);
  • A compress megadja, hogy az archivált naplókat tömöríteni kell (az ellentétes opció a nocompress);
  • A missingok megadja, hogy ha a napló fájl hiányzik, akkor is folytatni kell a működést, és nem kell hibaüzenetet kiadni;
  • A notifempty megadja, hogy ne mozgassuk a napló fájlt, ha az üres.

A naplók rotációs beállításairól részletesebben olvashatunk itt.

Tippek az optimalizáláshoz

Azonnal megjegyezzük, hogy ebben a részben csak a játékszerver optimalizálására vonatkozó tippek találhatók. A Minecraft alapú szerver finomhangolásának és optimalizálásának kérdései külön téma, amely meghaladja ezt a cikket; az érdeklődő olvasók könnyen megtalálhatják a szükséges információkat az interneten.

Az egyik legelterjedtebb probléma a Minecraft játék során a lagg, ami olyan helyzetekre utal, amikor a program nem reagál időben a felhasználói bemenetre. Ezek a problémák lehetnek az ügyfél oldalán és a szerver oldalán is. Az alábbiakban ajánlásokat adunk, amelyek segíthetnek csökkenteni a probléma valószínűségét a szerver oldalán.

Rendszeresen ellenőrizze a szerver és a bővítmények memóriafogyasztását

A memóriahasználatot speciális adminisztratív bővítményekkel lehet nyomon követni - például a LagMeter.

Figyelje a bővítmények frissítéseit

Általában a bővítmények új verziójaival a fejlesztők arra törekednek, hogy csökkentsék a terhelést.

Igyekezzen ne használni sok hasonló funkcióval rendelkező bővítményt

A nagy pluginok (például Essentials, AdminCMD, CommandBook) gyakran tartalmazzák számos kisebb plugin funkcióját. Például az Essentials tartalmazza az iConomy, uHome, OpenInv, VanishNoPacket, Kit pluginok funkcióit. Az olyan kisebb pluginok, amelyek funkcióját egy nagy plugin teljes mértékben fedezi, az esetek többségében eltávolíthatók, hogy ne terheljék a szervert.

Korlátozza a térképet, és töltse be azt önállóan.

Ha nem korlátozza a térképet, a szerver terhelése jelentősen megnő. A térkép korlátozásához használjon plugint. WorldBorder. Ehhez futtassa a plugint, és adja ki a /wb 200 parancsot, majd rajzolja ki a térképet a /wb fill paranccsal.

A térkép kirajzolása időt vesz igénybe, de jobb, ha ezt egyszer elvégzik, bezárva a szervert karbantartásra. Ha minden játékos rajzolja ki a térképet, a szerver lassan fog működni.

Cserélje le a nehézkes pluginokat gyorsabb és kevésbé erőforrás-igénylő pluginokra.

Nem minden Minecraft plugin nevezhető sikeresnek: gyakran sok felesleges és haszontalan funkciót tartalmaznak, és néha még sok memóriát is fogyasztanak. A rossz plugineket jobb helyettesíteni alternatívákra (számos létezik). Például az LWC plugint cserélheti le a Wgfix+MachineGuard-ra, a DynMap plugint pedig a Minecraft Overviewer-ra.

Mindig tisztítsa meg a lootot, vagy állítson be egy plugint az automatikus loot törléshez.

A loot a játékokban olyan tárgyakat jelent, amelyek a mob halála vagy bizonyos blokkok lerombolása során hullanak. A loot tárolása és feldolgozása rengeteg rendszerszintű erőforrást igényel.

Ahhoz, hogy a szerver gyorsabban működjön, célszerű eltávolítani a lootot. Ezt a legjobban speciális pluginokkal, például a NoLagg vagy McClean segítségével lehet megtenni.

Ne használjon anti-cheat programokat.

A játékos szervereken gyakran telepítenek úgynevezett anti-cheat programokat, amelyek blokkolják a játékra tisztességtelen módon történő hatással való kísérletezést.

Vannak anti-cheat programok a Minecraft számára is. Minden anti-cheat program mindig további terhelést jelent a szerver számára. Előnyösebb, ha a launcherhez védelmet állítanak be (melyek viszont nem nyújtanak teljes biztonsági garanciát, és könnyen megkerülhetők – de ez már egy külön téma).

Összegzésként

Bármilyen utasítás és ajánlás sokkal hatékonyabb, ha konkrét példák támogatják. Az előző telepítési utasításokra alapozva létrehoztunk egy MineCraft szervert, és az térképre néhány érdekes dolgot helyeztünk.

Íme, mi jutott nekünk:

  • Bukkit szerver – stabil ajánlott verzió 1.6.4;
  • Statistics plugin – hogy statisztikát gyűjtsön a játékosokról;
  • WorldBorder plugin – hogy megrajzolja és korlátozza a térképet;
  • WorldGuard (+WorldEdit mint függőség) plugin – hogy védett területeket hozzon létre.

Mindenkit hívunk, aki szeretne játszani rajta: a csatlakozáshoz adj hozzá egy új szervert, és add meg a címet mncrft.slc.tl.

Örülnénk, ha a kommentekben megosztanád saját tapasztalataidat a MineCraft szerverek telepítésével, beállításával és optimalizálásával kapcsolatban, és beszélnél arról, hogy mely modok és pluginek érdekelnek, és miért.

Nagyszerű hír: Augusztus 1-jétől az állandó konfigurációjú dedikált szerverek telepítési díja 50%-kal csökkent. Most az egyszeri telepítési díj mindössze 3000 rubel.

Azokat az olvasókat, akik nem tudják itt hagyni a kommenteket, meghívjuk hozzánk a blogra.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster