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.

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

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.

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

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

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

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.

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

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.

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

3) Ostale nastavitve pustite privzete, vendar se ustavite na zavihku Konfigurirajte varnostne skupine.

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

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.

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

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:

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

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.

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

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

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

Nato bomo VM povezali z našim naslovom IP

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

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.

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

  1. 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:

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

Dobil sem vrstico [email protected]

  1. 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:

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

  1. 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.

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

Zdaj pa zaženimo požarni zid in ga omogočimo ob zagonu:

sudo systemctl enable iptables
sudo systemctl restart iptables

Datoteke strežnika bomo shranili v ločeno mapo, jo ustvarili, šli vanjo in prenesli datoteke strežnika. Če želite to narediti, morate uporabiti wget

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

Treba je najti direktna povezava za prenos .jar strežniška datoteka. Na primer, povezava do datoteke strežnika različice 1.15.2:

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

Oglejte si vsebino mape z ukazom ls, se prepričajte, da so datoteke prenesene.

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

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:

screen

Zaženimo strežnik v tej konzoli:

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

Strežnik se zažene v približno 45 sekundah, ne prekinjajte procesa. Ko je strežnik inicializiran in zagnan, boste videli nekaj takega:

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

č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.

Brezplačni strežnik minecraft na AWS brez znanja o Linuxu

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.

Vir: www.habr.com

Dodaj komentar