Безплатен minecraft сървър на AWS с нулеви познания за linux

Хей Хабр! По-точно, мошеници, които търсят как да настроят minecraft сървър, за да играят с приятели.

Статията е предназначена за не-програмисти, не-сисадмини, като цяло, а не за основната аудитория на Habr. Статията съдържа инструкции стъпка по стъпка за създаване на minecraft сървър със специален IP, адаптиран за хора, които са далеч от ИТ. Ако това не е за вас, по-добре пропуснете статията.

Какво е сървър?

И така, какво е сървър? Ако разчитаме на концепцията за "сървър" като софтуерен компонент, тогава сървърът е програма, която може да получава, обработва и предава данни, получени от потребители (клиенти), които са свързани към този сървър. На примера на сайт - сайтът се намира на някакъв уеб сървър, до който имате достъп през браузър. В нашия случай сървърът на minecraft генерира свят, към който се свързват играчи (клиенти), които могат да ходят, да чупят блокове и т.н. Сървърът на minecraft отговаря за свързването на играчите и всяко тяхно действие.

Очевидно сървърът трябва да работи на компютъра (машината). Можете да повдигнете сървъра на домашния си компютър, но в този случай:

  • Вие компрометирате сигурността на собствения си компютър, като отваряте портове на него
  • Сървърът ще зареди вашия компютър, което може да попречи на работата ви с него
  • Не можете да поддържате домашния си компютър работещ 24/7: понякога го изключвате, понякога компютърът губи връзката си с интернет и т.н.
  • За да получите достъп до сървъра си от външния свят, ще трябва да получите достъп до компютъра си с помощта на IP адрес, което за "домашните" интернет доставчици е динамичен, тоест може да се променя на всеки 2-3 дни по независещи от вас причини.

И как да решим тези проблеми?

Решението на всички тези проблеми е да използвате виртуална машина с статичен, тоест неизменен IP адрес.

Трудна терминология? Нека да го разберем.
Обърнете се към Wikipedia.

Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы...

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

Къде ще го вземем?

Отговорът е прост - AWS. Това е платформа, която предоставя много различни облачни услуги, полезни за всеки, който работи с мрежата и не само. За да създадете minecraft сървър, един от продуктите на AWS е идеален - Amazon EC2 - облачна виртуална машина, която е достъпна 24/7. AWS предлага минимална виртуална машина (10GB SSD, 1GB RAM) безплатно за една година, освен това прави възможно обвързването на безплатен специален (статичен) IP адрес за постоянен достъп до вашата VM (виртуална машина) на същия адрес.

Създаване и конфигуриране на VM

Отидете на уебсайта AWS и се регистрирайте. След това отидете на конзолата за управление.

Безплатен minecraft сървър на AWS с нулеви познания за linux

В конзолата, сред услугите, намерете EC2 и отидете до него.

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

Безплатен minecraft сървър на AWS с нулеви познания за linux

За да изберете център за данни, препоръчвам да използвате услугата Wonder Network, който измерва скоростта, с която пакетите се изпращат до други градове.
В моя случай (Москва) се обърнах към мен от ирландски център за данни.

Време е да създадете виртуална машина. За да направите това, отидете на раздела Стартиране на екземпляр

Безплатен minecraft сървър на AWS с нулеви познания за linux

Нека започнем да конфигурираме VM.

1) Изберете изображението на операционната система. За да повдигнете сървъри, linux е много удобно, ще използваме комплекта за разпространение CentOS7

Трябва да се отбележи, че няма да има графична среда на вашата виртуална машина, машината ще бъде достъпна през конзолата. Това включва контролиране на VM с помощта на команди, а не компютърна мишка. Не се страхувайте от това: не трябва да ви спира сега или да се отказвате от идеята да стартирате свой собствен minecraft сървър, тъй като е „твърде сложно“. Работата с машината през конзолата е лесна - скоро ще се убедите сами.

Безплатен minecraft сървър на AWS с нулеви познания за linux

2) Сега нека дефинираме техническата конфигурация на VM. За безплатно ползване Amazon предлага конфигурация t2.micro, недостатъчно за пълноценен голям minecraft сървър, но достатъчно за игра с приятели.

Безплатен minecraft сървър на AWS с нулеви познания за linux

3) Останалите настройки са оставени по подразбиране., Но спираме в раздела Конфигурирайте групи за сигурност.

Безплатен minecraft сървър на AWS с нулеви познания за linux

Тук трябва да конфигурираме достъп до порт за сървъра на minecraft.

С прости думи, портът е неотрицателно число, което показва към кого са адресирани входящите данни от външния свят. Може да има много различни услуги и сървъри на VM, така че всички входящи пакети с данни съхраняват в заглавката си порта (номера) на дестинацията (услуга, сървър) във VM.

За сървърите на minecraft де факто стандартът е да се използва портът 25565. Нека добавим правило, което показва, че достъпът до вашата VM през този порт е разрешен.

Безплатен minecraft сървър на AWS с нулеви познания за linux

Безплатен minecraft сървър на AWS с нулеви познания за linux

Отидете до прозореца за завършване на създаването на VM, като щракнете върху бутона Преглед и стартиране

Настройване на двойка SSH ключове за VM

Така че връзката с машината ще се осъществи с помощта на SSH протокол.

SSH протоколът работи по следния начин: генерира се двойка ключове (публичен и частен), публичният ключ се съхранява на VM, а частният ключ се съхранява на компютъра на лицето, свързващо се с VM (клиент). При свързване VM проверява дали клиентът има валиден частен ключ.

преса Стартиране. Пред вас ще се появи следният прозорец:

Безплатен minecraft сървър на AWS с нулеви познания за linux

Въведете име за двойката ключове (за ваше удобство) и щракнете изтегляне на двойка ключове. Трябва да изтеглите .pem файл, съдържащ вашия личен ключ. Щракнете върху бутона Стартиране на екземпляри. Току-що създадохте виртуална машина, която ще хоства сървъра.

Получаване на статичен IP

Сега трябва да получим и свържем статичен IP адрес към нашата виртуална машина. За това меню намираме раздела Еластични IP адреси и преминете през него. В раздела щракнете върху бутона Разпределяне на еластичен IP адрес и вземете статичен IP.

Безплатен minecraft сървър на AWS с нулеви познания за linux

Сега полученият IP адрес трябва да бъде свързан с нашата VM. За да направите това, изберете го от списъка и в менюто Действия избирам Асоцииран IP адрес

Безплатен minecraft сървър на AWS с нулеви познания за linux

След това свържете VM с нашия IP адрес

Безплатен minecraft сървър на AWS с нулеви познания за linux

Готово!

Отидете на VM

Сега, когато VM е конфигуриран и IP адресът е обвързан, нека се свържем с него и да инсталираме нашия minecraft сървър.

За да се свържете с VM чрез SSH, използвайте програмата PuTTY. Незабавно инсталирайте PuTTYgen от същата страница

След като инсталирате PuTTY, отворете го. Сега трябва да настроите връзката.

Безплатен minecraft сървър на AWS с нулеви познания за linux

  1. В раздела Сесия изберете тип връзка SSH, порт 22. Посочете име за връзката. Името на хоста за свързване чрез SSH е низ като: имя_пользователя@публичный_dns.

Потребителското име по подразбиране в AWS за CentOS е − CentOS. Вашият публичен DNS може да се види тук:

Безплатен minecraft сървър на AWS с нулеви познания за linux

Имам реплика [email protected]

  1. В раздела SSH -> Удостоверяване предоставете вашия личен SSH ключ. Съхранява се във файл .pem, който изтеглихме по-рано. Но PuTTY не може да работи с файлове .pem, има нужда от формата .ppk. Ще използваме PuTTYgen за преобразуването. Инструкции за конвертиране от уебсайта на PuTTYgen. Получен файл .ppk Запазете и въведете тук:

Безплатен minecraft сървър на AWS с нулеви познания за linux

  1. Свързваме се с VM, като отваряме връзката с бутона отворено.
    Честито! Току-що се свързахме с конзолата на вашата виртуална машина. Остава да вдигнем нашия сървър до него.

Инсталиране и конфигуриране на minecraft сървър

Нека започнем да настройваме нашия сървър. Първо, трябва да инсталираме няколко пакета на нашата виртуална машина.

sudo yum install -y wget mc iptables iptables-services java screen

Нека да разберем за какво е предназначен всеки от пакетите.

  • Wget - помощна програма за изтегляне на файлове в linux. С него ще изтеглим сървърните файлове.
  • mc - конзолен текстов редактор. Различава се в простота и удобство при използване за неподготвен потребител.
  • IPTABLES - помощна програма за управление и конфигуриране на защитна стена, с помощта на която ще отворим порт за сървър на нашата VM.
  • Ява - minecraft работи на java, така че е необходимо сървърът да работи
  • екран е мениджър на прозорци за linux. Това ще ни позволи да дублираме нашата конзола, за да вдигнем сървъра. Факт е, че сървърът трябва да се стартира през конзолата, ако прекъснете връзката с вашата VM, процесът на сървъра ще бъде спрян. Затова ще го стартираме в отделен прозорец на конзолата.

Сега нека конфигурираме защитната стена.

Защитната стена е софтуерен или хардуерно-софтуерен елемент на компютърна мрежа, който контролира и филтрира мрежовия трафик, преминаващ през нея в съответствие с определени правила. (Уикипедия)

Обяснявайки с прости думи: представете си ограден град. Постоянно е атакуван отвън, докато в града тече обикновен живот. За достъп до града в стената на крепостта има порта, на която стоят пазачи и проверяват по списъци дали този човек може да бъде допуснат в крепостта. Ролята на стена и врата в компютърните мрежи се изпълнява от защитната стена.

sudo mcedit /etc/sysconfig/iptables

Току-що създадохме конфигурационен файл на защитната стена. Попълнете го със стандартни конфигурационни данни, включително правило за порта 25565, който е стандартният порт за сървъра на minecraft.

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25565 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Затворете файла, като щракнете F10, запазвайки промените.

Безплатен minecraft сървър на AWS с нулеви познания за linux

Сега нека стартираме защитната стена и я активираме за автоматично зареждане:

sudo systemctl enable iptables
sudo systemctl restart iptables

Ще съхраним сървърните файлове в отделна папка, ще я създадем, ще отидем в нея и ще изтеглим сървърните файлове. За това трябва да използвате Wget

mkdir minecraft
cd minecraft
wget <ссылка_на_jar>

Трябва да се намери пряка връзка за изтегляне .jar сървърен файл. Например връзка към сървърния файл версия 1.15.2:

wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar

Вижте съдържанието на папка с командата ls, уверете се, че файловете са изтеглени.

Безплатен minecraft сървър на AWS с нулеви познания за linux

Нека стартираме сървърния файл. Сега сървърът няма да работи: той ще създаде всички файлове, необходими за работа, и ще се закълне, че не сте съгласни с условията на лиценза EULA. Приемете условията, като отворите файла eula.txt

sudo mcedit eula.txt

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

eula=true

Отворете файла server.properties: Това е конфигурационният файл на вашия сървър. Научете повече за настройките на сървъра

Трябва да направите следната промяна в него:

online-mode=false

Останалите настройки зависят от вас.

Старт на сървъра

Време е да стартирате сървъра. Както казах, сървърът стартира директно от конзолата, но ако затворим основната конзола, сървърният процес ще бъде спрян. Така че нека създадем друга конзола:

screen

В тази конзола стартирайте сървъра:

 sudo java -Xms512M -Xmx1024M -jar <название_файла_сервера>.jar --nogui

Сървърът стартира за около 45 секунди, не прекъсвайте процеса. Когато сървърът се инициализира и работи, ще видите нещо като:

Безплатен minecraft сървър на AWS с нулеви познания за linux

Честито! Току-що станахте и стартирахте своя minecraft сървър. Сега е важно да излезете правилно от втората конзола, така че да продължи да работи с работещия сървър. За да направите това, щракнете Ctrl+A, тогава D. Трябва да сте в главната конзола и да видите съобщение като [detached from 1551.pts-0.ip-172-31-37-146]. Ако трябва да се върнете към конзолата, където сървърът работи, използвайте screen -r

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

Безплатен minecraft сървър на AWS с нулеви познания за linux

Оказва се, че адресът за влизане в сървъра ще бъде <ваш_статический_IP>:25565.

Заключение

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

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

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