Gratis minecraft-server på AWS med noll kunskap om Linux

Hej, Habr! Mer exakt, skurkar som letar efter hur man ställer in en minecraft-server för att spela med vänner.

Artikeln är avsedd för icke-programmerare, icke-sysadmins, i allmänhet, inte för Habrs huvudpublik. Artikeln innehåller steg-för-steg-instruktioner för att skapa en minecraft-server med en dedikerad IP, anpassad för personer långt från IT. Om det här inte handlar om dig är det bättre att hoppa över artikeln.

Vad är en server?

Så vad är en server? Om vi ​​förlitar oss på konceptet "server" som en mjukvarukomponent, så är servern ett program som kan ta emot, bearbeta och överföra data som tas emot från användare (klienter) som är anslutna till denna server. Med sajten som exempel ligger sajten på någon webbserver som du kommer åt via en webbläsare. I vårt fall genererar minecraft-servern en värld som spelare (klienter) ansluter till, som kan gå, bryta block, etc. Minecraft-servern är ansvarig för att ansluta spelare och alla deras handlingar.

Självklart måste servern köras på datorn (maskinen). Du kan ställa in en server på din hemdator, men i det här fallet:

  • Du äventyrar säkerheten för din egen dator genom att öppna portar på den
  • Servern kommer att belasta din dator, vilket kan störa ditt arbete med den
  • Du kan inte hålla din hemdator igång 24/7: ibland stänger du av den, ibland tappar din dator internetanslutningen, etc.
  • För att komma åt din server från omvärlden måste du komma åt din dator via IP-adress, vilket för "hem" Internetleverantörer är dynamisk, det vill säga den kan ändras varannan till var tredje dag av skäl utanför din kontroll.

Och hur löser vi dessa problem?

Lösningen på alla dessa problem är att använda virtuell maskin med statisk, det vill säga en oföränderlig IP-adress.

Komplex terminologi? Låt oss ta reda på det.
Låt oss vända oss till Wikipedia.

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

För att uttrycka det i väldigt grova termer, det är en dator i en dator. Du kan också installera ett operativsystem på den och arbeta med den som med en vanlig dator.

Var kan vi få tag i det?

Svaret är enkelt - AWS. Det här är en plattform som tillhandahåller många olika molntjänster som är användbara för alla som jobbar med webben och inte bara. För att skapa en minecraft-server är en av AWS-produkterna perfekt - Amazon EC2 — en virtuell molnmaskin som är tillgänglig 24/7. AWS erbjuder en minsta virtuell maskin (10 GB SSD, 1 GB RAM) gratis i ett år, gör det dessutom möjligt att binda en gratis dedikerad (statisk) IP-adress för permanent åtkomst till din VM (virtuell maskin) på samma adress.

Vi skapar och konfigurerar en virtuell dator

Gå till webbplatsen AWS och registrera dig. Gå sedan till hanteringskonsolen.

Gratis minecraft-server på AWS med noll kunskap om Linux

I konsolen, bland tjänster, hitta EC2 och gå till den.

Det är viktigt att välja ett datacenter, enkelt uttryckt, platsen där Amazons servrar finns. Du bör välja beroende på din plats, eftersom kommunikationshastigheten på Internet varierar, och du bör välja ett datacenter med vilket kommunikationen från din stad kommer att vara så snabb som möjligt.

Gratis minecraft-server på AWS med noll kunskap om Linux

För att välja ett datacenter rekommenderar jag att du använder tjänsten WonderNetwork, som mäter överföringshastigheten för paket med andra städer.
I mitt fall (Moskva) passade det irländska datacentret mig.

Det är dags att skapa en virtuell maskin. För att göra detta, gå till fliken Lansera instans

Gratis minecraft-server på AWS med noll kunskap om Linux

Låt oss börja konfigurera den virtuella datorn.

1) Välj operativsystemavbildning. Linux är mycket bekvämt för att höja servrar, vi kommer att använda distributionspaketet CentOS7

Det bör noteras att det inte kommer att finnas någon grafisk miljö på din virtuella maskin; åtkomst till maskinen sker via konsolen. Det innebär att styra den virtuella datorn med hjälp av kommandon snarare än en datormus. Var inte rädd för detta: det här borde inte stoppa dig nu eller ge upp tanken på att höja din egen minecraft-server eftersom det är "för svårt". Att arbeta med maskinen genom konsolen är inte svårt - du kommer snart att se själv.

Gratis minecraft-server på AWS med noll kunskap om Linux

2) Låt oss nu definiera den tekniska konfigurationen av den virtuella datorn. För fri användning erbjuder Amazon konfigurationen t2.micro, inte tillräckligt för en fullfjädrad stor minecraft-server, men tillräckligt för att spela med vänner.

Gratis minecraft-server på AWS med noll kunskap om Linux

3) Lämna resten av inställningarna som standard, men stanna vid fliken Konfigurera säkerhetsgrupper.

Gratis minecraft-server på AWS med noll kunskap om Linux

Här måste vi konfigurera åtkomst till portar för minecraft-servern.

Enkelt uttryckt är en port ett icke-negativt nummer som anger till vem inkommande data från omvärlden är adresserad. En virtuell dator kan vara värd för många olika tjänster och servrar, så alla inkommande datapaket lagrar porten (numret) för destinationen (tjänsten, servern) inuti den virtuella datorn i sin header.

För minecraft-servrar är de facto standarden att använda porten 25565. Låt oss lägga till en regel som anger att åtkomst till din virtuella dator via denna port är acceptabel.

Gratis minecraft-server på AWS med noll kunskap om Linux

Gratis minecraft-server på AWS med noll kunskap om Linux

Vi går till fönstret för att slutföra skapandet av den virtuella datorn genom att klicka på knappen Granska och starta

Konfigurera ett SSH-nyckelpar för en virtuell dator

Så anslutningen till maskinen kommer att utföras med SSH-protokollet.

SSH-protokollet fungerar enligt följande: ett par nycklar (offentliga och privata) genereras, den publika nyckeln lagras på den virtuella datorn och den privata nyckeln lagras på datorn för den person som ansluter till den virtuella datorn (klienten). Vid anslutning kontrollerar den virtuella datorn att klienten har en lämplig privat nyckel.

tryck Starta. Följande fönster kommer att visas framför dig:

Gratis minecraft-server på AWS med noll kunskap om Linux

Ange namnet på nyckelparet (för din bekvämlighet) och klicka Ladda ner nyckelpar. Du borde ladda ner .pem en fil som innehåller din privata nyckel. Klicka på knappen Starta instanser. Du har precis skapat en virtuell maskin där servern kommer att installeras.

Få en statisk IP

Nu måste vi erhålla och binda en statisk IP till vår virtuella dator. För denna meny hittar vi fliken Elastiska IP: er och vi går längs den. Klicka på knappen på fliken Tilldela elastisk IP-adress och få en statisk IP.

Gratis minecraft-server på AWS med noll kunskap om Linux

Nu måste den mottagna IP-adressen vara associerad med vår virtuella dator. För att göra detta, välj det från listan och i menyn Handlingar välja Associera IP-adress

Gratis minecraft-server på AWS med noll kunskap om Linux

Därefter kommer vi att binda den virtuella datorn till vår IP-adress

Gratis minecraft-server på AWS med noll kunskap om Linux

Klart!

Vi går till VM

Nu när den virtuella datorn är konfigurerad och IP-adressen är tilldelad, låt oss ansluta till den och installera vår minecraft-server.

För att ansluta till VM via SSH kommer vi att använda programmet PuTTY. Installera PuTTYgen direkt från den här sidan

När du har installerat PuTTY, öppna den. Nu måste du konfigurera anslutningen.

Gratis minecraft-server på AWS med noll kunskap om Linux

  1. I fliken Session Test välj anslutningstyp SSH, hamn 22. Ange ett namn för anslutningen. Värdnamnet för att ansluta via SSH är en sträng som: имя_пользователя@публичный_dns.

Standardanvändarnamnet i AWS för CentOS är centos. Din offentliga DNS kan ses här:

Gratis minecraft-server på AWS med noll kunskap om Linux

Jag fick linjen [email protected]

  1. I fliken SSH -> Auth ange din privata SSH-nyckel. Det lagras i en fil .pem, som vi laddade ner tidigare. Men PuTTY kan inte fungera med filer .pem, han behöver ett format .ppk. För konvertering kommer vi att använda PuTTYgen. Konverteringsinstruktioner från PuTTYgens webbplats. Mottagen fil .ppk Låt oss spara och ange här:

Gratis minecraft-server på AWS med noll kunskap om Linux

  1. Vi ansluter till VM:n genom att öppna anslutningen med knappen Öppen.
    Grattis! Vi har precis anslutit till konsolen på din virtuella dator. Allt som återstår är att installera vår server på den.

Installera och konfigurera en minecraft-server

Låt oss börja konfigurera vår server. Först måste vi installera flera paket på vår virtuella dator.

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

Låt oss ta reda på vad vart och ett av paketen är till för.

  • wget - ett verktyg för att ladda ner filer i Linux. Med hjälp av den laddar vi ner serverfilerna.
  • mc - konsol textredigerare. Det är enkelt och lätt att använda för en otränad användare.
  • iptables — ett verktyg för att hantera och konfigurera en brandvägg, med dess hjälp kommer vi att öppna en port för servern på vår virtuella dator.
  • Java — minecraft körs på java, så det är nödvändigt för servern att fungera
  • screen - fönsterhanterare för Linux. Det kommer att tillåta oss att duplicera vår konsol för att höja servern. Faktum är att servern måste startas via konsolen; om du kopplar från din virtuella dator kommer serverprocessen att stoppas. Därför kommer vi att köra det i ett separat konsolfönster.

Låt oss nu konfigurera brandväggen.

En brandvägg är en mjukvara eller hårdvara-mjukvaruelement i ett datornätverk som kontrollerar och filtrerar nätverkstrafik som passerar genom det i enlighet med specificerade regler. (Wikipedia)

För att förklara i enkla termer: föreställ dig en befäst stad. Han blir ständigt attackerad utifrån, medan det normala livet pågår i staden. För att komma åt staden finns en port i fästningens mur, vid vilken vakter står och kontrollerar från listor om denna person kan släppas in i fästningen. En väggs och grinds roll i datornätverk utförs av en brandvägg.

sudo mcedit /etc/sysconfig/iptables

Vi har precis skapat en brandväggskonfigurationsfil. Låt oss fylla den med standardkonfigurationsdata, inklusive en regel för porten 25565, som är standardporten för minecraft-servern.

*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

Stäng filen genom att trycka på F10, sparar ändringarna.

Gratis minecraft-server på AWS med noll kunskap om Linux

Låt oss nu starta brandväggen och aktivera den vid start:

sudo systemctl enable iptables
sudo systemctl restart iptables

Vi kommer att lagra serverfilerna i en separat mapp, skapa den, gå till den och ladda ner serverfilerna. För att göra detta bör du använda wget

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

Måste hitta Direktlänk för nedladdning .jar serverfil. Till exempel, länka till serverfilversion 1.15.2:

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

Visa innehållet i en mapp med kommandot ls, se till att filerna är nedladdade.

Gratis minecraft-server på AWS med noll kunskap om Linux

Låt oss starta serverfilen. Nu kommer inte servern att fungera: den kommer att skapa alla filer som är nödvändiga för arbetet och kommer att klaga på att du inte gick med på villkoren i licensen för licensavtal. Acceptera villkoren genom att öppna filen eula.txt

sudo mcedit eula.txt

Bekräfta ditt avtal genom att ändra posten till:

eula=true

Öppna filen server.properties: Detta är din serverkonfigurationsfil. Mer om serverinställningar

Följande ändring måste göras i den:

online-mode=false

De återstående inställningarna är efter eget gottfinnande.

Startar servern

Det är dags att starta servern. Som jag redan har sagt startar servern direkt från konsolen, men om vi stänger huvudkonsolen kommer serverprocessen att stoppas. Låt oss därför skapa en annan konsol:

screen

Låt oss starta servern i denna konsol:

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

Servern startar om cirka 45 sekunder, avbryt inte processen. När servern är initierad och körs ser du något i stil med:

Gratis minecraft-server på AWS med noll kunskap om Linux

Grattis! Du har precis fått igång din minecraft-server. Nu är det viktigt att avsluta den andra konsolen korrekt så att den fortsätter att fungera med den körande servern. För att göra detta, klicka Ctrl+AD. Du bör vara i huvudkonsolen och se ett meddelande som [detached from 1551.pts-0.ip-172-31-37-146]. Om du behöver gå tillbaka till konsolen där servern körs, använd screen -r

Du kan nu koppla från din virtuella dator. Din server kommer att vara tillgänglig via den statiska IP-adressen vi fick tidigare, på port 25565.

Gratis minecraft-server på AWS med noll kunskap om Linux

Det visar sig att adressen för att komma in på servern kommer att vara <ваш_статический_IP>:25565.

Slutsats

Med hjälp av dessa instruktioner kan du enkelt konfigurera en gratis minecraft-server med en dedikerad IP. Artikeln är skriven på enklast möjliga språk och är avsedd för icke-specialister. I detta avseende är det intressant att höra kommentarerna från de som är sysselsatta, för när man förenklar materialet kan faktafel i terminologin göras.

Källa: will.com

Lägg en kommentar