Paglikha at pag-set up ng Minecraft server

Paglikha at pag-set up ng Minecraft server

Ang Minecraft ay isa sa pinakasikat na online na laro ngayon. Wala pang tatlong taon (naganap ang unang opisyal na pagpapalabas noong taglagas ng 2011), nakakuha siya ng milyun-milyong tagahanga sa buong mundo.

Ang mga developer ng laro ay sadyang tumutuon sa pinakamahusay na mga halimbawa ng dalawampung taon na ang nakalipas, noong maraming mga laro, ayon sa mga pamantayan ngayon, ay primitive sa mga tuntunin ng mga graphics at hindi perpekto sa mga tuntunin ng kakayahang magamit, ngunit sa parehong oras sila ay tunay na kapana-panabik.

Tulad ng lahat ng mga laro ng sandbox, ang Minecraft ay nagbibigay sa gumagamit ng napakalaking pagkakataon para sa pagkamalikhain - ito, sa katunayan, ang pangunahing lihim ng katanyagan nito.

Ang mga server para sa mga multiplayer na laro ay inayos ng mga manlalaro mismo at ng kanilang mga komunidad. Ngayon ay mayroong libu-libong mga server ng laro na tumatakbo sa Internet (tingnan, halimbawa, ang listahan dito).

Maraming tagahanga ng larong ito sa aming mga kliyente, at umaarkila sila ng kagamitan mula sa aming mga data center para sa mga proyekto sa paglalaro. Sa artikulong ito ay pag-uusapan natin kung anong mga teknikal na punto ang kailangan mong bigyang pansin kapag pumipili ng isang server
Minecraft.

Pagpili ng isang plataporma

Kasama sa Minecraft ang mga sumusunod na elemento ng arkitektura:

  1. server - isang programa kung saan nakikipag-ugnayan ang mga manlalaro sa isa't isa sa network;
  2. client - isang programa para sa pagkonekta sa server, na naka-install sa computer ng player;
  3. mga plugin - mga karagdagan sa server na nagdaragdag ng mga bagong function o nagpapalawak ng mga luma;
  4. Ang mga mod ay mga karagdagan sa mundo ng laro (mga bagong bloke, item, tampok).

Mayroong maraming mga platform ng server para sa Minecraft. Ang pinakakaraniwan at sikat ay Vanilla at Bukkit.

vanilla Ito ang opisyal na platform mula sa mga developer ng laro. Ito ay ibinahagi sa parehong graphical at console na mga bersyon. Ang isang bagong bersyon ng Vanilla ay palaging lumalabas kasabay ng isang bagong bersyon ng Minecraft.

Ang downside ng Vanilla ay ang sobrang pagkonsumo ng memory nito (humigit-kumulang 50 MB bawat manlalaro). Ang isa pang makabuluhang disbentaha ay ang kakulangan ng mga plugin.

bukkit ay nilikha ng isang pangkat ng mga mahilig na nagtangkang pagbutihin ang opisyal na server ng Minecraft. Ang pagtatangka ay naging matagumpay: Ang Bukkit ay mas malawak sa pag-andar kaysa Vanilla, pangunahin dahil sa suporta ng iba't ibang mga mod at plugin. Kasabay nito, kumokonsumo ito ng mas kaunting memorya sa bawat manlalaro - humigit-kumulang 5-10 MB.

Ang mga disadvantages ng Bukkit ay na ito ay tumatagal ng masyadong maraming RAM kapag tumatakbo. Bilang karagdagan, habang tumatagal ang server, mas maraming memorya ang kailangan nito (kahit na kakaunti ang mga manlalaro). Kapag pumipili ng Bukkit bilang isang server, dapat mong tandaan na ang mga bagong bersyon nito, bilang panuntunan, ay naglalaman ng mga error; Karaniwang lumilitaw ang matatag na bersyon humigit-kumulang 2-3 linggo pagkatapos ilabas ang opisyal na bersyon ng Minecraft.

Bilang karagdagan, ang iba pang mga platform ay nakakuha kamakailan ng katanyagan (halimbawa, Spout, MCPC at MCPC+), ngunit mayroon silang limitadong pagiging tugma sa Vanilla at Bukkit at napakalimitadong suporta para sa mga mod (halimbawa, para sa Spout maaari ka lamang magsulat ng mga mod mula sa simula). Kung ginagamit ang mga ito, pagkatapos ay para lamang sa mga eksperimento.

Upang ayusin ang isang server ng laro, inirerekumenda namin ang paggamit ng Bukkit platform, dahil ito ang pinaka-flexible; Bilang karagdagan, mayroong maraming iba't ibang mga mod at plugin para dito. Ang matatag na operasyon ng isang Minecraft server ay higit na nakadepende sa tamang pagpili ng hardware platform. Isaalang-alang natin ang isyung ito nang mas detalyado.

Mga Kinakailangan sa Hardware

Parehong hinihingi ng Minecraft server at client ang mga mapagkukunan ng system.
Kapag pumipili ng isang platform ng hardware, dapat mong tandaan na ang isang multi-core na processor ay hindi magbibigay ng malaking kalamangan: ang Minecraft server core ay maaari lamang gumamit ng isang computation thread. Ang pangalawang core, gayunpaman, ay magiging kapaki-pakinabang: ang ilang mga plugin ay isinasagawa sa magkahiwalay na mga thread, at ang Java ay gumagamit din ng maraming mapagkukunan...

Samakatuwid, para sa isang Minecraft server, mas mahusay na pumili ng isang processor na may mas mataas na pagganap ng single-core. Ang isang mas malakas na dual-core processor ay mas pipiliin sa isang multi-core processor na hindi gaanong malakas. Sa mga dalubhasang forum, inirerekumenda na gumamit ng mga processor na may dalas ng orasan na hindi bababa sa 3 GHz.

Para sa normal na paggana ng Minecraft server, isang malaking halaga ng RAM ang kinakailangan. Ang Bukkit ay tumatagal ng humigit-kumulang 1GB ng RAM; bilang karagdagan, para sa bawat manlalaro, tulad ng nabanggit sa itaas, mula 5 hanggang 10 MB ay inilalaan. Ang mga plugin at mod ay kumonsumo din ng maraming memorya. Para sa isang server na may 30 - 50 manlalaro, samakatuwid, kakailanganin mo ng hindi bababa sa 4 GB ng RAM.

Sa Minecraft, marami (halimbawa, ang paglo-load ng parehong mga plugin) ay nakasalalay sa bilis ng file system. Samakatuwid, mas mainam na pumili ng isang server na may SSD disk. Ang mga spindle disk ay malamang na hindi angkop dahil sa mababang random na bilis ng pagbasa.

Ang bilis ng iyong koneksyon sa Internet ay napakahalaga din. Para sa larong 40-50 tao, sapat na ang 10 Mb/s channel. Gayunpaman, para sa mga nagpaplano ng mas malaking proyekto ng minecraft, kabilang ang isang website, forum at dynamic na mapa, lubos na kanais-nais na magkaroon ng channel na may mas maraming bandwidth.

Aling partikular na configuration ang pinakamahusay na piliin? Mula sa mga configuration na aming inaalok Inirerekomenda namin na bigyan mo ng pansin ang mga sumusunod:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2x500GB SATA, 3000 RUR/buwan;
  • Intel Core 2 Quad Q8300 2.5GHz, 6GB RAM, 2x500GB SATA, 3500 rub/buwan. β€” ginagamit namin ang pagsasaayos na ito para sa aming server ng pagsubok sa MineCraft, kung saan maaari kang maglaro ngayon (kung paano ito gagawin ay nakasulat sa ibaba);
  • Intel Core i3-2120 3.3GHz, 8GB RAM, 2x500GB SATA, 3500 RUR/buwan.

Ang mga pagsasaayos na ito ay medyo angkop para sa paglikha ng isang Minecraft server para sa 30-40 mga manlalaro. Ang ilang kawalan ay ang kakulangan ng mga SSD drive, ngunit nagbibigay kami ng isa pang mahalagang kalamangan: isang garantisadong 100 Mb/s channel nang walang anumang mga paghihigpit o ratio. Kapag nag-order ng lahat ng mga configuration na nakalista sa itaas, walang bayad sa pag-setup.

Mayroon din kaming mas produktibo, ngunit sa parehong oras, natural, mas mahal na mga server (kapag nag-order ng mga pagsasaayos na ito, hindi rin sinisingil ang bayad sa pag-install):

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

Inirerekomenda din namin na bigyang pansin ang bagong modelo ng badyet na may SSD drive batay sa processor ng Intel Atom C2758: Intel Atom C2758 2.4 GHz, 16 GB RAM, 2x240 GB SSD, 4000 rubles/buwan, bayad sa pag-install - 3000 rubles.

Pag-install at pagpapatakbo ng Bukkit server sa OC Ubuntu

Bago i-install ang server, gumawa tayo ng bagong user at idagdag ito sa sudo group:

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

Susunod, itatakda namin ang password kung saan kumonekta ang nilikhang user sa server:

$ sudo passwd <username>

Kumonekta muli tayo sa server sa ilalim ng bagong account at simulan ang pag-install.
Ang Minecraft ay nakasulat sa Java, kaya dapat na mai-install ang Java Runtime Environment sa server.

I-update natin ang listahan ng mga available na package:

$ sudo apt-get update

Pagkatapos ay patakbuhin ang sumusunod na command:

$ sudo apt-get install default-jdk

Upang i-install at patakbuhin ang Bukkit, ipinapayong mag-install ng terminal multiplexer - halimbawa, screen (maaari ka ring gumamit ng iba pang terminal multiplexer - tingnan ang aming pangkalahatang-ideya):

$ sudo apt-get install screen

Kakailanganin ang screen kung kumonekta kami sa server ng laro sa pamamagitan ng ssh. Sa tulong nito, maaari mong patakbuhin ang Minecraft server sa isang hiwalay na terminal window, at kahit na matapos isara ang ssh client, gagana ang server.

Gumawa tayo ng isang direktoryo kung saan maiimbak ang mga file ng server:

$ mkdir bukkit $ cd bukkit

Pagkatapos nito ay pumunta tayo sa pahina ng pag-download ng opisyal na website ng Bukkit. Sa kanang itaas na bahagi ng page, makikita mo ang isang link sa pinakabagong inirerekumendang build ng server. Inirerekumenda namin ang pag-download nito:

$ wget <link ng inirerekumendang bersyon>

Ngayon patakbuhin natin ang screen:

$sudo screen

at patakbuhin ang sumusunod na command:

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

Ipaliwanag natin kung ano ang ibig sabihin ng mga parameter na ginamit:

  • Xmx1024M - maximum na halaga ng RAM bawat server;
  • jar craftbukkit.jar - susi sa server;
  • o false - nagbibigay-daan sa pag-access sa server mula sa mga pirated na kliyente.

Magsisimula ang server.
Maaari mong ihinto ang server sa pamamagitan ng pag-type ng stop command sa console.

Pag-set up at pag-configure ng server

Ang mga setting ng server ay iniimbak sa file ng pagsasaayos ng server.properties. Naglalaman ito ng mga sumusunod na parameter:

  • generator-settings β€” nagtatakda ng template para sa pagbuo ng superflat na mundo;
  • allow-nether - tinutukoy ang posibilidad na lumipat sa Lower World. Bilang default, ang setting na ito ay nakatakda sa true. Kung nakatakda sa false, ang lahat ng manlalaro mula sa Nether ay ililipat sa normal;
  • level-name - ang pangalan ng folder na may mga file ng mapa na gagamitin sa panahon ng laro. Ang folder ay matatagpuan sa parehong direktoryo kung saan matatagpuan ang mga file ng server. Kung walang ganoong direktoryo, ang server ay awtomatikong lumilikha ng isang bagong mundo at inilalagay ito sa isang direktoryo na may parehong pangalan;
  • enable-query - kapag nakatakda sa true, ina-activate ang GameSpy4 protocol para makinig sa server;
  • allow-flight - nagbibigay-daan sa mga flight sa buong mundo ng Minecraft. Mali ang default na halaga (ipinagbabawal ang mga flight);
  • server-port - ipinapahiwatig ang port na gagamitin ng server ng laro. Ang karaniwang port para sa Minecraft ay 25565. Hindi inirerekomenda na baguhin ang halaga ng parameter na ito;
  • level-type - tinutukoy ang uri ng mundo (DEFAUT/FLAT/LARGEBIOMES);
  • enable-rcon - nagbibigay-daan sa malayuang pag-access sa server console. Bilang default, ito ay hindi pinagana (false);
  • level-seed - input data para sa level generator. Upang makalikha ng mga random na mundo, dapat na iwanang blangko ang field na ito;
  • force-gamemode - nagtatakda ng karaniwang mode ng laro para sa mga manlalaro na kumokonekta sa server;
  • server-ip - nagpapahiwatig ng IP address na gagamitin ng mga manlalaro upang kumonekta sa server;
  • max-build-height - nagsasaad ng pinakamataas na taas ng isang gusali sa server. Ang halaga nito ay dapat na isang multiple ng 16 (64, 96, 256, atbp.);
  • spawn-npcs - nagbibigay-daan (kung nakatakda sa true) o nagbabawal (kung nakatakda sa false) ang paglitaw ng mga NPC sa mga nayon;
  • white-list - pinapagana o hindi pinapagana ang paggamit ng puting listahan ng mga manlalaro sa server. Kung nakatakda sa true, makakagawa ang administrator ng puting listahan sa pamamagitan ng manu-manong pagdaragdag ng mga palayaw ng manlalaro dito. Kung mali ang value, maaaring ma-access ng sinumang user na nakakaalam ng IP address at port nito ang server;
  • spawn-animals - nagbibigay-daan sa awtomatikong pangingitlog ng mga friendly mobs kung nakatakda sa true);
  • snooper-enabled - nagbibigay-daan sa server na magpadala ng mga istatistika at data sa mga developer;
  • hardcore - pinapagana ang Hardcore mode sa server;
  • texture-pac - texture file na gagamitin kapag kumonekta ang player sa server. Ang halaga ng parameter na ito ay ang pangalan ng zip archive na may mga texture, na nakaimbak sa parehong direktoryo ng server;
  • online-mode - nagbibigay-daan sa pagsuri ng mga premium na account ng mga user na kumokonekta sa server. Kung ang parameter na ito ay nakatakda sa true, tanging ang mga may hawak ng premium na account ang makaka-access sa server. Kung ang pag-verify ng account ay hindi pinagana (itinakda sa false), maaaring ma-access ng sinumang user ang server (kabilang, halimbawa, ang mga manlalaro na peke ang kanilang palayaw), na lumilikha ng mga karagdagang panganib sa seguridad. Kapag hindi pinagana ang pagsuri, maaari kang maglaro ng Minecraft sa isang lokal na network, nang walang access sa Internet;
  • pvp - nagbibigay-daan o nagbabawal sa mga manlalaro na makipaglaban sa isa't isa. Kung totoo ang parameter na ito, maaaring sirain ng mga manlalaro ang isa't isa. Kung itinakda sa false, ang mga manlalaro ay hindi makakaharap ng direktang pinsala sa isa't isa;
  • kahirapan - nagtatakda ng antas ng kahirapan ng laro. Maaaring kumuha ng mga halaga mula 0 (pinakamadali) hanggang 3 (pinaka mahirap);
  • gamemode - nagsasaad kung anong mode ng laro ang itatakda para sa mga manlalarong papasok sa server. Maaaring kunin ang mga sumusunod na halaga: 0 - Survival, 1-Creative, 2-Adventure;
  • player-idle-timeout β€” oras ng kawalan ng aktibidad (sa ilang minuto), pagkatapos ay awtomatikong madidiskonekta ang mga manlalaro mula sa server;
  • max-players β€” ang maximum na pinapayagang bilang ng mga manlalaro sa server (mula 0 hanggang 999);
  • spawn-monsters - nagbibigay-daan (kung nakatakda sa true) ang pangingitlog ng mga masasamang mob;
  • bumuo ng mga istruktura β€” nagbibigay-daan sa (totoo)/hindi pinapagana (mali) ang pagbuo ng mga istruktura (mga yaman, kuta, mga nayon);
  • view-distance - inaayos ang radius ng mga na-update na chunks na ipapadala sa player; maaaring tumagal ng mga halaga mula 3 hanggang 15.

Ang mga log ng server ng Minecraft ay isinusulat sa server.log file. Ito ay naka-imbak sa parehong folder bilang mga file ng server. Ang log ay patuloy na lumalaki sa laki, kumukuha ng higit pa at mas maraming espasyo sa disk. Maaari mong i-streamline ang gawain ng mekanismo ng pag-log gamit ang tinatawag na pag-ikot ng log. Para sa pag-ikot, ginagamit ang isang espesyal na utility - logrotate. Nililimitahan nito ang bilang ng mga entry sa log sa isang tiyak na limitasyon.

Maaari mong i-configure ang pag-ikot ng log upang ang lahat ng mga entry ay matanggal sa sandaling maabot ng log file ang isang tiyak na laki. Maaari ka ring magtakda ng panahon pagkatapos kung saan ang lahat ng mga lumang entry ay ituturing na walang kaugnayan at tatanggalin.

Ang mga pangunahing setting ng pag-ikot ay matatagpuan sa /etc/logrotate.conf file; Bilang karagdagan, maaari kang lumikha ng mga indibidwal na setting para sa bawat application. Ang mga file na may mga indibidwal na setting ay iniimbak sa /etc/logrotate.d na direktoryo.

Gumawa tayo ng text file /etc/logrotate.d/craftbukkit at ilagay ang mga sumusunod na parameter dito:

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

Tingnan natin ang kanilang mga kahulugan nang mas detalyado:

  • ang rotate parameter ay tumutukoy sa bilang ng mga pag-ikot bago tanggalin ang file;
  • lingguhan ay nagpapahiwatig na ang pag-ikot ay isasagawa lingguhan (maaari ka ring magtakda ng iba pang mga parameter: buwanan - buwanan at araw-araw - araw-araw);
  • Tinutukoy ng compress na ang mga naka-archive na log ay dapat i-compress (ang reverse na opsyon ay nocompress);
  • ipinapahiwatig ng missingok na kung walang log file, dapat kang magpatuloy sa pagtatrabaho at huwag magpakita ng mga mensahe ng error;
  • Tinutukoy ng notifempty na huwag ilipat ang log file kung ito ay walang laman.

Maaari kang magbasa nang higit pa tungkol sa mga setting ng pag-ikot ng log dito.

Mga Tip sa Pag-optimize

Agad tayong magpareserba na ang seksyong ito ay magbibigay ng mga tip na nauugnay lamang sa pag-optimize ng server ng laro. Ang mga isyu ng fine-tuning at pag-optimize ng server kung saan naka-install ang Minecraft ay isang hiwalay na paksa na lampas sa saklaw ng artikulong ito; madaling mahanap ng mga interesadong mambabasa ang impormasyong kailangan nila sa Internet.

Ang isa sa mga pinaka-karaniwang problema na lumitaw kapag naglalaro ng Minecraft ay ang tinatawag na mga lags - mga sitwasyon kapag ang programa ay hindi tumugon sa input ng user sa isang napapanahong paraan. Ang mga ito ay maaaring sanhi ng mga problema sa parehong panig ng kliyente at sa panig ng server. Sa ibaba ay magbibigay kami ng mga rekomendasyon na makakatulong na mabawasan ang posibilidad na magkaroon ng mga problema sa panig ng server.

Regular na subaybayan ang pagkonsumo ng memorya ng server at mga plugin

Maaaring subaybayan ang pagkonsumo ng memorya gamit ang mga dalubhasang administratibong plugin - halimbawa, LagMeter.

Manatiling nakatutok para sa mga update sa plugin

Bilang isang patakaran, nagsusumikap ang mga developer ng mga bagong plugin na bawasan ang pag-load sa bawat bagong bersyon.

Subukang huwag gumamit ng maraming plugin na may katulad na pag-andar

Ang malalaking plugin (hal. Essentials, AdminCMD, CommandBook) ay kadalasang kinabibilangan ng functionality ng maraming mas maliliit na plugin. Halimbawa, ang parehong Essential ay naglalaman ng mga function ng iConomy, uHome, OpenInv, VanishNoPacket, Kit plugins. Maliit na mga plugin, ang pag-andar na kung saan ay ganap na sakop ng pag-andar ng isang malaki, sa karamihan ng mga kaso ay maaaring alisin upang hindi ma-overload ang server.

Limitahan ang mapa at i-load ito nang mag-isa

Kung hindi mo lilimitahan ang mapa, ang pag-load sa server ay tataas nang malaki. Maaari mong limitahan ang mapa gamit ang isang plugin WorldBorder. Upang gawin ito, kailangan mong patakbuhin ang plugin na ito at patakbuhin ang command na /wb 200, at pagkatapos ay iguhit ang mapa gamit ang command na /wb fill.

Ang pagguhit, siyempre, ay kukuha ng maraming oras, ngunit mas mahusay na gawin ito nang isang beses, isara ang server para sa teknikal na gawain. Kung iguguhit ng bawat manlalaro ang mapa, dahan-dahang gagana ang server.

Palitan ang mga heavy-duty na plugin ng mas mabilis at mas kaunting resource-intensive

Hindi lahat ng mga plugin para sa Minecraft ay matatawag na matagumpay: madalas silang naglalaman ng maraming hindi kailangan at hindi kinakailangang mga pag-andar, at kung minsan ay kumakain din sila ng maraming memorya. Mas mainam na palitan ang mga hindi matagumpay na plugin ng mga alternatibo (mayroong marami sa kanila). Halimbawa, ang LWC plugin ay maaaring palitan ng Wgfix+MachineGuard, at ang DynMap plugin na may Minecraft Overviewer.

Palaging i-clear ang drop o mag-install ng plugin upang awtomatikong alisin ang drop

Ang mga drop sa laro ay mga item na nahuhulog kapag ang isang mandurumog ay namatay o ilang mga bloke ay nawasak. Ang pag-iimbak at pagproseso ng mga drop ay tumatagal ng maraming mapagkukunan ng system.

Upang gawing mas mabilis ang server, ipinapayong tanggalin ang drop. Pinakamabuting gawin ito gamit ang mga espesyal na plugin - halimbawa, NoLagg o McClean.

Huwag gumamit ng anti-cheats

Ang tinatawag na mga anti-cheat ay madalas na naka-install sa mga server ng laro - mga programang humaharang sa mga pagtatangkang impluwensyahan ang laro sa mga hindi tapat na paraan.

May mga anti-cheat din para sa Minecraft. Ang anumang anti-cheat ay palaging isang karagdagang pagkarga sa server. Mas mainam na mag-install ng proteksyon para sa launcher (na, gayunpaman, ay hindi nagbibigay ng ganap na garantiya ng seguridad at madaling masira - ngunit ito ay isang paksa para sa isang hiwalay na talakayan) at para sa kliyente.

Sa halip ng isang konklusyon

Ang anumang mga tagubilin at rekomendasyon ay magiging mas epektibo kung sinusuportahan sila ng mga partikular na halimbawa. Batay sa mga tagubilin sa pag-install sa itaas, gumawa kami ng sarili naming Minecraft server at naglagay ng ilang kawili-wiling bagay sa mapa.

Narito ang nakuha namin:

  • Bukkit server - stable na inirerekomendang bersyon 1.6.4;
  • Statistics plugin - upang mangolekta ng mga istatistika tungkol sa mga manlalaro;
  • WorldBorder plugin - upang gumuhit at limitahan ang mapa;
  • WorldGuard plugin (+WorldEdit bilang dependency) - upang protektahan ang ilang lugar.

Inaanyayahan namin ang lahat na maglaro dito: upang kumonekta, magdagdag ng bagong server at ilagay ang address mncrft.slc.tl.

Masaya kami kung ibabahagi mo ang iyong sariling karanasan sa pag-install, pag-configure at pag-optimize ng mga server ng MineCraft sa mga komento at sabihin sa amin kung aling mga mod at plugin ang interesado ka at bakit.

Cool na balita: Mula Agosto 1, ang bayad sa pag-install para sa mga nakatalagang fixed-configuration server ay nabawasan ng 50%. Ngayon ang isang beses na pagbabayad sa pag-setup ay 3000 rubles lamang.

Ang mga mambabasa na hindi makapag-iwan ng mga komento dito ay iniimbitahan na bisitahin kami sa blog.

Pinagmulan: www.habr.com

Magdagdag ng komento