Gratis minecraft-server på AWS med null kunnskap om Linux

Hei, Habr! Mer presist, kjeltringer som leter etter hvordan man setter opp en minecraft-server for å spille med venner.

Artikkelen er ment for ikke-programmerere, ikke-sysadmins, generelt, ikke for Habrs hovedpublikum. Artikkelen inneholder trinnvise instruksjoner for å lage en minecraft-server med en dedikert IP, tilpasset folk langt fra IT. Hvis dette ikke handler om deg, er det bedre å hoppe over artikkelen.

Hva er en server?

Så hva er en server? Hvis vi stoler på konseptet "server" som en programvarekomponent, så er serveren et program som kan motta, behandle og overføre data mottatt fra brukere (klienter) som er koblet til denne serveren. Ved å bruke nettstedet som et eksempel, er siden plassert på en nettserver, som du får tilgang til via en nettleser. I vårt tilfelle genererer minecraft-serveren en verden som spillere (klienter) kobler seg til, som kan gå, bryte blokker osv. Minecraft-serveren er ansvarlig for å koble sammen spillere og alle deres handlinger.

Selvfølgelig må serveren kjøre på datamaskinen (maskinen). Du kan sette opp en server på hjemmedatamaskinen, men i dette tilfellet:

  • Du setter sikkerheten til din egen datamaskin i fare ved å åpne porter på den
  • Serveren vil belaste datamaskinen din, noe som kan forstyrre arbeidet med den
  • Du kan ikke holde hjemmedatamaskinen i gang 24/7: noen ganger slår du den av, noen ganger mister datamaskinen internettforbindelsen osv.
  • For å få tilgang til serveren din fra omverdenen, må du få tilgang til datamaskinen din via IP adresse, som for "hjemme" Internett-leverandører er dynamisk, det vil si at den kan endres hver 2.-3. dag av grunner utenfor din kontroll.

Og hvordan løser vi disse problemene?

Løsningen på alle disse problemene er å bruke virtuell maskin med statisk, det vil si en IP-adresse som ikke kan endres.

Kompleks terminologi? La oss finne ut av det.
La oss gå til Wikipedia.

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

For å si det i veldig grove termer, det er en datamaskin i en datamaskin. Du kan også installere et operativsystem på den og jobbe med den som med en vanlig datamaskin.

Hvor kan vi få tak i det?

Svaret er enkelt - AWS. Dette er en plattform som gir mange forskjellige skytjenester som er nyttige for alle som jobber med nettet og ikke bare. For å lage en minecraft-server er et av AWS-produktene perfekt - Amazon EC2 — en virtuell skymaskin som er tilgjengelig 24/7. AWS tilbyr en minimum virtuell maskin (10 GB SSD, 1 GB RAM) gratis i ett år, i tillegg gjør det mulig å binde en gratis dedikert (statisk) IP-adresse for permanent tilgang til din VM (virtuell maskin) på samme adresse.

Vi lager og konfigurerer en VM

Gå til siden AWS og registrere deg. Gå deretter til administrasjonskonsollen.

Gratis minecraft-server på AWS med null kunnskap om Linux

I konsollen finner du blant tjenester EC2 og gå til det.

Det er viktig å velge et datasenter, enkelt sagt, stedet der Amazon-serverne er plassert. Du bør velge avhengig av hvor du befinner deg, fordi kommunikasjonshastigheten på Internett varierer, og du bør velge et datasenter som kommunikasjonen fra byen din vil være så rask som mulig.

Gratis minecraft-server på AWS med null kunnskap om Linux

For å velge et datasenter anbefaler jeg å bruke tjenesten WonderNetwork, som måler overføringshastigheten til pakker med andre byer.
I mitt tilfelle (Moskva) passet det irske datasenteret meg.

Det er på tide å lage en virtuell maskin. For å gjøre dette, gå til fanen Start instans

Gratis minecraft-server på AWS med null kunnskap om Linux

La oss begynne å konfigurere VM.

1) Velg operativsystembildet. Linux er veldig praktisk for å heve servere; vi vil bruke distribusjonssettet CentOS7

Det skal bemerkes at det ikke vil være noe grafisk miljø på din virtuelle maskin; tilgang til maskinen vil være gjennom konsollen. Det innebærer å kontrollere VM-en ved å bruke kommandoer i stedet for en datamus. Ikke vær redd for dette: dette bør ikke stoppe deg nå eller gi opp ideen om å øke din egen minecraft-server fordi det er "for vanskelig". Å jobbe med maskinen gjennom konsollen er ikke vanskelig - du vil snart se selv.

Gratis minecraft-server på AWS med null kunnskap om Linux

2) La oss nå definere den tekniske konfigurasjonen av VM. For gratis bruk tilbyr Amazon konfigurasjonen t2.micro, ikke nok for en fullverdig stor minecraft-server, men nok til å spille med venner.

Gratis minecraft-server på AWS med null kunnskap om Linux

3) La resten av innstillingene være standard, men stopp ved fanen Konfigurer sikkerhetsgrupper.

Gratis minecraft-server på AWS med null kunnskap om Linux

Her må vi konfigurere tilgang til porter for minecraft-serveren.

Enkelt sagt er en port et ikke-negativt tall som indikerer hvem innkommende data fra omverdenen er adressert til. En VM kan være vert for mange forskjellige tjenester og servere, så alle innkommende datapakker lagrer porten (nummeret) til destinasjonen (tjeneste, server) inne i VM-en i overskriften.

For minecraft-servere er de facto-standarden å bruke porten 25565. La oss legge til en regel som indikerer at tilgang til VM-en din via denne porten er akseptabel.

Gratis minecraft-server på AWS med null kunnskap om Linux

Gratis minecraft-server på AWS med null kunnskap om Linux

Vi går til vinduet for å fullføre opprettelsen av VM ved å klikke på knappen Gjennomgang og start

Sette opp et SSH-nøkkelpar for en VM

Så tilkoblingen til maskinen vil bli utført ved hjelp av SSH-protokollen.

SSH-protokollen fungerer som følger: et par nøkler (offentlige og private) genereres, den offentlige nøkkelen lagres på VM-en, og den private nøkkelen lagres på datamaskinen til personen som kobler til VM-en (klienten). Ved tilkobling sjekker VM at klienten har en passende privat nøkkel.

Klikk på knappen Start. Følgende vindu vil dukke opp foran deg:

Gratis minecraft-server på AWS med null kunnskap om Linux

Skriv inn navnet på nøkkelparet (for enkelhets skyld) og klikk Last ned nøkkelpar. Du bør laste ned PEM en fil som inneholder din private nøkkel. Klikk på knappen Start forekomster. Du har nettopp opprettet en virtuell maskin som serveren skal installeres på.

Får en statisk IP

Nå må vi skaffe og binde en statisk IP til vår VM. For denne menyen finner vi fanen Elastiske IP -er og vi beveger oss langs den. Klikk på knappen på fanen Tildel elastisk IP-adresse og få en statisk IP.

Gratis minecraft-server på AWS med null kunnskap om Linux

Nå må den mottatte IP-adressen være knyttet til vår VM. For å gjøre dette, velg den fra listen og i menyen handlinger velge Tilknytt IP-adresse

Gratis minecraft-server på AWS med null kunnskap om Linux

Deretter vil vi binde VM til IP-adressen vår

Gratis minecraft-server på AWS med null kunnskap om Linux

Ferdig!

Vi går til VM

Nå som VM er konfigurert og IP-adressen er tildelt, la oss koble til den og installere minecraft-serveren vår.

For å koble til VM via SSH bruker vi programmet PuTTY. Installer PuTTYgen umiddelbart fra denne siden

Etter å ha installert PuTTY, åpne den. Nå må du konfigurere tilkoblingen.

Gratis minecraft-server på AWS med null kunnskap om Linux

  1. I fanen Session velg tilkoblingstype SSH, havn 22. Angi et navn for tilkoblingen. Vertsnavnet for tilkobling via SSH er en streng som: имя_пользователя@публичный_dns.

Standard brukernavn i AWS for CentOS er CentOS. Din offentlige DNS kan sees her:

Gratis minecraft-server på AWS med null kunnskap om Linux

Jeg har linjen [email protected]

  1. I fanen SSH -> Auth skriv inn din private SSH-nøkkel. Den er lagret i en fil .pem, som vi lastet ned tidligere. Men PuTTY kan ikke fungere med filer .pem, han trenger et format .ppk. For konvertering vil vi bruke PuTTYgen. Konverteringsinstruksjoner fra PuTTYgen-nettstedet. Mottatt fil .ppk La oss lagre og angi her:

Gratis minecraft-server på AWS med null kunnskap om Linux

  1. Vi kobler til VM ved å åpne forbindelsen med knappen Åpen.
    Gratulerer! Vi har nettopp koblet til konsollen på VM-en din. Alt som gjenstår er å installere serveren vår på den.

Installere og konfigurere en minecraft-server

La oss begynne å sette opp serveren vår. Først må vi installere flere pakker på vår VM.

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

La oss finne ut hva hver av pakkene er for.

  • wget - et verktøy for å laste ned filer i Linux. Ved å bruke den vil vi laste ned serverfilene.
  • mc - konsoll tekstredigerer. Den er enkel og lett å bruke for en utrent bruker.
  • iptables — et verktøy for å administrere og konfigurere en brannmur, med dets hjelp vil vi åpne en port for serveren på vår VM.
  • Java — minecraft kjører på java, så det er nødvendig for at serveren skal fungere
  • skjerm - vindusbehandler for Linux. Det vil tillate oss å duplisere konsollen vår for å heve serveren. Faktum er at serveren må startes via konsollen; hvis du kobler fra VM-en din, vil serverprosessen bli stoppet. Derfor vil vi kjøre den i et eget konsollvindu.

La oss nå konfigurere brannmuren.

En brannmur er et programvare- eller maskinvare-programvareelement i et datanettverk som kontrollerer og filtrerer nettverkstrafikk som går gjennom det i samsvar med spesifiserte regler. (Wikipedia)

For å forklare med enkle ord: forestill deg en befestet by. Han blir stadig angrepet fra utsiden, mens det normale livet går videre i byen. For å få tilgang til byen er det en port i festningsmuren, ved hvilken vakter står og sjekker fra lister om denne personen kan slippes inn i festningen. Rollen til en vegg og port i datanettverk utføres av en brannmur.

sudo mcedit /etc/sysconfig/iptables

Vi har nettopp opprettet en brannmurkonfigurasjonsfil. La oss fylle den med standard konfigurasjonsdata, inkludert en regel for porten 25565, som er standardporten for minecraft-serveren.

*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

Lukk filen ved å trykke F10, lagrer endringene.

Gratis minecraft-server på AWS med null kunnskap om Linux

La oss nå starte brannmuren og aktivere den ved oppstart:

sudo systemctl enable iptables
sudo systemctl restart iptables

Vi vil lagre serverfilene i en egen mappe, lage den, gå til den og laste ned serverfilene. For å gjøre dette bør du bruke wget

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

Trenger å finne direkte kobling for nedlasting .jar serverfil. Koble for eksempel til serverfilversjon 1.15.2:

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

Vis innholdet i en mappe ved å bruke kommandoen ls, sørg for at filene er lastet ned.

Gratis minecraft-server på AWS med null kunnskap om Linux

La oss starte serverfilen. Nå vil ikke serveren fungere: den vil opprette alle filene som er nødvendige for arbeidet, og vil klage over at du ikke godtok vilkårene i lisensen for EULA. Godta vilkårene ved å åpne filen eula.txt

sudo mcedit eula.txt

Bekreft avtalen din ved å endre oppføringen til:

eula=true

Åpne filen server.properties: Dette er serverkonfigurasjonsfilen din. Mer om serverinnstillinger

Følgende endring må gjøres på den:

online-mode=false

De resterende innstillingene er etter ditt skjønn.

Serverstart

Det er på tide å starte serveren. Som jeg allerede har sagt starter serveren direkte fra konsollen, men hvis vi lukker hovedkonsollen vil serverprosessen bli stoppet. Derfor, la oss lage en annen konsoll:

screen

La oss starte serveren i denne konsollen:

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

Serveren starter om ca. 45 sekunder, ikke avbryt prosessen. Når serveren er initialisert og kjører, vil du se noe sånt som:

Gratis minecraft-server på AWS med null kunnskap om Linux

Gratulerer! Du har akkurat fått minecraft-serveren i gang. Nå er det viktig å avslutte den andre konsollen riktig slik at den fortsetter å fungere med den kjørende serveren. For å gjøre dette, klikk Ctrl+A, da D. Du bør være i hovedkonsollen og se en melding som [detached from 1551.pts-0.ip-172-31-37-146]. Hvis du trenger å gå tilbake til konsollen der serveren kjører, bruk screen -r

Du kan nå koble fra VM-en din. Serveren din vil være tilgjengelig via den statiske IP-adressen vi mottok tidligere, på port 25565.

Gratis minecraft-server på AWS med null kunnskap om Linux

Det viser seg at adressen for å gå inn på serveren vil være <ваш_статический_IP>:25565.

Konklusjon

Ved å bruke disse instruksjonene kan du enkelt sette opp en gratis minecraft-server med en dedikert IP. Artikkelen er skrevet på enklest mulig språk og er beregnet på ikke-spesialister. I denne forbindelse er det interessant å høre kommentarene til de som er opptatt, for når man forenkler materialet, kan det gjøres faktafeil i terminologien.

Kilde: www.habr.com

Legg til en kommentar