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.
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.
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.
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
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.
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.
3) Qolgan sozlamalarni sukut bo'yicha qoldiring, lekin yorliqda to'xtating Xavfsizlik guruhlarini sozlang.
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.
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:
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.
Endi olingan IP-manzil bizning VM bilan bog'lanishi kerak. Buning uchun uni ro'yxatdan va menyudan tanlang harakatlari tanlang Birlashtiruvchi IP manzil
Keyinchalik, biz VMni IP manzilimizga bog'laymiz
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.
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:
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:
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.
Endi xavfsizlik devorini ishga tushiramiz va uni ishga tushirishda yoqamiz:
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:
Buyruq yordamida jildning mazmunini ko'ring ls, fayllar yuklab olinganligiga ishonch hosil qiling.
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:
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:
Server taxminan 45 soniyadan so'ng boshlanadi, jarayonni to'xtatmang. Server ishga tushirilganda va ishga tushirilganda siz quyidagilarni ko'rasiz:
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.
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.