Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Salom, Xabr! Aniqrog'i, do'stlar bilan o'ynash uchun minecraft serverini qanday sozlashni qidirayotgan firibgarlar.

Maqola dasturchi bo'lmaganlar, tizim boshqaruvchisi bo'lmaganlar uchun mo'ljallangan, umuman olganda, Habrning asosiy auditoriyasi uchun emas. Maqolada ITdan uzoq bo'lgan odamlar uchun moslashtirilgan maxsus IP-ga ega minecraft serverini yaratish bo'yicha bosqichma-bosqich ko'rsatmalar mavjud. Agar bu siz haqingizda bo'lmasa, maqolani o'tkazib yuborganingiz ma'qul.

Server nima?

Xo'sh, server nima? Agar biz dasturiy ta'minot komponenti sifatida "server" tushunchasiga tayanadigan bo'lsak, u holda server bu serverga ulangan foydalanuvchilardan (mijozlardan) olingan ma'lumotlarni qabul qilish, qayta ishlash va uzatish mumkin bo'lgan dasturdir. Saytdan misol sifatida foydalansak, sayt brauzer orqali kirishingiz mumkin bo'lgan ba'zi veb-serverda joylashgan. Bizning holatda, minecraft serveri o'yinchilar (mijozlar) bog'lanadigan, yura oladigan, bloklarni sindira oladigan va hokazo dunyoni yaratadi. Minecraft serveri o'yinchilarni va ularning har qanday harakatlarini ulash uchun javobgardir.

Shubhasiz, server kompyuterda (mashinada) ishlayotgan bo'lishi kerak. Siz uy kompyuteringizda server o'rnatishingiz mumkin, ammo bu holda:

  • Siz o'z kompyuteringizdagi portlarni ochish orqali uning xavfsizligini xavf ostiga qo'yasiz
  • Server kompyuteringizga yuklaydi, bu esa u bilan ishlashingizga xalaqit berishi mumkin
  • Siz uy kompyuteringizni 24/7 ishlay olmaysiz: ba'zida siz uni o'chirib qo'yasiz, ba'zida kompyuteringiz internetga ulanishni yo'qotadi va hokazo.
  • Serveringizga tashqi dunyodan kirish uchun kompyuteringizga orqali kirishingiz kerak bo'ladi IP manzili, bu "uy" Internet provayderlari uchun dinamik, ya'ni sizning nazoratingizdan tashqari sabablarga ko'ra har 2-3 kunda o'zgarishi mumkin.

Va bu muammolarni qanday hal qilamiz?

Ushbu muammolarning barchasini hal qilish - bu foydalanish virtual mashina bilan statik, ya'ni o'zgarmas IP-manzil.

Murakkab terminologiya? Keling, buni aniqlaylik.
Keling, Vikipediyaga murojaat qilaylik.

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина (VM, ΠΎΡ‚ Π°Π½Π³Π». virtual machine) β€” программная ΠΈ/ΠΈΠ»ΠΈ аппаратная систСма, ΡΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹...

Buni juda qo'pol so'z bilan aytganda, bu kompyuter ichidagi kompyuter. Bundan tashqari, siz unga operatsion tizimni o'rnatishingiz va u bilan oddiy kompyuterda bo'lgani kabi ishlashingiz mumkin.

Uni qayerdan olsak bo'ladi?

Javob oddiy - AWS. Bu nafaqat Internetda ishlaydigan har bir kishi uchun foydali bo'lgan juda ko'p turli xil bulut xizmatlarini taqdim etadigan platformadir. Minecraft serverini yaratish uchun AWS mahsulotlaridan biri mukammaldir - Amazon EC2 β€” 24/7 mavjud bulutli virtual mashina. AWS minimal virtual mashinani taklif qiladi (10GB SSD, 1GB RAM) bir yil davomida bepul, bundan tashqari, xuddi shu manzilda VM (virtual mashina) ga doimiy kirish uchun bepul ajratilgan (statik) IP-manzilni ulash imkonini beradi.

Biz VM ni yaratamiz va sozlaymiz

Saytga o'ting AWS va ro'yxatdan o'ting. Keyin boshqaruv konsoliga o'ting.

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Konsolda xizmatlar orasida toping EC2 va unga boring.

Ma'lumotlar markazini tanlash muhimdir, oddiy qilib aytganda, Amazon serverlari joylashgan joy. Siz joylashuvingizga qarab tanlashingiz kerak, chunki Internetdagi aloqa tezligi o'zgarib turadi va siz o'z shahringizdan aloqa imkon qadar tez bo'ladigan ma'lumotlar markazini tanlashingiz kerak.

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Ma'lumot markazini tanlash uchun men xizmatdan foydalanishni tavsiya qilaman WonderNetwork, bu paketlarni boshqa shaharlar bilan uzatish tezligini o'lchaydi.
Mening ishimda (Moskva), Irlandiya ma'lumotlar markazi menga mos keldi.

Virtual mashina yaratish vaqti keldi. Buning uchun yorliqga o'ting Misolni ishga tushirish

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

VMni sozlashni boshlaylik.

1) Operatsion tizim tasvirini tanlang. Linux serverlarni ko'tarish uchun juda qulay, biz tarqatish to'plamidan foydalanamiz CentOS7

Shuni ta'kidlash kerakki, virtual mashinangizda grafik muhit bo'lmaydi, mashinaga kirish konsol orqali amalga oshiriladi. Bu kompyuter sichqonchasi emas, balki buyruqlar yordamida VMni boshqarishni o'z ichiga oladi. Bundan qo'rqmang: bu sizni hozir to'xtatmasligi yoki o'z minecraft serveringizni yaratish g'oyasidan voz kechmasligi kerak, chunki bu "juda qiyin". Konsol orqali mashina bilan ishlash qiyin emas - tez orada o'zingiz ko'rasiz.

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

2) Endi VM ning texnik konfiguratsiyasini aniqlaymiz. Bepul foydalanish uchun Amazon konfiguratsiyani taklif qiladi t2.mikro, to'liq huquqli katta minecraft serveri uchun etarli emas, lekin do'stlar bilan o'ynash uchun etarli.

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

3) Qolgan sozlamalarni sukut bo'yicha qoldiring, lekin yorliqda to'xtating Xavfsizlik guruhlarini sozlang.

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Bu erda biz minecraft serveri uchun portlarga kirishni sozlashimiz kerak.

Oddiy so'z bilan aytganda, port - bu tashqi dunyodan kiruvchi ma'lumotlarning kimga murojaat qilishini ko'rsatadigan manfiy bo'lmagan raqam. VM ko'plab turli xizmatlar va serverlarni joylashtirishi mumkin, shuning uchun barcha kiruvchi ma'lumotlar paketlari o'zlarining sarlavhasida VM ichidagi maqsad (xizmat, server) portini (raqamini) saqlaydi.

Minecraft serverlari uchun de facto standart portdan foydalanishdir 25565. Keling, ushbu port orqali VM ga kirish maqbulligini ko'rsatadigan qoidani qo'shamiz.

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Biz tugmani bosish orqali VMni yaratishni yakunlash oynasiga o'tamiz Ko'rib chiqish va ishga tushirish

VM uchun SSH kalit juftligini sozlash

Shunday qilib, mashinaga ulanish SSH protokoli yordamida amalga oshiriladi.

SSH protokoli quyidagicha ishlaydi: kalitlar juftligi (ommaviy va shaxsiy) hosil bo'ladi, ochiq kalit VMda saqlanadi, shaxsiy kalit esa VM (mijoz) ga ulanayotgan shaxsning kompyuterida saqlanadi. Ulanish vaqtida VM mijozda mos shaxsiy kalit mavjudligini tekshiradi.

matbuot Ishga tushirish. Sizning oldingizda quyidagi oyna paydo bo'ladi:

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Kalitlar juftligi nomini kiriting (sizga qulaylik uchun) va bosing Kalitlar juftligini yuklab oling. Yuklab olishingiz kerak .pem shaxsiy kalitingizni o'z ichiga olgan fayl. Tugmasini bosing Misollarni ishga tushirish. Siz hozirgina server o'rnatiladigan virtual mashinani yaratdingiz.

Statik IP olish

Endi biz statik IP-ni olishimiz va VM-ga ulashimiz kerak. Ushbu menyu uchun biz yorliqni topamiz Elastik IP va biz u bo'ylab harakat qilamiz. Yorliqda tugmani bosing Elastik IP manzilini ajrating va statik IP-ni oling.

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Endi olingan IP-manzil bizning VM bilan bog'lanishi kerak. Buning uchun uni ro'yxatdan va menyudan tanlang harakatlari tanlang Birlashtiruvchi IP manzil

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Keyinchalik, biz VMni IP manzilimizga bog'laymiz

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Bajar!

Biz VM ga boramiz

Endi VM sozlangan va IP-manzil tayinlangan, keling, unga ulaning va minecraft serverimizni o'rnatamiz.

SSH orqali VM ga ulanish uchun biz dasturdan foydalanamiz macun. PuTTYgen-ni darhol ushbu sahifadan o'rnating

PuTTY-ni o'rnatgandan so'ng, uni oching. Endi siz ulanishni sozlashingiz kerak.

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

  1. Yorliqda sessiya ulanish turini tanlang sSH, port 22. Ulanish uchun nom belgilang. SSH orqali ulanish uchun xost nomi quyidagi qatordir: имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ@ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ_dns.

CentOS uchun AWS da standart foydalanuvchi nomi sentos. Umumiy DNS-ni bu yerda ko'rish mumkin:

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Men chiziqni oldim [email protected]

  1. Yorliqda SSH -> Auth shaxsiy SSH kalitingizni kiriting. U faylda saqlanadi .pem, biz avvalroq yuklab olganmiz. Lekin PuTTY fayllar bilan ishlay olmaydi .pem, unga format kerak .ppk. Konvertatsiya qilish uchun biz PuTTYgen dan foydalanamiz. PuTTYgen veb-saytidan konvertatsiya qilish bo'yicha ko'rsatmalar. Qabul qilingan fayl .ppk Saqlaymiz va bu erda ko'rsatamiz:

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

  1. Tugma yordamida ulanishni ochish orqali VM ga ulanamiz ochiq.
    Tabriklaymiz! Biz hozirgina VM konsoliga ulandik. Faqat serverimizni unga o'rnatish qoladi.

Minecraft serverini o'rnatish va sozlash

Keling, serverimizni sozlashni boshlaylik. Birinchidan, biz VM-ga bir nechta paketlarni o'rnatishimiz kerak.

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

Keling, har bir paket nima uchun ekanligini aniqlaylik.

  • wget - Linuxda fayllarni yuklab olish uchun yordamchi dastur. Uning yordamida biz server fayllarini yuklab olamiz.
  • mc - konsol matn muharriri. Bu oddiy va o'qimagan foydalanuvchi uchun foydalanish uchun qulay.
  • iptables β€” xavfsizlik devorini boshqarish va sozlash uchun yordamchi dastur, uning yordami bilan biz VM-da server uchun port ochamiz.
  • java β€” minecraft java-da ishlaydi, shuning uchun server ishlashi uchun zarur
  • ekran - Linux uchun oyna menejeri. Bu bizga serverni ko'tarish uchun konsolimizni takrorlash imkonini beradi. Haqiqat shundaki, server konsol orqali ishga tushirilishi kerak; agar siz VM dan uzsangiz, server jarayoni to'xtatiladi. Shuning uchun biz uni alohida konsol oynasida ishga tushiramiz.

Endi xavfsizlik devorini sozlaymiz.

Xavfsizlik devori - kompyuter tarmog'ining dasturiy yoki apparat-dasturiy ta'minoti elementi bo'lib, u orqali o'tadigan tarmoq trafigini belgilangan qoidalarga muvofiq boshqaradi va filtrlaydi. (Vikipediya)

Oddiy so'zlar bilan tushuntirish uchun: mustahkam shaharni tasavvur qiling. Unga doimiy ravishda tashqaridan hujum qilinadi, shaharda oddiy hayot davom etadi. Shaharga kirish uchun qal'a devorida darvoza mavjud bo'lib, uning yonida qo'riqchilar turishadi va bu odamni qal'aga kiritish mumkinmi yoki yo'qligini tekshiradilar. Kompyuter tarmoqlarida devor va darvoza rolini xavfsizlik devori bajaradi.

sudo mcedit /etc/sysconfig/iptables

Biz hozirgina xavfsizlik devori konfiguratsiya faylini yaratdik. Keling, uni standart konfiguratsiya ma'lumotlari, shu jumladan port uchun qoida bilan to'ldiramiz 25565, bu minecraft serveri uchun standart port.

*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

Bosish orqali faylni yoping F10, o'zgarishlarni saqlash.

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Endi xavfsizlik devorini ishga tushiramiz va uni ishga tushirishda yoqamiz:

sudo systemctl enable iptables
sudo systemctl restart iptables

Biz server fayllarini alohida papkada saqlaymiz, uni yaratamiz, unga o'tamiz va server fayllarini yuklab olamiz. Buning uchun siz foydalanishingiz kerak wget

mkdir minecraft
cd minecraft
wget <ссылка_Π½Π°_jar>

Topish kerak to'g'ridan -to'g'ri havola yuklab olish uchun .jar server fayli. Masalan, server faylining 1.15.2 versiyasiga havola:

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

Buyruq yordamida jildning mazmunini ko'ring ls, fayllar yuklab olinganligiga ishonch hosil qiling.

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Server faylini ishga tushiramiz. Endi server ishlamaydi: u ish uchun zarur bo'lgan barcha fayllarni yaratadi va siz EULA litsenziyasi shartlariga rozi bo'lmaganingizdan shikoyat qiladi. Faylni ochish orqali shartlarni qabul qiling eula.txt

sudo mcedit eula.txt

Shartnomangizni quyidagiga o'zgartirish orqali tasdiqlang:

eula=true

Faylni oching server.properties: Bu sizning server konfiguratsiya faylingiz. Server sozlamalari haqida batafsil

Unga quyidagi o'zgartirish kiritilishi kerak:

online-mode=false

Qolgan sozlamalar sizning ixtiyoringizda.

Server ishga tushirilmoqda

Serverni ishga tushirish vaqti keldi. Yuqorida aytganimdek, server to'g'ridan-to'g'ri konsoldan boshlanadi, lekin agar biz asosiy konsolni yopsak, server jarayoni to'xtatiladi. Shunday qilib, keling, boshqa konsol yarataylik:

screen

Keling, ushbu konsolda serverni ishga tushiramiz:

 sudo java -Xms512M -Xmx1024M -jar <Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Ρ„Π°ΠΉΠ»Π°_сСрвСра>.jar --nogui

Server taxminan 45 soniyadan so'ng boshlanadi, jarayonni to'xtatmang. Server ishga tushirilganda va ishga tushirilganda siz quyidagilarni ko'rasiz:

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Tabriklaymiz! Siz hozirgina Minecraft serveringizni ishga tushirdingiz. Endi ikkinchi konsoldan to'g'ri chiqish muhim, shunda u ishlaydigan server bilan ishlashda davom etadi. Buning uchun bosing Ctrl+A, keyin D. Siz asosiy konsolda bo'lishingiz va shunga o'xshash xabarni ko'rishingiz kerak [detached from 1551.pts-0.ip-172-31-37-146]. Agar siz server ishlayotgan konsolga qaytishingiz kerak bo'lsa, foydalaning screen -r

Endi siz VM dan uzishingiz mumkin. Sizning serveringizga biz avvalroq 25565 portda olingan statik IP manzil orqali kirish mumkin bo'ladi.

Linux haqida nol bilimga ega AWS-da bepul Minecraft serveri

Ma'lum bo'lishicha, serverga kirish manzili bo'ladi <ваш_статичСский_IP>:25565.

xulosa

Ushbu ko'rsatmalardan foydalanib, siz maxsus IP-ga ega bepul Minecraft serverini osongina o'rnatishingiz mumkin. Maqola eng sodda tilda yozilgan va mutaxassis bo'lmaganlar uchun mo'ljallangan. Shu munosabat bilan band bo'lganlarning sharhlarini eshitish qiziq, chunki materialni soddalashtirishda terminologiyada faktik xatolarga yo'l qo'yilishi mumkin.

Manba: www.habr.com

a Izoh qo'shish