Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Сәлем, Хабр! Дәлірек айтқанда, достармен ойнау үшін minecraft серверін қалай орнату керектігін іздейтін алаяқтар.

Мақала Хабрдың негізгі аудиториясына емес, бағдарламашы емес, жүйе әкімшісі емес адамдарға арналған. Мақалада IT-тен алыс адамдар үшін бейімделген арнайы IP-мен minecraft серверін құру бойынша қадамдық нұсқаулар бар. Егер бұл сізге қатысты болмаса, мақаланы өткізіп жібергеніңіз жөн.

Сервер дегеніміз не?

Сонымен сервер дегеніміз не? Бағдарламалық құралдың құрамдас бөлігі ретінде «сервер» концепциясына сүйенетін болсақ, онда сервер бұл серверге қосылған пайдаланушылардан (клиенттерден) алынған мәліметтерді қабылдауға, өңдеуге және жіберуге болатын бағдарлама. Сайтты мысал ретінде қолданатын болсақ, сайт браузер арқылы кіретін кейбір веб-серверде орналасқан. Біздің жағдайда, minecraft сервері ойыншылар (клиенттер) қосылатын, жүре алатын, блоктарды бұза алатын және т.б. әлемді жасайды. Minecraft сервері ойыншыларды және олардың кез келген әрекеттерін қосуға жауапты.

Әлбетте, сервер компьютерде (машинада) жұмыс істеп тұруы керек. Үй компьютерінде сервер орнатуға болады, бірақ бұл жағдайда:

  • Сіз өзіңіздің компьютеріңіздегі порттарды ашу арқылы оның қауіпсіздігіне қауіп төндіресіз
  • Сервер сіздің компьютеріңізге жүктеме түсіреді, бұл сіздің онымен жұмысыңызға кедергі келтіруі мүмкін
  • Сіз үйдегі компьютеріңізді тәулік бойы жұмыс істей алмайсыз: кейде оны өшіресіз, кейде компьютер интернет байланысын жоғалтады және т.б.
  • Серверге сыртқы әлемнен кіру үшін компьютерге арқылы кіру керек IP мекенжайы, бұл «үйдегі» интернет-провайдерлерге арналған динамикалық, яғни ол сізге байланысты емес себептерге байланысты 2-3 күн сайын өзгеруі мүмкін.

Ал біз бұл мәселелерді қалай шешеміз?

Барлық осы мәселелердің шешімі - пайдалану виртуалды машина бар статикалық, яғни өзгермейтін IP мекенжайы.

Күрделі терминология? Оны анықтап көрейік.
Уикипедияға жүгінейік.

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

Оны өте өрескел тілмен айтсақ, бұл компьютердегі компьютер. Сондай-ақ оған операциялық жүйені орнатуға және онымен қарапайым компьютердегідей жұмыс істеуге болады.

Оны қайдан аламыз?

Жауап қарапайым - AWS. Бұл тек қана емес, интернетпен жұмыс істейтіндердің барлығына пайдалы көптеген әртүрлі бұлттық қызметтерді ұсынатын платформа. Minecraft серверін жасау үшін AWS өнімдерінің бірі тамаша - Amazon EC2 — тәулік бойы қол жетімді бұлттық виртуалды машина. AWS минималды виртуалды машинаны ұсынады (24 ГБ SSD, 7 ГБ жедел жады) бір жылға тегін, сонымен қатар, сол мекенжайдағы VM (виртуалды машина) тұрақты қол жеткізу үшін тегін бөлінген (статикалық) IP мекенжайын байланыстыруға мүмкіндік береді.

Біз VM жасаймыз және конфигурациялаймыз

Веб-сайтқа өтіңіз AWS және тіркелу. Содан кейін басқару консоліне өтіңіз.

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Консольде қызметтер арасында табыңыз EC2 және оған барыңыз.

Деректер орталығын таңдау маңызды, жай сөзбен айтқанда, Amazon серверлері орналасқан орын. Сіз өзіңіздің орналасқан жеріңізге байланысты таңдауыңыз керек, өйткені Интернеттегі байланыс жылдамдығы әртүрлі және сіздің қалаңыздан байланыс мүмкіндігінше жылдам болатын деректер орталығын таңдау керек.

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Деректер орталығын таңдау үшін қызметті пайдалануды ұсынамын WonderNetwork, ол басқа қалалармен пакеттерді жіберу жылдамдығын өлшейді.
Менің жағдайда (Мәскеу), Ирландияның деректер орталығы маған сәйкес келді.

Виртуалды машина жасау уақыты келді. Мұны істеу үшін қойындыға өтіңіз Іске қосу данасы

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

VM конфигурациялауды бастайық.

1) Амалдық жүйе кескінін таңдаңыз. Linux серверлерді көтеру үшін өте ыңғайлы, біз тарату жинағын қолданамыз CentOS7

Айта кету керек, сіздің виртуалды машинаңызда графикалық орта болмайды, құрылғыға қол жеткізу консоль арқылы болады. Ол компьютер тінтуірін емес, пәрмендерді пайдаланып VM басқаруды қамтиды. Бұдан қорықпаңыз: бұл сізді қазір тоқтатпауы керек немесе жеке minecraft серверін көтеру идеясын тастамауы керек, өйткені бұл «тым қиын». Құрылғымен консоль арқылы жұмыс істеу қиын емес - жақын арада өзіңіз көресіз.

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

2) Енді VM техникалық конфигурациясын анықтайық. Тегін пайдалану үшін Amazon конфигурацияны ұсынады t2.micro, толыққанды үлкен minecraft сервері үшін жеткіліксіз, бірақ достармен ойнауға жеткілікті.

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

3) Қалған параметрлерді әдепкі ретінде қалдырыңыз, бірақ қойындыда тоқтаңыз Қауіпсіздік топтарын конфигурациялау.

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Мұнда біз minecraft серверінің порттарына қол жеткізуді конфигурациялауымыз керек.

Қарапайым тілмен айтқанда, порт сыртқы әлемнен келетін деректердің кімге жіберілетінін көрсететін теріс емес сан. VM көптеген әртүрлі қызметтер мен серверлерді орналастыра алады, сондықтан барлық кіріс деректер пакеттері өздерінің тақырыптарында VM ішіндегі тағайындалған орынның (қызмет, сервер) портын (нөмірін) сақтайды.

Minecraft серверлері үшін де-факто стандарты портты пайдалану болып табылады 25565. Осы порт арқылы VM-ге кіру рұқсат етілгенін көрсететін ережені қосамыз.

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Түймені басу арқылы VM құруды аяқтау терезесіне барамыз Қарап шығу және іске қосу

VM үшін SSH кілттер жұбын орнату

Осылайша, құрылғыға қосылу SSH хаттамасы арқылы жүзеге асырылады.

SSH протоколы келесідей жұмыс істейді: кілттер жұбы (ашық және жеке) генерацияланады, ашық кілт VM-де сақталады, ал жабық кілт VM-ге (клиент) қосылатын адамның компьютерінде сақталады. Қосылу кезінде VM клиентте сәйкес жеке кілт бар екенін тексереді.

баспасөз ұшыру. Сіздің алдыңызда келесі терезе пайда болады:

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Кілттер жұбының атын енгізіңіз (сізге ыңғайлы болу үшін) және түймесін басыңыз Кілттер жұбын жүктеп алыңыз. Сіз жүктеп алуыңыз керек .pem жеке кілтіңізді қамтитын файл. түймешігін басыңыз Даналарды іске қосыңыз. Сіз жаңа ғана сервер орнатылатын виртуалды машинаны жасадыңыз.

Статикалық IP алу

Енді бізге статикалық IP алу және VM-ге байланыстыру керек. Бұл мәзір үшін қойындыны табамыз Серпімді IP мекенжайлары және біз онымен қозғаламыз. Қойындыда түймені басыңыз Эластикалық IP мекенжайын бөліңіз және статикалық IP алыңыз.

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Енді алынған IP мекенжайы біздің VM-мен байланысты болуы керек. Мұны істеу үшін оны тізімнен және мәзірден таңдаңыз Әрекеттер таңдау Байланысты IP мекенжайы

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Содан кейін біз VM-ді IP мекенжайымызға байланыстырамыз

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Аяқталды!

Біз VM-ге барамыз

Енді VM конфигурацияланған және IP мекенжайы тағайындалған соң, оған қосылып, minecraft серверін орнатайық.

VM-ге SSH арқылы қосылу үшін біз бағдарламаны қолданамыз PuTTY. PuTTYgen қолданбасын осы беттен дереу орнатыңыз

PuTTY орнатқаннан кейін оны ашыңыз. Енді қосылымды конфигурациялау керек.

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

  1. Қойындыда сессия қосылым түрін таңдаңыз SSH, порт 22. Қосылым үшін атауды көрсетіңіз. SSH арқылы қосылуға арналған хост атауы келесідей жол болып табылады: имя_пользователя@публичный_dns.

CentOS үшін AWS жүйесіндегі әдепкі пайдаланушы аты жүздеген. Қоғамдық DNS мекенжайыңызды мына жерден көруге болады:

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Мен сызықты алдым [email protected]

  1. Қойындыда SSH -> Auth жеке SSH кілтін енгізіңіз. Ол файлда сақталады .pem, біз бұрын жүктеп алған болатынбыз. Бірақ PuTTY файлдармен жұмыс істей алмайды .pem, оған формат қажет .ppk. Түрлендіру үшін біз PuTTYgen пайдаланамыз. PuTTYgen веб-сайтындағы түрлендіру нұсқаулары. Алынған файл .ppk Сақтап, мына жерде көрсетейік:

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

  1. Қосылымды түйме арқылы ашу арқылы VM-ге қосыламыз ашық.
    Құттықтаймыз! Біз жаңа ғана VM консоліне қосылдық. Оған серверімізді орнату ғана қалады.

Minecraft серверін орнату және конфигурациялау

Серверімізді орнатуды бастайық. Біріншіден, VM-ге бірнеше пакеттерді орнату керек.

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

Пакеттердің әрқайсысы не үшін екенін анықтайық.

  • wget - Linux жүйесінде файлдарды жүктеп алуға арналған қызметтік бағдарлама. Оның көмегімен біз сервер файлдарын жүктеп аламыз.
  • mc - консольдық мәтіндік редактор. Бұл қарапайым және оқытылмаған пайдаланушы үшін пайдалану оңай.
  • iptables — брандмауэрді басқаруға және конфигурациялауға арналған утилита, оның көмегімен біз VM-де серверге порт ашамыз.
  • java — 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, өзгертулерді сақтау.

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Енді брандмауэрді іске қосып, оны іске қосу кезінде қосыңыз:

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, файлдардың жүктелгеніне көз жеткізіңіз.

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Сервер файлын іске қосамыз. Енді сервер жұмыс істемейді: ол жұмыс істеуге қажетті барлық файлдарды жасайды және EULA лицензиясының шарттарымен келіспеді деп шағымданады. Файлды ашу арқылы шарттарды қабылдаңыз eula.txt

sudo mcedit eula.txt

Жазбаны өзгерту арқылы келісіміңізді растаңыз:

eula=true

Файлды ашыңыз server.properties: Бұл сервер конфигурация файлы. Сервер параметрлері туралы толығырақ

Оған келесі өзгертулер енгізу қажет:

online-mode=false

Қалған параметрлер сіздің қалауыңыз бойынша.

Серверді іске қосу

Серверді іске қосу уақыты келді. Жоғарыда айтқанымдай, сервер тікелей консольден басталады, бірақ егер біз негізгі консольді жапсақ, сервер процесі тоқтатылады. Сондықтан басқа консоль жасайық:

screen

Осы консольде серверді бастайық:

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

Сервер шамамен 45 секундтан кейін басталады, процесті үзбеңіз. Сервер инициализацияланған және іске қосылған кезде сіз келесідей нәрсені көресіз:

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Құттықтаймыз! Сіз minecraft серверіңізді жаңа ғана іске қостыңыз. Енді екінші консоль іске қосылған сервермен жұмысын жалғастыру үшін оны дұрыс шығару маңызды. Мұны істеу үшін түймесін басыңыз Ctrl+A, содан кейін D. Сіз негізгі консольде болуыңыз керек және осындай хабарламаны көресіз [detached from 1551.pts-0.ip-172-31-37-146]. Сервер жұмыс істеп тұрған консольге оралу қажет болса, пайдаланыңыз screen -r

Енді виртуалды компьютерден ажыратуға болады. Сіздің серверіңізге біз бұрын 25565 портында алған статикалық IP мекенжайы арқылы қол жеткізуге болады.

Linux туралы нөлдік білімі бар AWS жүйесіндегі тегін minecraft сервері

Серверге кіру адресі болады екен <ваш_статический_IP>:25565.

қорытынды

Осы нұсқауларды пайдалана отырып, сіз арнайы IP мекенжайы бар тегін minecraft серверін оңай орнатуға болады. Мақала барынша қарапайым тілде жазылған және маман емес адамдарға арналған. Осыған байланысты, жұмыс істеп жатқандардың пікірлерін тыңдау қызықты, өйткені материалды жеңілдету кезінде терминологияда фактілік қателер болуы мүмкін.

Ақпарат көзі: www.habr.com

пікір қалдыру