Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Pozdrav, Habr! Točnije, prevaranti koji traže kako postaviti minecraft server za igranje s prijateljima.

Članak je općenito namijenjen ne-programerima, ne-sysadminima, a ne glavnoj publici Habra. Članak sadrži upute korak po korak za stvaranje minecraft poslužitelja s namjenskim IP-om, prilagođenim ljudima koji su daleko od IT-a. Ako se ne radi o vama, bolje je preskočiti članak.

Što je poslužitelj?

Dakle, što je poslužitelj? Ako se oslonimo na koncept “poslužitelja” kao programske komponente, tada je poslužitelj program koji može primati, obrađivati ​​i prenositi podatke primljene od korisnika (klijenata) koji su povezani na ovaj poslužitelj. Koristeći stranicu kao primjer, stranica se nalazi na nekom web poslužitelju kojemu pristupate putem preglednika. U našem slučaju minecraft server generira svijet na koji se povezuju igrači (klijenti), koji mogu hodati, razbijati blokove itd. Minecraft poslužitelj odgovoran je za povezivanje igrača i sve njihove radnje.

Očito, poslužitelj mora biti pokrenut na računalu (stroju). Poslužitelj možete postaviti na svom kućnom računalu, ali u ovom slučaju:

  • Ugrožavate sigurnost vlastitog računala otvaranjem portova na njemu
  • Poslužitelj će opteretiti vaše računalo, što može ometati vaš rad s njim
  • Ne možete držati svoje kućno računalo u radu 24/7: ponekad ga isključite, ponekad vaše računalo izgubi internetsku vezu, itd.
  • Za pristup vašem poslužitelju iz vanjskog svijeta, morat ćete pristupiti svom računalu putem IP adresa, što za “kućne” Internet providere jest dinamičan, odnosno može se mijenjati svaka 2-3 dana iz razloga koji su izvan vaše kontrole.

I kako da riješimo te probleme?

Rješenje za sve ove probleme je korištenje virtualni stroj s statički, odnosno nepromjenjivu IP adresu.

Složena terminologija? Hajdemo shvatiti.
Okrenimo se Wikipediji.

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

Vrlo grubo rečeno, to je računalo unutar računala. Na njega također možete instalirati operativni sustav i raditi s njim kao s običnim računalom.

Gdje ga možemo nabaviti?

Odgovor je jednostavan - AWS. Ovo je platforma koja pruža mnogo različitih usluga u oblaku koje su korisne svima koji rade s webom i ne samo. Za izradu minecraft servera savršen je jedan od AWS proizvoda - Amazon EC2 — virtualni stroj u oblaku koji je dostupan 24/7. AWS nudi minimalni virtualni stroj (10GB SSD, 1GB RAM) besplatno godinu dana, osim toga, omogućuje vezanje besplatne namjenske (statičke) IP adrese za stalni pristup vašem VM-u (virtualnom stroju) na istoj adresi.

Stvaramo i konfiguriramo VM

Idite na web mjesto AWS i registrirajte se. Zatim idite na upravljačku konzolu.

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

U konzoli među uslugama pronađi EC2 i idi na to.

Važno je odabrati podatkovni centar, jednostavno rečeno, mjesto gdje se nalaze Amazonovi poslužitelji. Birajte ovisno o mjestu gdje se nalazite, jer brzina komunikacije na internetu varira, a birajte podatkovni centar s kojim će komunikacija iz vašeg grada biti što brža.

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Za odabir podatkovnog centra preporučujem korištenje usluge WonderNetwork, koji mjeri brzinu prijenosa paketa s drugim gradovima.
U mom slučaju (Moskva) odgovarao mi je irski podatkovni centar.

Vrijeme je za stvaranje virtualnog stroja. Da biste to učinili, idite na karticu Pokretanje instance

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Počnimo konfigurirati VM.

1) Odaberite sliku operativnog sustava. Linux je vrlo zgodan za podizanje poslužitelja, koristit ćemo distribucijski komplet CentOS7

Treba napomenuti da na vašem virtualnom računalu neće biti grafičkog okruženja; pristup stroju bit će putem konzole. Uključuje upravljanje VM-om pomoću naredbi, a ne pomoću računalnog miša. Nemojte se bojati ovoga: ovo vas sada ne bi trebalo zaustaviti ili odustati od ideje o podizanju vlastitog minecraft poslužitelja jer je to "preteško". Rad sa strojem preko konzole nije težak - uskoro ćete se i sami uvjeriti.

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

2) Sada definirajmo tehničku konfiguraciju VM-a. Za besplatno korištenje, Amazon nudi konfiguraciju t2.mikro, nedovoljno za punopravni veliki minecraft server, ali dovoljno za igranje s prijateljima.

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

3) Ostavite ostale postavke kao zadane, ali zaustavite se na kartici Konfigurirajte sigurnosne grupe.

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Ovdje moramo konfigurirati pristup portovima za minecraft server.

Jednostavnim rječnikom rečeno, priključak je nenegativan broj koji označava kome su upućeni dolazni podaci iz vanjskog svijeta. VM može ugostiti mnogo različitih usluga i poslužitelja, tako da svi dolazni paketi podataka pohranjuju port (broj) odredišta (usluga, poslužitelj) unutar VM-a u svom zaglavlju.

Za minecraft poslužitelje, de facto standard je korištenje porta 25565. Dodajmo pravilo koje pokazuje da je pristup vašem VM-u putem ovog priključka prihvatljiv.

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Idemo do prozora za dovršetak izrade VM-a klikom na gumb Pregledajte i pokrenite

Postavljanje para ključeva SSH za VM

Dakle, veza sa strojem bit će izvedena pomoću SSH protokola.

SSH protokol radi na sljedeći način: generira se par ključeva (javni i privatni), javni ključ se pohranjuje na VM, a privatni ključ se pohranjuje na računalu osobe koja se spaja na VM (klijent). Prilikom povezivanja, VM provjerava ima li klijent odgovarajući privatni ključ.

Pritisnite gumb Lansirati. Pred vama će se pojaviti sljedeći prozor:

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Unesite naziv para ključeva (radi vaše udobnosti) i kliknite Preuzmite par ključeva. Trebali biste preuzeti .pem datoteku koja sadrži vaš privatni ključ. Pritisnite gumb Pokreni instance. Upravo ste kreirali virtualni stroj na koji će biti instaliran poslužitelj.

Dobivanje statičke IP adrese

Sada moramo dobiti i vezati statički IP za naš VM. Za ovaj izbornik nalazimo karticu Elastični IP-ovi i krećemo se po njemu. Na kartici kliknite gumb Dodijelite elastičnu IP adresu i dobiti statički IP.

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Sada primljena IP adresa mora biti povezana s našim VM-om. Da biste to učinili, odaberite ga s popisa iu izborniku Akcije izabrati Pridružena IP adresa

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Zatim ćemo vezati VM na našu IP adresu

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Gotovo!

Idemo u VM

Sada kada je VM konfiguriran i IP adresa je dodijeljena, spojimo se na njega i instalirajmo naš minecraft poslužitelj.

Za spajanje na VM putem SSH koristit ćemo program kit. Instalirajte PuTTYgen odmah s ove stranice

Nakon što instalirate PuTTY, otvorite ga. Sada morate konfigurirati vezu.

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

  1. U kartici Sjednica odaberite vrstu veze SSH, port 22. Odredite naziv veze. Naziv glavnog računala za povezivanje putem SSH-a je niz poput: имя_пользователя@публичный_dns.

Zadano korisničko ime u AWS-u za CentOS je CentOS. Vaš javni DNS možete vidjeti ovdje:

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Imam liniju [email protected]

  1. U kartici SSH -> Auth unesite svoj privatni SSH ključ. Pohranjuje se u datoteku .pem, koji smo ranije preuzeli. Ali PuTTY ne može raditi s datotekama .pem, treba mu format .ppk. Za konverziju ćemo koristiti PuTTYgen. Upute za pretvorbu s web stranice PuTTYgen. Primljena datoteka .ppk Spremimo i naznačimo ovdje:

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

  1. Na VM se povezujemo tako da gumbom otvorimo vezu Otvoren.
    Čestitamo! Upravo smo se povezali s konzolom vašeg VM-a. Ostaje samo da na njega instaliramo naš server.

Instalacija i konfiguracija minecraft servera

Počnimo postavljati naš poslužitelj. Prvo moramo instalirati nekoliko paketa na našu VM.

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

Odgonetnimo čemu svaki od paketa služi.

  • wget - uslužni program za preuzimanje datoteka u Linuxu. Pomoću njega ćemo preuzeti datoteke poslužitelja.
  • mc - konzolni uređivač teksta. Jednostavan je i lak za korištenje za neobučenog korisnika.
  • iptables — uslužni program za upravljanje i konfiguriranje vatrozida, uz njegovu pomoć otvorit ćemo port za poslužitelj na našem VM-u.
  • Java — minecraft radi na javi, pa je potrebno da server radi
  • zaslon - upravitelj prozora za Linux. Omogućit će nam dupliciranje naše konzole za podizanje poslužitelja. Činjenica je da se poslužitelj mora pokrenuti putem konzole; ako prekinete vezu s VM-om, proces poslužitelja će se zaustaviti. Stoga ćemo ga pokrenuti u zasebnom prozoru konzole.

Sada konfigurirajmo vatrozid.

Vatrozid je programski ili hardversko-softverski element računalne mreže koji kontrolira i filtrira mrežni promet koji kroz nju prolazi u skladu sa zadanim pravilima. (Wikipedia)

Da objasnim jednostavnim riječima: zamislite utvrđeni grad. Stalno je napadan izvana, dok se u gradu odvija normalan život. Za ulaz u grad postoje vrata u zidu tvrđave, na kojima stoje stražari i s popisa provjeravaju može li se ta osoba pustiti u tvrđavu. Ulogu zida i vrata u računalnim mrežama ima vatrozid.

sudo mcedit /etc/sysconfig/iptables

Upravo smo izradili konfiguracijsku datoteku vatrozida. Ispunimo ga standardnim konfiguracijskim podacima, uključujući pravilo za priključak 25565, što je standardni port za minecraft server.

*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

Zatvorite datoteku pritiskom na F10, spremanje promjena.

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Sada pokrenimo vatrozid i omogućimo ga pri pokretanju:

sudo systemctl enable iptables
sudo systemctl restart iptables

Pohranit ćemo datoteke poslužitelja u zasebnu mapu, kreirati je, otići do nje i preuzeti datoteke poslužitelja. Da biste to učinili, trebali biste koristiti wget

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

Treba pronaći izravna veza za preuzimanje .jar datoteka poslužitelja. Na primjer, povežite s datotekom poslužitelja verzije 1.15.2:

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

Pogledajte sadržaj mape pomoću naredbe ls, provjerite jesu li datoteke preuzete.

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Pokrenimo datoteku poslužitelja. Sada poslužitelj neće raditi: stvorit će sve datoteke potrebne za rad i žalit će se da niste pristali na uvjete EULA licence. Prihvatite uvjete otvaranjem datoteke eula.txt

sudo mcedit eula.txt

Potvrdite svoj pristanak promjenom unosa u:

eula=true

Otvorite datoteku server.properties: Ovo je konfiguracijska datoteka vašeg poslužitelja. Više o postavkama poslužitelja

Na njemu se moraju izvršiti sljedeće izmjene:

online-mode=false

Preostale postavke su po vašem nahođenju.

Pokretanje poslužitelja

Vrijeme je za pokretanje poslužitelja. Kao što sam već rekao, server se pokreće direktno iz konzole, ali ako zatvorimo glavnu konzolu, serverski proces će biti zaustavljen. Stoga, kreirajmo još jednu konzolu:

screen

Pokrenimo poslužitelj u ovoj konzoli:

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

Poslužitelj se pokreće za oko 45 sekundi, nemojte prekidati proces. Kada se poslužitelj inicijalizira i pokrene, vidjet ćete nešto poput:

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Čestitamo! Upravo ste pokrenuli svoj minecraft server. Sada je važno ispravno izaći iz druge konzole kako bi nastavila raditi s pokrenutim poslužiteljem. Da biste to učinili, kliknite Ctrl+A, onda D. Trebali biste biti u glavnoj konzoli i vidjeti poruku poput [detached from 1551.pts-0.ip-172-31-37-146]. Ako se trebate vratiti na konzolu na kojoj je poslužitelj pokrenut, koristite screen -r

Sada možete prekinuti vezu sa svojim VM-om. Vaš će poslužitelj biti dostupan putem statičke IP adrese koju smo ranije primili, na portu 25565.

Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu

Ispada da će adresa za unos poslužitelja biti <ваш_статический_IP>:25565.

Zaključak

Pomoću ovih uputa možete jednostavno postaviti besplatni minecraft poslužitelj s namjenskim IP-om. Članak je napisan najjednostavnijim mogućim jezikom i namijenjen je nestručnjacima. S tim u vezi, zanimljivo je čuti komentare onih koji su okupirani, jer se kod pojednostavljivanja gradiva mogu napraviti činjenične pogreške u terminologiji.

Izvor: www.habr.com

Dodajte komentar