Vytvoření a nastavení serveru Minecraft

Vytvoření a nastavení serveru Minecraft

Minecraft je dnes jednou z nejpopulárnějších online her. Za necelé tři roky (první oficiální vydání proběhlo na podzim 2011) si získal miliony fanoušků po celém světě.

Herní vývojáři se záměrně soustředí na nejlepší příklady z doby před dvaceti lety, kdy mnohé hry byly na dnešní poměry primitivní po grafické stránce a nedokonalé z hlediska použitelnosti, ale zároveň byly opravdu vzrušující.

Stejně jako všechny sandboxové hry, Minecraft poskytuje uživateli skvělé příležitosti pro kreativitu - to je ve skutečnosti hlavní tajemství jeho popularity.

Organizace serverů pro hraní v režimu pro více hráčů je prováděna samotnými hráči a jejich komunitami. Dnes na internetu fungují desítky tisíc herních serverů (seznam viz např. zde).

Mezi našimi klienty je mnoho fanoušků této hry, kteří si v našich datových centrech pronajímají vybavení pro herní projekty. V tomto článku budeme hovořit o tom, na jaké technické body je třeba věnovat pozornost při výběru serveru
Minecraft.

Vyberte platformu

Hra Minecraft obsahuje následující architektonické prvky:

  1. server - program, se kterým hráči vzájemně komunikují prostřednictvím sítě;
  2. klient - program pro připojení k serveru nainstalovaný na počítači hráče;
  3. pluginy - doplňky k serveru, které přidávají nové funkce nebo rozšiřují ty staré;
  4. mody - doplňky do herního světa (nové bloky, předměty, funkce).

Pro Minecraft existuje mnoho serverových platforem. Nejběžnější a nejoblíbenější jsou Vanilka a Bukkit.

Vanilla Toto je oficiální platforma od vývojářů hry. Distribuováno v grafické i konzolové verzi. Nová verze Vanilky vychází vždy ve stejnou dobu jako nová verze Minecraftu.

Nevýhodou Vanilky je přílišná spotřeba paměti (cca 50 MB na hráče). Další významnou nevýhodou je nedostatek pluginů.

bukkit byl vytvořen skupinou nadšenců, kteří se pokusili vylepšit oficiální server Minecraft. Pokus se ukázal jako docela úspěšný: z hlediska funkčnosti je Bukkit mnohem širší než Vanilla - především díky podpoře různých modů a pluginů. Zároveň spotřebovává méně paměti na hráče – cca 5-10 MB.

Nevýhody Bukkitu spočívají v tom, že při spuštění zabírá příliš mnoho paměti RAM. Navíc čím déle server běží, tím více paměti potřebuje (i když je hráčů málo). Při výběru Bukkitu jako serveru mějte na paměti, že jeho nové verze zpravidla obsahují chyby; stabilní verze se obvykle objeví asi 2-3 týdny po vydání oficiální verze Minecraftu.

Kromě toho si v poslední době získaly oblibu i další platformy (například Spout, MCPC a MCPC +), které se však liší omezenou kompatibilitou s Vanilla a Bukkit a velmi omezenou podporou modů (například můžete od začátku psát pouze mody pro Spout ). Pokud se používají, pak pouze pro pokusy.

Pro organizaci herního serveru doporučujeme použít platformu Bukkit, protože je nejflexibilnější; navíc pod ním je mnoho různých modů a pluginů. Stabilní provoz serveru Minecraft do značné míry závisí na správné volbě hardwarové platformy. Zvažme tuto otázku podrobněji.

Hardwarové požadavky

Server i klient Minecraft jsou velmi náročné na systémové prostředky.
Při výběru hardwarové platformy je třeba mít na paměti, že vícejádrový procesor nepřinese velké výhody: jádro serveru Minecraft může používat pouze jedno výpočetní vlákno. Druhé jádro však bude užitečné: některé pluginy se spouštějí v samostatných vláknech a Java také spotřebovává spoustu zdrojů ...

Pro server Minecraft je proto lepší zvolit procesor, který má vyšší jednojádrový výkon. Před méně výkonným vícejádrovým procesorem bude preferován výkonnější dvoujádrový procesor. Na specializovaných fórech se doporučuje používat procesory s taktem alespoň 3 GHz.

Pro normální fungování serveru Minecraft je vyžadováno velké množství paměti RAM. Bukkit zabírá přibližně 1 GB RAM; navíc je pro každého hráče, jak je uvedeno výše, přiděleno 5 až 10 MB. Pluginy a mody také spotřebovávají poměrně hodně paměti. Pro server s 30 - 50 hráči tedy budete potřebovat alespoň 4 GB RAM.

V Minecraftu hodně (například načítání stejných pluginů) závisí na rychlosti souborového systému. Proto je vhodnější zvolit server s SSD diskem. Pohony vřetena pravděpodobně nebudou vhodné kvůli nízké rychlosti náhodného čtení.

Velký význam má také rychlost připojení k internetu. Pro hru 40-50 lidí stačí kanál 10 Mb / s. Nicméně pro ty, kteří plánují větší minecraftový projekt, včetně webové stránky, fóra a dynamické mapy, je velmi žádoucí mít kanál s vyšší šířkou pásma.

Jakou konkrétní konfiguraci je nejlepší zvolit? Z konfigurace, které nabízíme Doporučujeme, abyste věnovali pozornost následujícímu:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2x500GB SATA, 3000 rub/měsíc;
  • Intel Core 2 Quad Q8300 2.5 GHz, 6 GB RAM, 2 × 500 GB SATA, 3500 XNUMX rub/měsíc - tuto konfiguraci používáme pro náš testovací server MineCraft, na kterém můžete hrát právě teď (jak to udělat, je popsáno níže);
  • Intel Core i3-2120 3.3GHz, 8GB RAM, 2x500GB SATA, 3500 rub/měsíc

Tyto konfigurace jsou docela vhodné pro vytvoření serveru Minecraft pro 30-40 hráčů. Určitou nevýhodou je nedostatek SSD disků, ale dáváme další důležitou výhodu: garantovaný 100 Mb/s kanál bez jakýchkoli omezení a poměrů. Při objednání všech výše uvedených konfigurací není účtován instalační poplatek.

Máme také produktivnější, ale zároveň samozřejmě dražší servery (při objednání těchto konfigurací také není účtována platba za nastavení):

  • 2x Intel Xeon 5130, 2GHz, 8GB RAM, 4x160GB SATA, 5000 rub/měsíc;
  • 2x IntelXeon 5504, 2GHz, 12GB RAM, 3×1TB SATA, 9000 rub/měsíc.

Doporučujeme také věnovat pozornost novému rozpočtovému modelu s jednotkou SSD založenou na procesoru Intel Atom C2758: Intel Atom C2758 2.4 GHz, 16 GB RAM, 2 × 240 GB SSD, 4000 3000 rublů / měsíc, platba za instalaci - XNUMX XNUMX rublů.

Instalace a spuštění serveru Bukkit v Ubuntu OC

Před instalací serveru vytvořte nového uživatele a přidejte jej do skupiny sudo:

$ sudo useradd -m -s /bin/bash <uživatelské jméno> $ sudo adduser <uživatelské jméno> sudo

Dále nastavte heslo, pod kterým se vytvořený uživatel připojí k serveru:

$ sudo passwd <uživatelské jméno>

Znovu se připojte k serveru pod novým účtem a pokračujte v instalaci.
Minecraft je napsán v Javě, takže na serveru musí být nainstalováno Java Runtime Environment.

Aktualizujte seznam dostupných balíčků:

$ sudo apt-get update

Poté spusťte následující příkaz:

$ sudo apt-get install default-jdk

Pro instalaci a provoz Bukkitu je také žádoucí nainstalovat terminálový multiplexer - například obrazovku (lze použít i jiné terminálové multiplexery - viz naše Přehled):

$ sudo apt-get installscreen

Obrazovka bude potřeba, pokud se připojíme k hernímu serveru přes ssh. S ním bude možné spustit server Minecraft v samostatném okně terminálu a server bude fungovat i po zavření klienta ssh.

Vytvořme adresář, kde budou uloženy soubory serveru:

$ mkdir bukkit $ cd bukkit

Po tom, pojďme na Stránka ke stažení oficiálního webu Bukkit. V pravé horní části stránky můžete vidět odkaz na nejnovější sestavení serveru doporučené k použití (doporučené sestavení). Doporučujeme stáhnout:

$ wget <odkaz na doporučenou verzi>

Nyní spustíme obrazovku:

$ sudo obrazovka

a spusťte následující příkaz:

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

Pojďme si vysvětlit, co znamenají použité parametry:

  • Xmx1024M - maximální množství paměti RAM na server;
  • jar craftbukkit.jar - klíč k serveru;
  • o false - umožňuje přístup k serveru z pirátských klientů.

Server se spustí.
Server můžete zastavit zadáním příkazu stop do konzoly.

Nastavení a konfigurace serveru

Nastavení serveru jsou uložena v konfiguračním souboru server.properties. Obsahuje následující možnosti:

  • generátor-nastavení - nastaví šablonu pro generování super plochého světa;
  • allow-nether - určuje možnost přechodu na Nether. Ve výchozím nastavení je tento parametr nastaven na hodnotu true. Pokud je nastaveno na false, pak budou všichni hráči z Nether přesunuti do normálního stavu;
  • level-name je název složky s mapovým souborem, která bude použita během hry. Složka je umístěna ve stejném adresáři jako soubory serveru. Pokud takový adresář neexistuje, server automaticky vytvoří nový svět a umístí jej do adresáře se stejným názvem;
  • enable-query - při nastavení na true aktivuje protokol GameSpy4, aby naslouchal serveru;
  • allow-flight – Umožňuje lety ve světě Minecraftu. Výchozí hodnota je false (žádné lety);
  • server-port - určuje port, který bude používat herní server. Výchozí port pro Minecraft je 25565. Toto nastavení nedoporučujeme měnit;
  • level-type - definuje typ světa (DEFAUT/FLAT/LARGEBIOMES);
  • enable-rcon - otevře vzdálený přístup ke konzole serveru. Ve výchozím nastavení je zakázáno (nepravda);
  • level-seed - vstup pro generátor hladiny. Aby bylo možné vytvářet náhodné světy, musí být toto pole ponecháno prázdné;
  • force-gamemode - nastaví hráče připojující se k serveru do standardního herního režimu;
  • server-ip - určuje IP adresu, kterou budou hráči používat pro připojení k serveru;
  • max-build-height - určuje maximální výšku budovy na serveru. Jeho hodnota musí být násobkem 16 (64, 96, 256 atd.);
  • spawn-npcs – Umožňuje (je-li nastaveno na true) nebo zakazuje (pokud je nastaveno na false) NPC se rozmnožovat ve vesnicích.
  • white-list - povoluje a zakazuje použití bílé listiny hráčů na serveru. Pokud je nastaveno na hodnotu true, bude správce moci vytvořit seznam povolených přidáním přezdívek hráčů ručně. Pokud je nastaveno na false, pak každý uživatel, který zná jeho IP adresu a port, může přistupovat k serveru;
  • spawn-animals – Pokud je nastaveno na true, umožňuje přátelským mobům se automaticky rozmnožovat
  • snooper-enabled - umožňuje serveru odesílat statistiky a data vývojářům;
  • hardcore - zapne hardcore režim na serveru;
  • texture-pac je soubor textury, který bude použit, když se přehrávač připojí k serveru. Hodnota tohoto parametru je název zip-archivu s texturami, který je uložen ve stejném adresáři jako server;
  • online režim - umožňuje kontrolu prémiových účtů uživatelů připojujících se k serveru. Pokud je tento parametr nastaven na hodnotu true, budou mít k serveru přístup pouze držitelé prémiových účtů. Pokud je ověřování účtu zakázáno (nastaveno na hodnotu false), mohou k serveru přistupovat všichni uživatelé (včetně například hráčů, kteří si zfalšovali přezdívku), což vytváří další bezpečnostní rizika. S deaktivovaným ověřováním můžete hrát Minecraft přes místní síť, bez přístupu k internetu;
  • pvp - umožňuje nebo zakazuje hráčům bojovat mezi sebou. Pokud je tento parametr nastaven na true, hráči se mohou navzájem zničit. Je-li nastaveno na false, pak si hráči nemohou vzájemně udělovat přímé poškození;
  • obtížnost - nastavuje úroveň obtížnosti hry. Může nabývat hodnot od 0 (nejjednodušší) do 3 (nejobtížnější);
  • gamemode - určuje, který herní režim bude nastaven pro hráče připojující se k serveru. Může nabývat následujících hodnot: 0 – Přežití, 1 – Kreativní, 2 – Dobrodružství;
  • player-idle-timeout - doba nečinnosti (v minutách), po které jsou hráči automaticky odpojeni od serveru;
  • max-players - maximální povolený počet hráčů na serveru (od 0 do 999);
  • spawn-monsters - umožňuje (pokud je nastaveno na true) spawnování nepřátelských mobů;
  • generovat struktury - umožňuje (true) / deaktivuje (false) generování struktur (pokladnice, pevnosti, vesnice);
  • vzdálenost zobrazení - upraví poloměr aktualizovaných kousků pro odeslání do přehrávače; může nabývat hodnot od 3 do 15.

Logy serveru Minecraft se zapisují do souboru server.log. Je uložen ve stejné složce jako soubory serveru. Protokol neustále roste a zabírá stále více místa na disku. Činnost logovacího mechanismu můžete zefektivnit pomocí tzv. rotace logu. Pro rotaci se používá speciální utilita - logrotate. Omezuje počet záznamů v logu na určitý limit.

Rotaci protokolu můžete nastavit tak, aby všechny položky byly smazány, jakmile soubor protokolu dosáhne určité velikosti. Můžete také nastavit období, po kterém budou všechny staré záznamy považovány za irelevantní a smazány.

Hlavní nastavení rotace jsou v souboru /etc/logrotate.conf; navíc lze pro každou aplikaci vytvořit individuální nastavení. Soubory s individuálním nastavením jsou uloženy v adresáři /etc/logrotate.d.

Vytvořte textový soubor /etc/logrotate.d/craftbukkit a zadejte do něj následující parametry:

/home/craftbukkit/server.log { rotace 2 týdenní komprimace chybíok notifempty }

Podívejme se podrobněji na jejich význam:

  • parametr otáčet určuje počet otočení před smazáním souboru;
  • týdenní označuje, že rotace bude prováděna týdně (lze nastavit další parametry: měsíčně - měsíčně a denně - denně);
  • Komprimovat určuje, že archivované protokoly by měly být komprimovány (možnost je nocompress);
  • missingok určuje, že v případě nepřítomnosti souboru protokolu by práce měla pokračovat a neměly by se zobrazovat žádné chybové zprávy;
  • notifempty určuje, že se nemá posunout soubor protokolu, pokud je prázdný.

Můžete si přečíst více o nastavení rotace protokolů. zde.

Optimalizační tipy

Okamžitě si zarezervujte, že tato sekce bude poskytovat tipy týkající se pouze optimalizace herního serveru. Problémy s doladěním a optimalizací serveru, na kterém je Minecraft nainstalován, jsou samostatným tématem, které přesahuje rámec tohoto článku; čtenáři, kteří mají zájem, mohou snadno najít potřebné informace na internetu.

Jedním z nejčastějších problémů, které vznikají při hraní Minecraftu, jsou takzvané lagy – situace, kdy program nereaguje na vstup uživatele včas. Mohou být způsobeny problémy jak na straně klienta, tak na straně serveru. Níže uvádíme doporučení, která pomohou snížit pravděpodobnost problémů na straně serveru.

Pravidelně sledujte spotřebu paměti serveru a pluginů

Spotřebu paměti lze sledovat pomocí specializovaných pluginů pro správu – např. LagMeter.

Zůstaňte naladěni na aktualizace pluginů

Zpravidla se vývojáři nových pluginů s každou novou verzí snaží snížit zatížení.

Snažte se nepoužívat mnoho pluginů s podobnou funkcí

Velké pluginy (např. Essentials, AdminCMD, CommandBook) velmi často obsahují funkcionalitu mnoha menších pluginů. Například stejný Essential obsahuje funkce pluginů iConomy, uHome, OpenInv, VanishNoPacket, Kit. Malé plug-iny, jejichž funkčnost je zcela pokryta funkčností jednoho velkého, lze ve většině případů odstranit, aby nedošlo k přetížení serveru.

Omezte mapu a stáhněte si ji sami

Pokud mapu neomezíte, zatížení serveru se výrazně zvýší. Mapu můžete omezit pomocí pluginu WorldBorder. Chcete-li to provést, musíte spustit tento plugin a spustit příkaz /wb 200 a poté nakreslit mapu pomocí příkazu /wb fill.

Kreslení samozřejmě zabere spoustu času, ale je lepší to udělat jednou a zavřít server pro technickou práci. Pokud každý hráč nakreslí mapu, server bude pracovat pomalu.

Vyměňte těžké pluginy za rychlejší a méně náročné na zdroje

Ne všechny pluginy Minecraftu lze nazvat úspěšnými: často obsahují spoustu zbytečných a zbytečných funkcí a někdy také spotřebují spoustu paměti. Neúspěšné pluginy je nejlepší nahradit alternativními (je jich docela dost). Například plugin LWC lze nahradit Wgfix+MachineGuard a plugin DynMap Minecraft Overviewer.

Vždy kapku vyčistěte nebo nainstalujte plugin, který kapku automaticky odstraní

Drops ve hrách jsou předměty, které vypadnou, když dav zemře nebo jsou zničeny některé bloky. Ukládání a zpracování kapek zabírá mnoho systémových prostředků.

Aby server běžel rychleji, je vhodné drop smazat. To se nejlépe provádí pomocí speciálních pluginů – například NoLagg nebo McClean.

Nepoužívejte anti-cheaty

Na herní servery jsou často instalovány tzv. anti-cheaty – programy, které blokují pokusy o ovlivnění hry nečestnými způsoby.

Existují také anti-cheaty pro Minecraft. Jakýkoli anti-cheat je vždy další zátěží serveru. Výhodnější je instalovat ochrany pro launcher (které však nedávají absolutní záruku bezpečnosti a snadno se rozbijí - ale to je téma na samostatnou diskusi) a pro klienta.

Místo závěru

Jakékoli návody a doporučení jsou mnohem účinnější, pokud jsou podpořeny konkrétními příklady. Na základě výše uvedených pokynů k instalaci jsme vytvořili vlastní server MineCraft a umístili něco zajímavého na mapu.

Zde je to, co máme:

  • Bukkit server - stabilní doporučená verze 1.6.4;
  • Statistics plugin - pro shromažďování statistik o hráčích;
  • Plugin WorldBorder - pro kreslení a omezení mapy;
  • Plugin WorldGuard (+WorldEdit jako závislost) - pro ochranu některých oblastí.

Zveme všechny, aby si na něm zahráli: připojte se, přidejte nový server a zadejte adresu mncrft.slc.tl.

Budeme rádi, když se v komentářích podělíte o své vlastní zkušenosti s instalací, konfigurací a optimalizací serverů MineCraft a sdělíte nám, které mody a pluginy vás zajímají a proč.

Skvělé zprávy: Od 1. srpna byl poplatek za nastavení dedikovaných serverů s pevnou konfigurací snížen o 50 %. Nyní je jednorázová instalační platba pouze 3000 XNUMX rublů.

Čtenáři, kteří zde nemohou zanechat komentáře, se k nám mohou připojit na adrese blog.

Zdroj: www.habr.com

Přidat komentář