ProHoster > Blog > uprava > Besplatni minecraft poslužitelj na AWS-u s nula znanja o Linuxu
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.
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.
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
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.
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.
3) Ostavite ostale postavke kao zadane, ali zaustavite se na kartici Konfigurirajte sigurnosne grupe.
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.
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:
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.
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
Zatim ćemo vezati VM na našu IP adresu
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.
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:
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:
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.
Sada pokrenimo vatrozid i omogućimo ga pri pokretanju:
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:
Pogledajte sadržaj mape pomoću naredbe ls, provjerite jesu li datoteke preuzete.
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
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:
Poslužitelj se pokreće za oko 45 sekundi, nemojte prekidati proces. Kada se poslužitelj inicijalizira i pokrene, vidjet ćete nešto poput:
Č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.
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.