Server falas minecraft në AWS me njohuri zero të Linux

Përshëndetje, Habr! Më saktësisht, mashtruesit që kërkojnë se si të konfigurojnë një server Minecraft për të luajtur me miqtë.

Artikulli është menduar për jo-programues, jo-sysadmin, në përgjithësi, jo për audiencën kryesore të Habr. Artikulli përmban udhëzime hap pas hapi për krijimin e një serveri minecraft me një IP të dedikuar, të përshtatur për njerëzit larg IT. Nëse kjo nuk ka të bëjë me ju, është më mirë të kaloni artikullin.

Çfarë është një server?

Pra, çfarë është një server? Nëse mbështetemi në konceptin e "serverit" si një komponent softuerësh, atëherë serveri është një program që mund të marrë, përpunojë dhe transmetojë të dhënat e marra nga përdoruesit (klientët) që janë të lidhur me këtë server. Duke përdorur faqen si shembull, faqja ndodhet në një server ueb, të cilit i aksesoni përmes një shfletuesi. Në rastin tonë, serveri Minecraft gjeneron një botë në të cilën lojtarët (klientët) lidhen, të cilët mund të ecin, të thyejnë blloqe, etj. Serveri i minecraft është përgjegjës për lidhjen e lojtarëve dhe çdo veprim të tyre.

Natyrisht, serveri duhet të funksionojë në kompjuter (makinë). Mund të konfiguroni një server në kompjuterin tuaj të shtëpisë, por në këtë rast:

  • Ju rrezikoni sigurinë e kompjuterit tuaj duke hapur portat në të
  • Serveri do të vendosë një ngarkesë në kompjuterin tuaj, e cila mund të ndërhyjë në punën tuaj me të
  • Ju nuk mund ta mbani kompjuterin tuaj të shtëpisë të funksionojë 24/7: ndonjëherë e fikni, ndonjëherë kompjuteri juaj humbet lidhjen me internetin, etj.
  • Për të hyrë në serverin tuaj nga bota e jashtme, do t'ju duhet të hyni në kompjuterin tuaj nëpërmjet adresa IP, që për ofruesit e internetit “shtëpiake” është dinamik, domethënë mund të ndryshojë çdo 2-3 ditë për arsye jashtë kontrollit tuaj.

Dhe si t'i zgjidhim këto probleme?

Zgjidhja për të gjitha këto probleme është përdorimi Makine virtuale me statike, domethënë një adresë IP e pandryshueshme.

Terminologji komplekse? Le ta kuptojmë.
Le të kthehemi te Wikipedia.

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

Për ta thënë në terma shumë të papërpunuar, është një kompjuter brenda një kompjuteri. Ju gjithashtu mund të instaloni një sistem operativ në të dhe të punoni me të si me një kompjuter të zakonshëm.

Ku mund ta marrim?

Përgjigja është e thjeshtë - AWS. Kjo është një platformë që ofron shumë shërbime të ndryshme cloud që janë të dobishme për të gjithë ata që punojnë me ueb dhe jo vetëm. Për të krijuar një server minecraft, një nga produktet AWS është i përsosur - Amazon EC2 — një makinë virtuale cloud që është e disponueshme 24/7. AWS ofron një makinë virtuale minimale (10 GB SSD, 1 GB RAM) falas për një vit, përveç kësaj, bën të mundur lidhjen e një adrese IP të dedikuar (statike) falas për akses të përhershëm në VM (makinë virtuale) në të njëjtën adresë.

Ne krijojmë dhe konfigurojmë një VM

Shko në sit AWS dhe regjistroheni. Pastaj shkoni te tastiera e menaxhimit.

Server falas minecraft në AWS me njohuri zero të Linux

Në tastierë, midis shërbimeve, gjeni EC2 dhe shkoni tek ajo.

Është e rëndësishme të zgjidhni një qendër të dhënash, e thënë thjesht, vendi ku ndodhen serverët e Amazon. Ju duhet të zgjidhni në varësi të vendndodhjes tuaj, sepse shpejtësia e komunikimit në internet ndryshon, dhe duhet të zgjidhni një qendër të dhënash me të cilën komunikimi nga qyteti juaj do të jetë sa më i shpejtë.

Server falas minecraft në AWS me njohuri zero të Linux

Për të zgjedhur një qendër të dhënash, unë rekomandoj përdorimin e shërbimit WonderNetwork, i cili mat shpejtësinë e transmetimit të paketave me qytete të tjera.
Në rastin tim (Moskë), qendra e të dhënave irlandeze më përshtatej.

Është koha për të krijuar një makinë virtuale. Për ta bërë këtë, shkoni te skeda Shembulli i nisjes

Server falas minecraft në AWS me njohuri zero të Linux

Le të fillojmë konfigurimin e VM.

1) Zgjidhni imazhin e sistemit operativ. Linux është shumë i përshtatshëm për ngritjen e serverëve; ne do të përdorim kompletin e shpërndarjes CentOS7

Duhet të theksohet se nuk do të ketë mjedis grafik në makinën tuaj virtuale; qasja në makinë do të bëhet përmes tastierës. Ai përfshin kontrollin e VM duke përdorur komanda në vend të një miu kompjuterik. Mos kini frikë nga kjo: kjo nuk duhet t'ju ndalojë tani ose të hiqni dorë nga ideja për të ngritur serverin tuaj Minecraft sepse është "shumë e vështirë". Puna me makinën përmes tastierës nuk është e vështirë - së shpejti do ta shihni vetë.

Server falas minecraft në AWS me njohuri zero të Linux

2) Tani le të përcaktojmë konfigurimin teknik të VM. Për përdorim falas, Amazon ofron konfigurimin t2. mikro, nuk mjafton për një server të madh të Minecraft me të drejta të plota, por mjafton për të luajtur me miqtë.

Server falas minecraft në AWS me njohuri zero të Linux

3) Lëreni pjesën tjetër të cilësimeve si parazgjedhje, por ndaloni te skeda Konfiguro grupet e sigurisë.

Server falas minecraft në AWS me njohuri zero të Linux

Këtu duhet të konfigurojmë hyrjen në porte për serverin Minecraft.

Me fjalë të thjeshta, një port është një numër jo negativ që tregon se kujt i drejtohen të dhënat hyrëse nga bota e jashtme. Një VM mund të presë shumë shërbime dhe serverë të ndryshëm, kështu që të gjitha paketat e të dhënave në hyrje ruajnë portin (numrin) e destinacionit (shërbimin, serverin) brenda VM-së në kokën e tyre.

Për serverët e minecraft, standardi de fakto është përdorimi i portit 25565. Le të shtojmë një rregull që tregon se qasja në VM-në tuaj përmes këtij porti është e pranueshme.

Server falas minecraft në AWS me njohuri zero të Linux

Server falas minecraft në AWS me njohuri zero të Linux

Shkojmë në dritaren për të përfunduar krijimin e VM duke klikuar butonin Rishikimi dhe nisja

Vendosja e një çifti çelësash SSH për një VM

Pra, lidhja me makinën do të kryhet duke përdorur protokollin SSH.

Protokolli SSH funksionon si më poshtë: gjenerohet një palë çelësash (publik dhe privat), çelësi publik ruhet në VM dhe çelësi privat ruhet në kompjuterin e personit që lidhet me VM-në (klienti). Kur lidhet, VM kontrollon nëse klienti ka një çelës privat të përshtatshëm.

Klikoni butonin Launch. Dritarja e mëposhtme do të shfaqet para jush:

Server falas minecraft në AWS me njohuri zero të Linux

Futni emrin e çiftit të çelësave (për lehtësinë tuaj) dhe klikoni Shkarko çiftin e çelësave. Ju duhet të shkarkoni .pem një skedar që përmban çelësin tuaj privat. Klikoni butonin Nis shembuj. Sapo keni krijuar një makinë virtuale në të cilën do të instalohet serveri.

Marrja e një IP statike

Tani duhet të marrim dhe të lidhim një IP statike me VM-në tonë. Për këtë menu gjejmë skedën IP -të elastike dhe ne ecim përgjatë saj. Në skedën, klikoni butonin Alokoni adresën elastike IP dhe merrni një IP statike.

Server falas minecraft në AWS me njohuri zero të Linux

Tani adresa IP e marrë duhet të lidhet me VM-në tonë. Për ta bërë këtë, zgjidhni atë nga lista dhe në meny Veprimet zgjidhni Adresa IP e asociuar

Server falas minecraft në AWS me njohuri zero të Linux

Më pas, ne do ta lidhim VM-në me adresën tonë IP

Server falas minecraft në AWS me njohuri zero të Linux

Done!

Shkojmë në VM

Tani që VM është konfiguruar dhe adresa IP është caktuar, le të lidhemi me të dhe të instalojmë serverin tonë minecraft.

Për t'u lidhur me VM nëpërmjet SSH ne do të përdorim programin PETTY. Instaloni PuTTYgen menjëherë nga kjo faqe

Pas instalimit të PuTTY, hapeni atë. Tani ju duhet të konfiguroni lidhjen.

Server falas minecraft në AWS me njohuri zero të Linux

  1. Në skedën seancë zgjidhni llojin e lidhjes SSH, port 22. Specifikoni një emër për lidhjen. Emri i hostit për t'u lidhur nëpërmjet SSH është një varg si: имя_пользователя@публичный_dns.

Emri i parazgjedhur i përdoruesit në AWS për CentOS është cent. DNS-ja juaj publike mund të shihet këtu:

Server falas minecraft në AWS me njohuri zero të Linux

Kam marrë linjën [email protected]

  1. Në skedën SSH -> Auth futni çelësin tuaj privat SSH. Ai ruhet në një skedar .pem, të cilin e kemi shkarkuar më herët. Por PuTTY nuk mund të funksionojë me skedarë .pem, ai ka nevojë për një format .ppk. Për konvertim ne do të përdorim PuTTYgen. Udhëzimet e konvertimit nga faqja e internetit PuTTYgen. Dosja e marrë .ppk Le të ruajmë dhe të tregojmë këtu:

Server falas minecraft në AWS me njohuri zero të Linux

  1. Ne lidhemi me VM duke hapur lidhjen me butonin hapur.
    urime! Sapo jemi lidhur me konsolën e VM-së tuaj. Gjithçka që mbetet është të instalojmë serverin tonë në të.

Instalimi dhe konfigurimi i një serveri Minecraft

Le të fillojmë të konfigurojmë serverin tonë. Së pari, ne duhet të instalojmë disa paketa në VM-në tonë.

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

Le të kuptojmë se për çfarë shërben secila nga paketat.

  • wget - një mjet për shkarkimin e skedarëve në Linux. Duke e përdorur atë, ne do të shkarkojmë skedarët e serverit.
  • mc - Redaktori i tekstit të konsolës. Është e thjeshtë dhe e lehtë për t'u përdorur për një përdorues të patrajnuar.
  • iptables — një mjet për menaxhimin dhe konfigurimin e një muri zjarri, me ndihmën e tij ne do të hapim një port për serverin në VM-në tonë.
  • Java — Minecraft funksionon në java, kështu që është e nevojshme që serveri të funksionojë
  • ekran - menaxher i dritareve për Linux. Do të na lejojë të dublikojmë tastierën tonë për të ngritur serverin. Fakti është se serveri duhet të lansohet përmes tastierës; nëse shkëputeni nga VM-ja juaj, procesi i serverit do të ndalet. Prandaj, ne do ta ekzekutojmë atë në një dritare të veçantë të tastierës.

Tani le të konfigurojmë murin e zjarrit.

Një mur zjarri është një softuer ose element harduer-software i një rrjeti kompjuterik që kontrollon dhe filtron trafikun e rrjetit që kalon përmes tij në përputhje me rregullat e specifikuara. (Wikipedia)

Për të shpjeguar me fjalë të thjeshta: imagjinoni një qytet të fortifikuar. Ai sulmohet vazhdimisht nga jashtë, ndërsa në qytet vazhdon jeta normale. Për të hyrë në qytet, ka një portë në murin e kalasë, në të cilën qëndrojnë rojet dhe kontrollojnë nga listat nëse ky person mund të lejohet në kështjellë. Roli i një muri dhe porta në rrjetet kompjuterike kryhet nga një mur zjarri.

sudo mcedit /etc/sysconfig/iptables

Sapo kemi krijuar një skedar konfigurimi të murit të zjarrit. Le ta mbushim me të dhëna standarde të konfigurimit, duke përfshirë një rregull për portin 25565, i cili është porti standard për serverin 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

Mbyllni skedarin duke shtypur F10, duke ruajtur ndryshimet.

Server falas minecraft në AWS me njohuri zero të Linux

Tani le të hapim murin e zjarrit dhe ta aktivizojmë atë në fillim:

sudo systemctl enable iptables
sudo systemctl restart iptables

Ne do t'i ruajmë skedarët e serverit në një dosje të veçantë, do ta krijojmë atë, do të shkojmë tek ai dhe do të shkarkojmë skedarët e serverit. Për ta bërë këtë duhet të përdorni wget

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

Duhet gjetur lidhje direkte për shkarkim .jar skedari i serverit. Për shembull, lidhja me versionin 1.15.2 të skedarit të serverit:

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

Shikoni përmbajtjen e një dosje duke përdorur komandën ls, sigurohuni që skedarët të jenë shkarkuar.

Server falas minecraft në AWS me njohuri zero të Linux

Le të hapim skedarin e serverit. Tani serveri nuk do të funksionojë: do të krijojë të gjithë skedarët e nevojshëm për punë dhe do të ankohet se nuk jeni dakord me kushtet e licencës EULA. Pranoni kushtet duke hapur skedarin eula.txt

sudo mcedit eula.txt

Konfirmoni marrëveshjen tuaj duke ndryshuar hyrjen në:

eula=true

Hapni skedarin server.properties: Ky është skedari i konfigurimit të serverit tuaj. Më shumë rreth cilësimeve të serverit

Duhet të bëhet ndryshimi i mëposhtëm në të:

online-mode=false

Cilësimet e mbetura janë në diskrecionin tuaj.

Fillimi i serverit

Është koha për të nisur serverin. Siç thashë tashmë, serveri fillon direkt nga tastiera, por nëse mbyllim tastierën kryesore, procesi i serverit do të ndalet. Prandaj, le të krijojmë një tastierë tjetër:

screen

Le të fillojmë serverin në këtë tastierë:

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

Serveri fillon për rreth 45 sekonda, mos e ndërprisni procesin. Kur serveri inicializohet dhe funksionon, do të shihni diçka si:

Server falas minecraft në AWS me njohuri zero të Linux

urime! Sapo keni hapur dhe funksionuar serverin tuaj Minecraft. Tani është e rëndësishme të dilni saktë nga tastiera e dytë në mënyrë që ajo të vazhdojë të punojë me serverin që funksionon. Për ta bërë këtë, klikoni Ctrl+A, atëherë D. Ju duhet të jeni në tastierën kryesore dhe të shihni një mesazh si [detached from 1551.pts-0.ip-172-31-37-146]. Nëse duhet të ktheheni në tastierën ku serveri po funksionon, përdorni screen -r

Tani mund të shkëputeni nga VM-ja juaj. Serveri juaj do të jetë i aksesueshëm nëpërmjet adresës IP statike që kemi marrë më parë, në portin 25565.

Server falas minecraft në AWS me njohuri zero të Linux

Rezulton se adresa për të hyrë në server do të jetë <ваш_статический_IP>:25565.

Përfundim

Duke përdorur këto udhëzime, lehtë mund të konfiguroni një server falas të minecraft me një IP të dedikuar. Artikulli është shkruar në gjuhën më të thjeshtë të mundshme dhe është menduar për jo specialistë. Në këtë drejtim, është interesant të dëgjohen komentet e të zënëve, sepse gjatë thjeshtimit të materialit mund të bëhen gabime faktike në terminologji.

Burimi: www.habr.com

Shto një koment