Hei, Habr! Mer nĂžyaktig, de som leter etter hvordan man kan sette opp en Minecraft-server for Ă„ spille med venner.
Artikkelen er for ikke-programmerere, ikke-systemadministratorer, med andre ord, ikke for Habr sin hovedpublikum. I artikkelen er det en trinn-for-trinn veiledning for Ă„ opprette en Minecraft-server med en dedikert IP, tilpasset for folk som er fjerne fra IT. Hvis ikke dette gjelder deg, er det best Ă„ hoppe over artikkelen.
Hva er en server?
SĂ„, hva er en server? Hvis vi ser pĂ„ begrepet "server" som en komponent av programvaren, sĂ„ er en server et program som kan motta, behandle og sende data som mottas fra brukere (kunder) som er tilkoblet denne serveren. For eksempel med en nettside â nettsiden ligger pĂ„ en webserver, som du fĂ„r tilgang til via nettleseren. I vĂ„rt tilfelle genererer Minecraft-serveren en verden som spillere (kunder) kobler seg til, og som kan gĂ„, bryte blokker, osv. Mikrotjenesten Minecraft serverer forbindelsen til spillerne og alle deres handlinger.
Det er Äpenbart at serveren mÄ kjÞre pÄ en datamaskin.
- Du setter sikkerheten til din egen datamaskin i fare ved Ä Äpne porter pÄ den.
- Serveren vil belaste datamaskinen din, noe som kan forstyrre arbeidet ditt med den.
- Du kan ikke holde hjemme-PC-en din i drift 24/7: noen ganger slÄr du den av, noen ganger mister datamaskinen din internett-tilkobling osv.
- For Ä fÄ tilgang til serveren din fra den ytre verden, mÄ du henvise til datamaskinen ved IP-adresse, som hos "hjemme"-internettleverandÞrer er dynamisk, som betyr at den kan endres hver 2-3 dager av grunner utenfor din kontroll.
Og hvordan skal vi lĂžse disse problemene?
LÞsningen pÄ alle de nevnte problemene er bruk av en virtuell maskin med en statisk, dvs. en uforanderlig IP-adresse.
Vanskelig terminologi? La oss finne ut av det.
La oss se pÄ Wikipedia.
En virtuell maskin (VM, fra engelsk virtual machine) er et programvare- og/eller maskinvare-system som emulerer maskinvaren til en eller annen plattform ...Hvis vi forklarer pÄ en veldig grov mÄte - 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 skal vi fÄ den?
Svaret er enkelt â . Dette er en plattform som tilbyr mange forskjellige skylĂžsninger som er nyttige for alle som jobber med weben og mer. For Ă„ opprette en Minecraft-server passer et av produktene fra AWS perfekt â Amazon EC2 â en skybasert virtuell maskin som er tilgjengelig 24/7. AWS tilbyr en minimal virtuell maskin (10GB SSD, 1GB RAM) gratis i ett Ă„r, og gir ogsĂ„ muligheten til Ă„ knytte en gratis dedikert (statisk) IP-adresse for permanent tilgang til din VM (virtuelle maskin) pĂ„ samme adresse.
Oppretter og konfigurerer VM
GÄ til nettsiden og registrer deg. Deretter gÄr du til kontrollpanelet.

I konsollen, blant tjenestene, finn EC2 og gÄ til den.
Det er viktig Ä velge datasenteret, med andre ord, stedet der Amazons servere ligger. Du bÞr velge basert pÄ din lokasjon, siden internettkommunikasjonen varierer, og du bÞr velge et datasenter som gir deg den raskeste tilkoblingen fra din by.

For Ä velge datasenter anbefaler jeg Ä bruke tjenesten , som mÄler hastigheten pÄ datapakker til andre byer.
I mitt tilfelle (Oslo) passet det irske datasenteret for meg.
NÄ er det pÄ tide Ä opprette en virtuell maskin. For dette, gÄ til fanen Launch instance

La oss begynne konfigurasjonen av VM.
1) Vi velger et operativsystembilde. For oppsett av servere er Linux veldig praktisk, vi vil bruke distribusjonen CentOS7
Det er viktig Ă„ merke seg at det ikke vil vĂŠre en grafisk brukergrensesnitt pĂ„ din virtuelle maskin; tilgangen til maskinen vil skje via konsollen. Det innebĂŠrer Ă„ styre VM med kommandoer, ikke med datamus. Ikke vĂŠr redd for det: dette bĂžr ikke stoppe deg nĂ„ eller fĂžre til at du gir opp ideen om Ă„ oppsette din egen Minecraft-server fordi det er "for komplisert". Det er ikke vanskelig Ă„ jobbe med maskinen via konsollen â snart vil du se det selv.

2) NĂ„ definerer vi den tekniske konfigurasjonen av VM. For gratis bruk tilbyr Amazon konfigurasjonen t2.micro, som er litt lite for en fullt fungerende stor Minecraft-server, men nok for Ă„ spille med venner.

3) De Þvrige innstillingene lar vi stÄ som standard, men stopper pÄ fanen Configure Security groups.

Her mÄ vi konfigurere tilgang til portene for Minecraft-serveren.
Enkelt sagt er en port et ikke-negativt tall som angir hvem som skal motta innkommende data fra den ytre verden. PÄ VM kan det vÊre mange forskjellige tjenester og servere, sÄ alle innkommende datapakker lagrer portnummeret (mottakerens nummer) i overskriften sin (tjeneste, server) inne i VM.
For Minecraft-servere er det de facto-standard Ă„ bruke porten 25565. La oss legge til en regel som angir at tilgang til din VM gjennom denne porten er tillatt.


Vi gÄr til vinduet for Ä fullfÞre opprettelsen av VM ved Ä klikke pÄ knappen Review and Launch
Konfigurering av SSH-nĂžkkelpar for VM
SĂ„ tilkoblingen til maskinen vil bli utfĂžrt via SSH-protokollen.
SSH-protokollen fungerer som fÞlger: et nÞkkelpar genereres (offentlig og privat), den offentlige nÞkkelen lagres pÄ VM, mens den private nÞkkelen lagres pÄ datamaskinen til personen som kobler til VM (klienten). Ved tilkobling kontrollerer VM om passende privat nÞkkel finnes hos klienten.
Klikk pÄ knappen Launch. Du vil se fÞlgende vindu:

Skriv inn navnet pÄ nÞkkelparet (for din bekvemmelighet) og trykk pÄ Download key pair. Du burde laste ned en .pem fil som inneholder din private nÞkkel. Trykk pÄ knappen Launch instances. Du har nettopp opprettet en virtuell maskin hvor serveren vil bli opprettet.
FĂ„ en statisk IP
NÄ mÄ vi fÄ og knytte en statisk IP til vÄr VM. For dette finner vi fanen Elastic IPs og gÄr til den. I fanen klikker vi pÄ knappen Allocate Elastic IP address og fÄr en statisk IP.

NÄ mÄ den oppnÄdde IP-adressen knyttes til vÄr VM. For dette velger vi den fra listen og i menyen Actions velger vi Associate IP address

Deretter knytter vi VM til vÄr IP-adresse.

Ferdig!
Vi gÄr inn pÄ VM
NÄ som VM er konfigurert og IP-adressen er knyttet, kobler vi til den og installerer vÄr Minecraft-server.
For Ä koble til VM via SSH bruker vi programmet . Installer PuTTYgen fra denne siden ogsÄ
Etter Ä ha installert PuTTY, Äpner du det. NÄ mÄ vi konfigurere tilkoblingen.

- In the tab Session velg tilkoblingstype SSH, port 22. Angi et navn for tilkoblingen. Vertsnavnet for SSH-tilkoblingen er en streng som ser ut som:
brukernavn@offentlig_dns.
Brukernavnet i AWS for CentOS som standard er centos. Din offentlige DNS kan sees her:

Jegendte fikk strengen centos@ec2-54-246-186-12.eu-west-1.compute.amazonaws.com
- In the tab SSH -> Auth angi din private SSH-nĂžkkel. Den lagres i filen
.pem, som vi lastet ned tidligere. Men PuTTY kan ikke arbeide med filer.pem, den trenger et format.ppk. For konvertering bruker vi PuTTYgen. . Den resulterende filen.ppkLagrer vi og angir her:

- Vi kobler til VM'en ved Ă„ Ă„pne tilkoblingen med knappen Ă
pne.
Gratulerer! Vi har nettopp koblet til konsollen pÄ VM'en din. Det gjenstÄr bare Ä sette opp serveren vÄr.
Installasjon og konfigurasjon av minecraft-server
La oss begynne Ä sette opp serveren vÄr. FÞrst mÄ vi installere noen pakker pÄ VM'en vÄr.
sudo yum install -y wget mc iptables iptables-services java screenLa oss se nÊrmere pÄ hva hver av pakkene er til for.
- . Versjonene av ICU er ikke vesentlige. â et verktĂžy for Ă„ laste ned filer i linux. Med den vil vi laste ned serverfiler.
- mc â en konsoll-basert tekstredigerer. Den er enkel og brukervennlig for uerfarne brukere.
- iptables â et verktĂžy for Ă„ administrere og konfigurere brannmur; vi vil bruke den til Ă„ Ă„pne porten for serveren pĂ„ VM'en vĂ„r.
- java â Minecraft kjĂžrer pĂ„ Java, sĂ„ det er nĂždvendig for serveren Ă„ fungere
- screen â en vindusbehandler for linux. Den lar oss duplisere konsollen for Ă„ starte serveren. Faktisk mĂ„ serveren kjĂžres via konsollen; hvis du kobler fra VM'en din, vil serverprosessen bli stoppet. Derfor vil vi starte den i et eget konsollvindu.
La oss nÄ konfigurere brannmuren.
Brannmur (firewall) er et programvare- eller programvare-hardware-element i datanettverket som utfĂžrer kontroll og filtrering av nettverkstrafikk som passerer gjennom det, i samsvar med gitte regler. (Wikipedia)
For Ä forklare det pÄ en enkel mÄte: Tenk deg en festning. Den blir hele tiden angrepet utenfra, mens livet i byen gÄr sin gang. For Ä komme inn i byen er det porter i festningsmurene, der vaktene stÄr og sjekker opp pÄ listene for Ä se om personen kan slippes inn i festningen. Rollen til muren og portene i datanettverk utfÞres av brannmuren.
sudo mcedit /etc/sysconfig/iptablesAkkurat nÄ har vi opprettet konfigurasjonsfilen for brannmuren. La oss fylle den med standard konfigurasjonsdata, inkludert regelen 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
COMMITLukk filen med ett klikk F10, og lagre endringene.

NĂ„ skal vi starte brannmuren og aktivere den for oppstart:
sudo systemctl enable iptables
sudo systemctl restart iptablesVi vil lagre serverfilene i en egen mappe; la oss opprette den, navigere til den og laste ned serverfilene. For dette skal vi bruke . Versjonene av ICU er ikke vesentlige.
mkdir minecraft
cd minecraft
wgetDu mÄ finne den direkte linken for nedlastingen .jar serverfilen. For eksempel, linken til serverfilen for versjon 1.15.2:
wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jarSjekk innholdet i mappen ved hjelp av kommandoen ls, og forsikre deg om at filene er lastet ned.

La oss starte serverfilen. Akkurat nÄ vil serveren ikke vÊre aktiv: den vil opprette alle nÞdvendige filer for drift, og klage pÄ at du ikke har godtatt EULA-lisensbetingelsene. La oss akseptere betingelsene ved Ä Äpne filen eula.txt
sudo mcedit eula.txtBekreft samtykke ved Ă„ endre posten til:
eula=trueĂ
pne filen server.properties: dette er konfigurasjonsfilen for serveren din.
Det mÄ gjÞres fÞlgende endring:
online-mode=falseDe andre innstillingene er opp til deg.
Starte serveren
Det er pÄ tide Ä starte serveren. Som jeg sa, serveren starter direkte fra konsollen, men hvis vi lukker den hovedkonsollen, vil serverprosessen bli stoppet. SÄ la oss opprette en ny konsoll:
screenI denne konsollen vil vi starte serveren:
sudo java -Xms512M -Xmx1024M -jar .jar --noguiServeren starter omtrent 45 sekunder, ikke avbryt prosessen. NÄr serveren er inicialisert og startet, vil du se noe som dette:

Gratulerer! Du har nettopp opprettet og startet din minecraft-server. NÄ er det viktig Ä forlate den andre konsollen pÄ riktig mÄte, slik at den fortsetter Ä kjÞre med den aktive serveren. For Ä gjÞre dette, trykk Ctrl+A, deretter D. Du bÞr vÊre tilbake i hovedkonsollen og se en melding som ligner pÄ [detached from 1551.pts-0.ip-172-31-37-146]. Hvis du trenger Ä gÄ tilbake til konsollen som kjÞrer serveren, bruker du screen -r
NÄ kan du koble fra din VM. Serveren din vil vÊre tilgjengelig pÄ den statiske IP-adressen som vi fikk tidligere, pÄ port 25565.

SÄ, adressen for Ä logge inn pÄ serveren blir :25565.
Konklusjon
Med denne veiledningen kan du enkelt sette opp en gratis Minecraft-server med dedikert IP. Artikkelen er skrevet pÄ et enkelt sprÄk og er rettet mot ikke-spesialister. Derfor er det interessant Ä hÞre kommentarer fra eksperter, da forenkling av materialet kan fÞre til faktiske feil i terminologien.
Kilde: habr.com
