Създаване и настройка на Minecraft сървър

Създаване и настройка на Minecraft сървър

Minecraft е една от най-популярните онлайн игри днес. За по-малко от три години (първото официално издание се състоя през есента на 2011 г.) той спечели милиони фенове по целия свят.

Разработчиците на игри умишлено се фокусират върху най-добрите примери отпреди двадесет години, когато много игри по днешните стандарти бяха примитивни по отношение на графиката и несъвършени по отношение на използваемостта, но в същото време бяха наистина вълнуващи.

Както всички пясъчни игри, Minecraft предоставя на потребителя страхотни възможности за творчество - това всъщност е основната тайна на неговата популярност.

Организацията на сървърите за игра в мултиплейър режим се извършва от самите играчи и техните общности. Днес десетки хиляди сървъри за игри работят в Интернет (вижте например списъка тук).

Сред нашите клиенти има много фенове на тази игра и те наемат оборудване за игрови проекти в нашите центрове за данни. В тази статия ще говорим за това на какви технически точки трябва да обърнете внимание при избора на сървър
Minecraft.

Изберете платформа

Играта Minecraft включва следните архитектурни елементи:

  1. сървър - програма, с която играчите взаимодействат помежду си по мрежа;
  2. клиент - програма за свързване със сървъра, инсталирана на компютъра на играча;
  3. плъгини – допълнения към сървъра, които добавят нови функции или разширяват старите;
  4. модове - допълнения към света на играта (нови блокове, елементи, функции).

Има много сървърни платформи за Minecraft. Най-често срещаните и популярни са Vanilla и Bukkit.

ванилия Това е официалната платформа от разработчиците на играта. Разпространява се както в графична, така и в конзолна версия. Нова версия на Vanilla винаги излиза едновременно с новата версия на Minecraft.

Недостатъкът на Vanilla е прекомерната консумация на памет (приблизително 50 MB на играч). Друг съществен недостатък е липсата на плъгини.

Букит е създаден от група ентусиасти, които се опитаха да подобрят официалния сървър на Minecraft. Опитът се оказа доста успешен: по отношение на функционалността Bukkit е много по-широк от Vanilla - главно поради поддръжката на различни модове и плъгини. В същото време консумира по-малко памет на играч - около 5-10 MB.

Минусите на Bukkit са, че заема твърде много RAM, когато се стартира. Освен това, колкото по-дълго работи сървърът, толкова повече памет му трябва (дори и да има малко играчи). Когато избирате Bukkit като сървър, имайте предвид, че новите му версии, като правило, съдържат грешки; стабилната версия обикновено се появява около 2-3 седмици след пускането на официалната версия на Minecraft.

В допълнение, други платформи наскоро придобиха популярност (например Spout, MCPC и MCPC +), но те се различават по ограничена съвместимост с Vanilla и Bukkit и много ограничена поддръжка за модове (например, можете да пишете само модове за Spout от нулата). Ако се използват, тогава само за експерименти.

За да организирате сървър за игри, препоръчваме да използвате платформата Bukkit, тъй като тя е най-гъвкавата; освен това под него има много различни модове и добавки. Стабилната работа на сървъра Minecraft до голяма степен зависи от правилния избор на хардуерна платформа. Нека разгледаме този въпрос по-подробно.

Хардуерни изисквания

И сървърът, и клиентът на Minecraft са много взискателни към системните ресурси.
При избора на хардуерна платформа трябва да се има предвид, че многоядрен процесор няма да даде големи предимства: сървърното ядро ​​на Minecraft може да използва само една изчислителна нишка. Второто ядро ​​обаче ще бъде полезно: някои плъгини се изпълняват в отделни нишки, а Java също консумира много ресурси ...

Следователно за сървър на Minecraft е по-добре да изберете процесор с по-висока едноядрена производителност. По-мощен двуядрен процесор ще бъде предпочитан пред по-малко мощен многоядрен процесор. На специализирани форуми се препоръчва използването на процесори с тактова честота най-малко 3 GHz.

За нормалното функциониране на сървъра на Minecraft е необходимо голямо количество RAM. Bukkit заема приблизително 1 GB RAM; освен това за всеки играч, както бе споменато по-горе, се разпределят от 5 до 10 MB. Добавките и модификациите също консумират доста памет. Следователно за сървър с 30 - 50 играчи ще ви трябва поне 4 GB RAM.

В Minecraft много (например зареждане на същите плъгини) зависи от скоростта на файловата система. Затова е за предпочитане да изберете сървър със SSD устройство. Шпинделните устройства е малко вероятно да бъдат подходящи поради ниската скорост на произволно четене.

Скоростта на интернет връзката също е от голямо значение. За игра от 40-50 души е достатъчен канал от 10 Mb / s. Въпреки това, за тези, които планират по-голям майнкрафт проект, включително уебсайт, форум и динамична карта, е много желателно да имат канал с по-висока честотна лента.

Каква конкретна конфигурация е най-добре да изберете? от конфигурации, които предлагаме Препоръчваме ви да обърнете внимание на следното:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2x500GB SATA, 3000 rub/месец;
  • Intel Core 2 Quad Q8300 2.5GHz, 6GB RAM, 2×500GB SATA, 3500 rub/месец - използваме тази конфигурация за нашия тестов сървър MineCraft, на който можете да играете в момента (как да направите това е описано по-долу);
  • Intel Core i3-2120 3.3GHz, 8GB RAM, 2x500GB SATA, 3500 rub/месец

Тези конфигурации са доста подходящи за създаване на Minecraft сървър за 30-40 играчи. Известен недостатък е липсата на SSD устройства, но ние даваме друго важно предимство: гарантиран 100 Mb / s канал без никакви ограничения и съотношения. При поръчка на всички изброени по-горе конфигурации таксата за монтаж не се начислява.

Имаме и по-производителни, но в същото време, разбира се, по-скъпи сървъри (при поръчка на тези конфигурации плащането за настройка също не се таксува):

  • 2x Intel Xeon 5130, 2GHz, 8GB RAM, 4x160GB SATA, 5000 rub/месец;
  • 2x IntelXeon 5504, 2GHz, 12GB RAM, 3×1TB SATA, 9000 rub/месец.

Също така препоръчваме да обърнете внимание на новия бюджетен модел със SSD устройство, базирано на процесора Intel Atom C2758: Intel Atom C2758 2.4 GHz, 16 GB RAM, 2 × 240 GB SSD, 4000 рубли / месец, инсталационно плащане - 3000 рубли.

Инсталиране и стартиране на сървъра Bukkit в Ubuntu OC

Преди да инсталираме сървъра, нека създадем нов потребител и да го добавим към sudo групата:

$ sudo useradd -m -s /bin/bash <потребителско име> $ sudo adduser <потребителско име> sudo

След това задайте паролата, под която създаденият потребител ще се свърже със сървъра:

$ sudo passwd <потребителско име>

Свържете се отново със сървъра под нов акаунт и продължете с инсталацията.
Minecraft е написан на Java, така че Java Runtime Environment трябва да бъде инсталиран на сървъра.

Актуализирайте списъка с налични пакети:

$ sudo apt-get актуализация

След това изпълнете следната команда:

$ sudo apt-get install default-jdk

За да инсталирате и стартирате Bukkit, също е желателно да инсталирате терминален мултиплексор - например екран (могат да се използват други терминални мултиплексори - вижте нашия преглед):

$ sudo apt-get екран за инсталиране

Ще е необходим екран, ако се свържем със сървъра на играта чрез ssh. С него ще бъде възможно да стартирате Minecraft сървъра в отделен терминален прозорец и дори след затваряне на ssh клиента сървърът ще работи.

Нека създадем директория, където ще се съхраняват сървърните файлове:

$ mkdir bukkit $ cd bukkit

След това да отидем на Страница за изтегляне на официалния уебсайт на Bukkit. В горната дясна част на страницата можете да видите връзка към най-новата сървърна компилация, препоръчана за използване (препоръчителна компилация). Препоръчваме да го изтеглите:

$ wget <връзка към препоръчаната версия>

Сега нека стартираме екрана:

$ sudo екран

и изпълнете следната команда:

$ java -Xmx1024M -jar craftbukkit.jar -o невярно

Нека обясним какво означават използваните параметри:

  • Xmx1024M - максимално количество RAM на сървър;
  • jar craftbukkit.jar - ключ към сървъра;
  • o false - позволява достъп до сървъра от пиратски клиенти.

Сървърът ще стартира.
Можете да спрете сървъра, като напишете командата stop в конзолата.

Настройка и конфигуриране на сървъра

Настройките на сървъра се съхраняват в конфигурационния файл server.properties. Той съдържа следните опции:

  • generator-settings - задава шаблона за генериране на супер плосък свят;
  • allow-nether - определя възможността за преход към Nether. По подразбиране този параметър е зададен на true. Ако е зададено на false, тогава всички играчи от Nether ще бъдат преместени към нормалното;
  • level-name е името на папката с файла на картата, която ще се използва по време на играта. Папката се намира в същата директория като сървърните файлове. Ако няма такава директория, сървърът автоматично създава нов свят и го поставя в директория със същото име;
  • enable-query - когато е зададено на true, активира протокола GameSpy4 за слушане на сървъра;
  • allow-flight - Позволява полети в света на Minecraft. Стойността по подразбиране е false (без полети);
  • server-port - указва порта, който ще се използва от сървъра на играта. Портът по подразбиране за Minecraft е 25565. Не препоръчваме промяна на тази настройка;
  • level-type - определя вида на света (DEFAUT/FLAT/LARGEBIOMES);
  • enable-rcon - отваря отдалечен достъп до сървърната конзола. По подразбиране е деактивирано (false);
  • level-seed - вход за генератора на ниво. За да можете да създавате произволни светове, това поле трябва да остане празно;
  • force-gamemode - настройва играчите, свързващи се със сървъра, към стандартния режим на игра;
  • server-ip - указва IP адреса, който ще се използва от играчите за свързване към сървъра;
  • max-build-height - определя максималната височина на сграда на сървъра. Стойността му трябва да е кратна на 16 (64, 96, 256 и т.н.);
  • spawn-npcs - Позволява (ако е зададено на true) или деактивира (ако е зададено на false) NPC да се появяват в селата.
  • бял списък - разрешава и забранява използването на бял списък с играчи на сървъра. Ако е зададено на true, тогава администраторът ще може да създаде бял списък, като добави псевдоними на играчи към него ръчно. Ако стойността е зададена на false, тогава всеки потребител, който знае своя IP адрес и порт, може да получи достъп до сървъра;
  • spawn-animals - Позволява на приятелски тълпи да се раждат автоматично, ако е зададено на true)
  • snooper-enabled - позволява на сървъра да изпраща статистики и данни на разработчиците;
  • hardcore - включва режим Hardcore на сървъра;
  • texture-pac е текстурният файл, който ще се използва, когато играчът се свърже със сървъра. Стойността на този параметър е името на zip-архива с текстури, който се съхранява в същата директория като сървъра;
  • онлайн режим - позволява проверка на премиум акаунтите на потребителите, свързващи се към сървъра. Ако този параметър е зададен на true, само притежателите на премиум акаунти ще имат достъп до сървъра. Ако проверката на акаунта е деактивирана (настроена на false), тогава всички потребители (включително, например, играчи, които са фалшифицирали псевдоним) могат да получат достъп до сървъра, което създава допълнителни рискове за сигурността. С деактивирана проверка можете да играете Minecraft през локална мрежа, без достъп до интернет;
  • pvp - позволява или забранява на играчите да се бият помежду си. Ако този параметър е зададен на true, тогава играчите могат да се унищожават един друг. Ако е зададено на false, тогава играчите не могат да нанасят директни щети един на друг;
  • трудност - задава нивото на трудност на играта. Може да приема стойности от 0 (най-лесно) до 3 (най-трудно);
  • gamemode - определя кой режим на игра ще бъде зададен за играчите, които се присъединяват към сървъра. Може да приема следните стойности: 0 - Оцеляване, 1-Креативен, 2-Приключенски;
  • player-idle-timeout - време на неактивност (в минути), след което играчите автоматично се изключват от сървъра;
  • max-players - максимално допустимият брой играчи на сървъра (от 0 до 999);
  • spawn-monsters - позволява (ако е зададено на true) раждането на враждебни тълпи;
  • генериране на структури - разрешава (true) / забранява (false) генерирането на структури (съкровищници, крепости, села);
  • view-distance - регулира радиуса на актуализираните парчета за изпращане на играча; може да приема стойности от 3 до 15.

Сървърните регистрационни файлове на Minecraft се записват във файла server.log. Той се съхранява в същата папка като сървърните файлове. Дневникът непрекъснато нараства по размер, заемайки все повече и повече дисково пространство. Можете да рационализирате работата на механизма за регистриране, като използвате така наречената ротация на журналите. За ротация се използва специална помощна програма - logrotate. Той ограничава броя на записите в дневника до определен лимит.

Можете да настроите ротация на регистрационния файл, така че всички записи да бъдат изтрити веднага щом регистрационният файл достигне определен размер. Можете също така да зададете период, след който всички стари записи ще се считат за неуместни и изтрити.

Основните настройки за ротация са във файла /etc/logrotate.conf; освен това могат да се създават индивидуални настройки за всяко приложение. Файловете с индивидуални настройки се съхраняват в директорията /etc/logrotate.d.

Създайте текстов файл /etc/logrotate.d/craftbukkit и въведете следните параметри в него:

/home/craftbukkit/server.log { ротация 2 седмично компресиране missingok notifempty }

Нека разгледаме техните значения по-подробно:

  • параметърът rotate указва броя на завъртанията преди изтриване на файла;
  • седмично показва, че ротацията ще се извършва седмично (може да се зададат и други параметри: monthly - месечно и daily - ежедневно);
  • компресиране указва, че архивираните регистрационни файлове трябва да бъдат компресирани (опцията е nocompress);
  • missingok уточнява, че при липса на лог файл работата трябва да продължи и не трябва да се показват съобщения за грешка;
  • notifempty указва да не се премества лог файла, ако е празен.

Можете да прочетете повече за настройките за редуване на регистрационни файлове. тук.

Съвети за оптимизация

Незабавно направете резервация, че този раздел ще предостави съвети, свързани само с оптимизирането на игровия сървър. Въпросите за фина настройка и оптимизиране на сървъра, на който е инсталиран Minecraft, са отделна тема, която е извън обхвата на тази статия; заинтересованите читатели могат лесно да намерят необходимата им информация в интернет.

Един от най-често срещаните проблеми, които възникват при игра на Minecraft, са така наречените лагове - ситуации, когато програмата не реагира навреме на въвеждането на потребителя. Те могат да бъдат причинени от проблеми както от страна на клиента, така и от страна на сървъра. По-долу ще дадем препоръки, които ще помогнат за намаляване на вероятността от проблеми от страна на сървъра.

Редовно следете потреблението на памет от сървъра и добавките

Консумацията на памет може да се проследи с помощта на специализирани административни добавки - напр. LagMeter.

Очаквайте актуализации на приставките

По правило разработчиците на нови плъгини с всяка нова версия се стремят да намалят натоварването.

Опитайте се да не използвате много добавки с подобна функционалност

Големите добавки (напр. Essentials, AdminCMD, CommandBook) много често включват функционалността на много по-малки добавки. Например, същият Essential съдържа функциите на добавките iConomy, uHome, OpenInv, VanishNoPacket, Kit. Малките плъгини, чиято функционалност е напълно покрита от функционалността на един голям, в повечето случаи могат да бъдат премахнати, за да не се претоварва сървъра.

Ограничете картата и я изтеглете сами

Ако не ограничите картата, тогава натоварването на сървъра ще се увеличи значително. Можете да ограничите картата с помощта на приставката Световна граница. За да направите това, трябва да стартирате този плъгин и да изпълните командата /wb 200 и след това да начертаете картата с помощта на командата /wb fill.

Рисуването, разбира се, ще отнеме много време, но е по-добре да го направите веднъж, като затворите сървъра за техническа работа. Ако всеки играч рисува картата, сървърът ще работи бавно.

Заменете тежките добавки с по-бързи и по-малко ресурсоемки

Не всички приставки за Minecraft могат да се нарекат успешни: те често съдържат много ненужни и ненужни функции, а понякога също консумират много памет. Неуспешните плъгини се заменят най-добре с алтернативни (има доста от тях). Например, плъгинът LWC може да бъде заменен с Wgfix+MachineGuard, а плъгинът DynMap с Minecraft Overviewer.

Винаги почиствайте капката или инсталирайте плъгин за автоматично премахване на капката

Капките в игрите са предмети, които изпадат, когато тълпа умре или някои блокове са унищожени. Съхраняването и обработката на спадове заемат много системни ресурси.

За да накарате сървъра да работи по-бързо, препоръчително е да изтриете спада. Това се прави най-добре с помощта на специални плъгини - например NoLagg или McClean.

Не използвайте анти-чийтове

На сървърите на игри често се инсталират така наречените анти-мами - програми, които блокират опитите за влияние върху играта по нечестни начини.

Има и анти-чийтове за Minecraft. Всеки анти-чийт винаги е допълнително натоварване на сървъра. За предпочитане е да се монтират защити за лаунчера (които обаче не дават абсолютна гаранция за безопасност и се чупят лесно - но това е тема за отделна дискусия) и за клиента.

Вместо заключение

Всякакви инструкции и препоръки са много по-ефективни, ако са подкрепени с конкретни примери. Въз основа на инструкциите за инсталиране по-горе, създадохме наш собствен MineCraft сървър и поставихме нещо интересно на картата.

Ето какво получихме:

  • Bukkit сървър - стабилна препоръчителна версия 1.6.4;
  • Статистически плъгин - за събиране на статистика за играчи;
  • Plugin WorldBorder - за рисуване и ограничаване на картата;
  • Плъгин WorldGuard (+WorldEdit като зависимост) - за защита на някои области.

Каним всички да играят на него: да се свържете, да добавите нов сървър и да посочите адреса mncrft.slc.tl.

Ще се радваме, ако в коментарите споделите собствения си опит с инсталирането, конфигурирането и оптимизирането на сървърите на MineCraft и ни кажете кои модове и плъгини ви интересуват и защо.

Готини новини: От 1 август таксата за настройка за специализирани сървъри с фиксирана конфигурация е намалена с 50%. Сега еднократното плащане за инсталиране е само 3000 рубли.

Читателите, които не могат да оставят коментари тук, са добре дошли да се присъединят към нас на блог.

Източник: www.habr.com

Добавяне на нов коментар