ProHoster > Blog > Uprava > Brezplačni strežnik minecraft na AWS brez znanja o Linuxu
Brezplačni strežnik minecraft na AWS brez znanja o Linuxu
Pozdravljeni, Habr! Natančneje, prevaranti, ki iščejo, kako nastaviti minecraft strežnik za igranje s prijatelji.
Članek je na splošno namenjen neprogramerjem, ne-sistemskim skrbnikom, ne pa glavnemu občinstvu Habra. Članek vsebuje navodila po korakih za ustvarjanje strežnika minecraft z namenskim IP-jem, prilagojenim ljudem, ki so daleč od IT. Če ne gre za vas, je bolje, da članek preskočite.
Kaj je strežnik?
Kaj je torej strežnik? Če se zanašamo na koncept »strežnika« kot programske komponente, potem je strežnik program, ki lahko sprejema, obdeluje in prenaša podatke, prejete od uporabnikov (odjemalcev), ki so povezani s tem strežnikom. Na primer, spletno mesto se nahaja na nekem spletnem strežniku, do katerega dostopate prek brskalnika. V našem primeru minecraft strežnik generira svet, na katerega se povezujejo igralci (odjemalci), ki lahko hodijo, razbijajo bloke itd. Minecraft strežnik je odgovoren za povezovanje igralcev in vsa njihova dejanja.
Očitno mora strežnik delovati na računalniku (stroju). Strežnik lahko nastavite na domačem računalniku, vendar v tem primeru:
Z odpiranjem vrat na njem ogrožate varnost lastnega računalnika
Strežnik bo obremenil vaš računalnik, kar lahko ovira vaše delo z njim
Domačega računalnika ne morete vzdrževati 24/7: včasih ga izklopite, včasih izgubi internetno povezavo itd.
Če želite dostopati do svojega strežnika iz zunanjega sveta, boste morali dostopati do svojega računalnika prek IP naslov, kar za “domače” ponudnike interneta je dinamično, to pomeni, da se lahko spremeni vsake 2-3 dni iz razlogov, na katere ne morete vplivati.
In kako te težave rešujemo?
Rešitev za vse te težave je uporaba navidezni stroj s statična, to je nespremenljiv naslov IP.
Zapletena terminologija? Ugotovimo.
Obrnimo se na Wikipedijo.
Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы...
Zelo grobo povedano, to je računalnik v računalniku. Nanj lahko namestite tudi operacijski sistem in delate z njim kot z navadnim računalnikom.
Kje ga lahko dobimo?
Odgovor je preprost - AWS. To je platforma, ki ponuja veliko različnih storitev v oblaku, ki so uporabne za vse, ki delajo s spletom in ne samo. Za ustvarjanje strežnika minecraft je eden od izdelkov AWS popoln - Amazon EC2 — virtualni stroj v oblaku, ki je na voljo 24/7. AWS ponuja minimalni virtualni stroj (10 GB SSD, 1 GB RAM) brezplačno za eno leto, poleg tega pa omogoča vezavo brezplačnega namenskega (statičnega) naslova IP za trajni dostop do vašega VM (virtualnega stroja) na istem naslovu.
Ustvarimo in konfiguriramo VM
Pojdite na spletno mesto AWS in se registriraj. Nato pojdite na upravljalno konzolo.
V konzoli med storitvami poiščite EC2 in pojdi k temu.
Pomembno je izbrati podatkovni center, preprosto povedano, kraj, kjer se nahajajo strežniki Amazon. Izbirajte glede na vašo lokacijo, saj se hitrost komuniciranja na internetu razlikuje in izberite podatkovni center, s katerim bo komunikacija iz vašega mesta čim hitrejša.
Za izbiro podatkovnega centra priporočam uporabo storitve WonderNetwork, ki meri hitrost prenosa paketov z drugimi mesti.
V mojem primeru (Moskva) mi je irski podatkovni center ustrezal.
Čas je, da ustvarite virtualni stroj. Če želite to narediti, pojdite na zavihek Zažen primer
Začnimo konfigurirati VM.
1) Izberite sliko operacijskega sistema. Linux je zelo priročen za dvig strežnikov, uporabili bomo distribucijski komplet CentOS7
Upoštevati je treba, da na vašem virtualnem računalniku ne bo grafičnega okolja; dostop do stroja bo prek konzole. Vključuje krmiljenje VM z uporabo ukazov in ne z računalniško miško. Ne bojte se tega: to vas zdaj ne bi smelo ustaviti ali opustiti idejo o dvigu lastnega minecraft strežnika, ker je "pretežko." Delo s strojem prek konzole ni težko - kmalu se boste prepričali sami.
2) Zdaj pa definirajmo tehnično konfiguracijo VM. Amazon ponuja konfiguracijo za brezplačno uporabo t2.micro, premalo za polnopravni velik strežnik minecraft, a dovolj za igranje s prijatelji.
3) Ostale nastavitve pustite privzete, vendar se ustavite na zavihku Konfigurirajte varnostne skupine.
Tukaj moramo konfigurirati dostop do vrat za strežnik minecraft.
Preprosto povedano, vrata so nenegativno število, ki označuje, komu so naslovljeni dohodni podatki iz zunanjega sveta. VM lahko gosti veliko različnih storitev in strežnikov, zato vsi dohodni podatkovni paketi shranijo vrata (številko) cilja (storitev, strežnik) znotraj VM v svoji glavi.
Za strežnike minecraft je de facto standard uporaba vrat 25565. Dodajmo pravilo, ki nakazuje, da je dostop do vašega VM prek teh vrat sprejemljiv.
S klikom na gumb gremo v okno za dokončanje ustvarjanja VM Pregled in zagon
Nastavitev para ključev SSH za VM
Torej bo povezava s strojem izvedena s protokolom SSH.
Protokol SSH deluje na naslednji način: generira se par ključev (javni in zasebni), javni ključ se shrani na VM, zasebni ključ pa na računalniku osebe, ki se povezuje z VM (odjemalec). Pri povezovanju VM preveri, ali ima odjemalec ustrezen zasebni ključ.
pritisnite Zagon. Pred vami se prikaže naslednje okno:
Vnesite ime para ključev (za vaše udobje) in kliknite Prenesite par ključev. Moral bi prenesti .pem datoteko, ki vsebuje vaš zasebni ključ. Kliknite gumb Zaženite primerke. Pravkar ste ustvarili virtualni stroj, na katerem bo nameščen strežnik.
Pridobivanje statičnega IP-ja
Zdaj moramo pridobiti in povezati statični IP z našim VM. Za ta meni najdemo zavihek Elastični IP -ji in se premikamo po njej. Na zavihku kliknite gumb Dodelite elastični naslov IP in dobite statični IP.
Zdaj mora biti prejeti naslov IP povezan z našim VM. Če želite to narediti, ga izberite s seznama in v meniju Proces izberite Pridruženi naslov IP
Nato bomo VM povezali z našim naslovom IP
Končano!
Gremo do VM
Zdaj, ko je VM konfiguriran in je naslov IP dodeljen, se povežimo z njim in namestimo naš strežnik minecraft.
Za povezavo z VM prek SSH bomo uporabili program PuTTY. Namestite PuTTYgen takoj s te strani
Ko namestite PuTTY, ga odprite. Zdaj morate konfigurirati povezavo.
V zavihku Session izberite vrsto povezave SSH, pristanišče 22. Določite ime za povezavo. Ime gostitelja za povezovanje prek SSH je niz, kot je: имя_пользователя@публичный_dns.
Privzeto uporabniško ime v AWS za CentOS je CentOS. Vaš javni DNS si lahko ogledate tukaj:
V zavihku SSH -> Auth vnesite svoj zasebni ključ SSH. Shranjen je v datoteki .pem, ki smo ga prenesli prej. Toda PuTTY ne more delati z datotekami .pem, potrebuje obliko .ppk. Za pretvorbo bomo uporabili PuTTYgen. Navodila za pretvorbo s spletnega mesta PuTTYgen. Prejeta datoteka .ppk Shranimo in označimo tukaj:
Na VM se povežemo tako, da povezavo odpremo z gumbom Odprto.
čestitke! Pravkar smo se povezali s konzolo vašega VM. Preostane le še namestitev našega strežnika nanj.
Namestitev in konfiguracija strežnika minecraft
Začnimo postavljati naš strežnik. Najprej moramo namestiti več paketov na naš VM.
sudo yum install -y wget mc iptables iptables-services java screen
Ugotovimo, čemu je namenjen vsak paket.
wget - pripomoček za prenos datotek v Linuxu. Z njim bomo prenesli datoteke strežnika.
mc - urejevalnik besedil konzole. Je preprost in enostaven za uporabo za neizkušenega uporabnika.
iptables — pripomoček za upravljanje in konfiguracijo požarnega zidu, z njegovo pomočjo bomo odprli vrata za strežnik na našem VM.
Java — minecraft teče na javi, zato je potrebno za delovanje strežnika
zaslon - upravitelj oken za Linux. Omogočil nam bo podvojitev naše konzole za dvig strežnika. Dejstvo je, da je treba strežnik zagnati prek konzole; če prekinete povezavo s svojim VM, se bo proces strežnika ustavil. Zato ga bomo zagnali v ločenem oknu konzole.
Zdaj pa nastavimo požarni zid.
Požarni zid je programski ali strojno-programski element računalniškega omrežja, ki nadzoruje in filtrira omrežni promet, ki poteka skozi njega v skladu z določenimi pravili. (Wikipedia)
Preprosto razloženo: zamislite si utrjeno mesto. Nenehno ga napadajo od zunaj, medtem ko v mestu teče normalno življenje. Za vstop v mesto so v obzidju trdnjave vrata, ob katerih stojijo stražarji in s seznamov preverjajo, ali je tej osebi dovoljeno vstopiti v trdnjavo. Vlogo zidu in vrat v računalniških omrežjih opravlja požarni zid.
sudo mcedit /etc/sysconfig/iptables
Pravkar smo ustvarili konfiguracijsko datoteko požarnega zidu. Napolnimo ga s standardnimi konfiguracijskimi podatki, vključno s pravilom za vrata 25565, ki so standardna vrata za strežnik 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
Zaprite datoteko s pritiskom na F10, shranjevanje sprememb.
Zdaj pa zaženimo požarni zid in ga omogočimo ob zagonu:
Oglejte si vsebino mape z ukazom ls, se prepričajte, da so datoteke prenesene.
Zaženimo datoteko strežnika. Zdaj strežnik ne bo deloval: ustvaril bo vse datoteke, potrebne za delo, in se pritožil, da se niste strinjali s pogoji licence EULA. Sprejmite pogoje tako, da odprete datoteko eula.txt
sudo mcedit eula.txt
Potrdite svoje strinjanje tako, da spremenite vnos v:
eula=true
Odprite datoteko server.properties: To je konfiguracijska datoteka vašega strežnika. Več o nastavitvah strežnika
Na njem je treba narediti naslednjo spremembo:
online-mode=false
Preostale nastavitve so po vaši presoji.
Zagon strežnika
Čas je za zagon strežnika. Kot sem že rekel, se strežnik zažene neposredno iz konzole, če pa zapremo glavno konzolo, se proces strežnika ustavi. Zato ustvarimo še eno konzolo:
Strežnik se zažene v približno 45 sekundah, ne prekinjajte procesa. Ko je strežnik inicializiran in zagnan, boste videli nekaj takega:
čestitke! Pravkar ste zagnali in zagnali svoj minecraft strežnik. Zdaj je pomembno, da pravilno zapustite drugo konzolo, tako da bo še naprej delovala z delujočim strežnikom. Če želite to narediti, kliknite Ctrl+A, potem D. Morali bi biti v glavni konzoli in videti sporočilo, kot je [detached from 1551.pts-0.ip-172-31-37-146]. Če se morate vrniti na konzolo, kjer se izvaja strežnik, uporabite screen -r
Zdaj lahko prekinete povezavo s svojim VM. Vaš strežnik bo dostopen prek statičnega naslova IP, ki smo ga prejeli prej, na vratih 25565.
Izkazalo se je, da bo naslov za vstop v strežnik <ваш_статический_IP>:25565.
Zaključek
S pomočjo teh navodil lahko preprosto nastavite brezplačen strežnik minecraft z namenskim IP-jem. Članek je napisan v najpreprostejšem možnem jeziku in je namenjen nestrokovnjakom. V zvezi s tem je zanimivo slišati komentarje okupiranih, saj lahko pri poenostavljanju gradiva pride do stvarnih terminoloških napak.