Libreng minecraft server sa AWS na walang kaalaman sa Linux

Hello, Habr! Mas tiyak, mga manloloko na naghahanap kung paano mag-set up ng isang minecraft server para makipaglaro sa mga kaibigan.

Ang artikulo ay inilaan para sa mga hindi programmer, hindi sysadmin, sa pangkalahatan, hindi para sa pangunahing madla ni Habr. Ang artikulo ay naglalaman ng sunud-sunod na mga tagubilin para sa paggawa ng minecraft server na may nakalaang IP, na inangkop para sa mga taong malayo sa IT. Kung hindi ito tungkol sa iyo, mas mabuting laktawan ang artikulo.

Ano ang isang server?

Kaya ano ang isang server? Kung umaasa tayo sa konsepto ng "server" bilang bahagi ng software, kung gayon ang server ay isang program na maaaring tumanggap, magproseso at magpadala ng data na natanggap mula sa mga user (kliyente) na nakakonekta sa server na ito. Gamit ang site bilang isang halimbawa, ang site ay matatagpuan sa ilang web server, na ina-access mo sa pamamagitan ng isang browser. Sa aming kaso, ang server ng minecraft ay bumubuo ng isang mundo kung saan kumokonekta ang mga manlalaro (mga kliyente), na maaaring maglakad, makabasag ng mga bloke, atbp. Ang server ng minecraft ay responsable para sa pagkonekta ng mga manlalaro at anuman sa kanilang mga aksyon.

Malinaw, ang server ay dapat na tumatakbo sa computer (machine). Maaari kang mag-set up ng server sa iyong computer sa bahay, ngunit sa kasong ito:

  • Ilalagay mo sa panganib ang seguridad ng iyong sariling computer sa pamamagitan ng pagbubukas ng mga port dito
  • Ang server ay maglalagay ng load sa iyong computer, na maaaring makagambala sa iyong trabaho dito
  • Hindi mo maaaring panatilihing gumagana ang iyong computer sa bahay nang 24/7: minsan pinapatay mo ito, minsan nawawalan ng koneksyon sa internet ang iyong computer, atbp.
  • Upang ma-access ang iyong server mula sa labas ng mundo, kakailanganin mong i-access ang iyong computer sa pamamagitan ng IP address, na para sa "bahay" na mga provider ng Internet ay pabago-bago, ibig sabihin, maaari itong magbago bawat 2-3 araw para sa mga kadahilanang hindi mo kontrolado.

At paano natin malulutas ang mga problemang ito?

Ang solusyon sa lahat ng problemang ito ay ang paggamit virtual machine may static, iyon ay, isang hindi nababagong IP address.

Masalimuot na terminolohiya? Alamin natin ito.
Lumiko tayo sa Wikipedia.

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина (VM, ΠΎΡ‚ Π°Π½Π³Π». virtual machine) β€” программная ΠΈ/ΠΈΠ»ΠΈ аппаратная систСма, ΡΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹...

Upang ilagay ito sa napakagandang termino, ito ay isang computer sa loob ng isang computer. Maaari ka ring mag-install ng operating system dito at magtrabaho kasama nito tulad ng sa isang regular na computer.

Saan natin ito makukuha?

Ang sagot ay simple - AWS. Ito ay isang platform na nagbibigay ng maraming iba't ibang mga serbisyo sa cloud na kapaki-pakinabang para sa lahat na nagtatrabaho sa web at hindi lamang. Para gumawa ng minecraft server, perpekto ang isa sa mga produkto ng AWS - Amazon EC2 β€” isang cloud virtual machine na available 24/7. Nag-aalok ang AWS ng pinakamababang virtual machine (10GB SSD, 1GB RAM) libre sa isang taon, bilang karagdagan, ginagawang posible na mag-bind ng isang libreng dedikadong (static) IP address para sa permanenteng pag-access sa iyong VM (virtual machine) sa parehong address.

Gumagawa at nag-configure kami ng VM

Pumunta sa website AWS at magparehistro. Pagkatapos ay pumunta sa management console.

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Sa console, sa mga serbisyo, hanapin EC2 at pumunta dito.

Mahalagang pumili ng isang data center, sa madaling salita, ang lugar kung saan matatagpuan ang mga server ng Amazon. Dapat kang pumili depende sa iyong lokasyon, dahil ang bilis ng komunikasyon sa Internet ay nag-iiba, at dapat kang pumili ng isang data center kung saan ang komunikasyon mula sa iyong lungsod ay magiging mas mabilis hangga't maaari.

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Para pumili ng data center, inirerekomenda ko ang paggamit ng serbisyo WonderNetwork, na sumusukat sa bilis ng paghahatid ng mga packet sa ibang mga lungsod.
Sa aking kaso (Moscow), ang Irish data center ay nababagay sa akin.

Panahon na upang lumikha ng isang virtual machine. Upang gawin ito, pumunta sa tab Halimbawa ng paglunsad

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Simulan natin ang pag-configure ng VM.

1) Piliin ang imahe ng operating system. Ang Linux ay napaka-maginhawa para sa pagpapalaki ng mga server; gagamitin namin ang distribution kit CentOS7

Dapat tandaan na walang graphical na kapaligiran sa iyong virtual machine; ang pag-access sa makina ay sa pamamagitan ng console. Kabilang dito ang pagkontrol sa VM gamit ang mga command sa halip na isang computer mouse. Huwag matakot dito: hindi ka nito dapat pigilan ngayon o isuko ang ideya ng pagpapalaki ng sarili mong minecraft server dahil ito ay "napakahirap." Ang pagtatrabaho sa makina sa pamamagitan ng console ay hindi mahirap - makikita mo sa lalong madaling panahon para sa iyong sarili.

Libreng minecraft server sa AWS na walang kaalaman sa Linux

2) Ngayon, tukuyin natin ang teknikal na pagsasaayos ng VM. Para sa libreng paggamit, nag-aalok ang Amazon ng pagsasaayos t2.micro, hindi sapat para sa isang ganap na malaking server ng minecraft, ngunit sapat na upang makipaglaro sa mga kaibigan.

Libreng minecraft server sa AWS na walang kaalaman sa Linux

3) Iwanan ang natitirang mga setting bilang default, ngunit huminto sa tab I-configure ang mga pangkat ng Seguridad.

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Dito kailangan nating i-configure ang access sa mga port para sa minecraft server.

Sa madaling salita, ang port ay isang hindi negatibong numero na nagsasaad kung kanino tinutugunan ang papasok na data mula sa labas ng mundo. Ang isang VM ay maaaring mag-host ng maraming iba't ibang mga serbisyo at server, kaya lahat ng mga papasok na data packet ay nag-iimbak ng port (numero) ng destinasyon (serbisyo, server) sa loob ng VM sa kanilang header.

Para sa mga server ng minecraft, ang de facto na pamantayan ay ang paggamit ng port 25565. Magdagdag tayo ng panuntunang nagsasaad na ang pag-access sa iyong VM sa pamamagitan ng port na ito ay katanggap-tanggap.

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Pumunta kami sa window para sa pagkumpleto ng paglikha ng VM sa pamamagitan ng pag-click sa pindutan Suriin at Ilunsad

Pagse-set up ng isang pares ng SSH key para sa isang VM

Kaya, ang koneksyon sa makina ay isasagawa gamit ang SSH protocol.

Ang SSH protocol ay gumagana tulad ng sumusunod: isang pares ng mga susi (pampubliko at pribado) ay nabuo, ang pampublikong susi ay naka-imbak sa VM, at ang pribadong key ay naka-imbak sa computer ng taong kumokonekta sa VM (kliyente). Kapag kumokonekta, tinitingnan ng VM na ang kliyente ay may angkop na pribadong key.

I-click ang pindutan Ilunsad. Ang sumusunod na window ay lilitaw sa harap mo:

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Ilagay ang pangalan ng key pair (para sa iyong kaginhawahan) at i-click I-download ang key pair. Dapat mong i-download .pem isang file na naglalaman ng iyong pribadong key. I-click ang button Ilunsad ang mga pagkakataon. Kakagawa mo lang ng virtual machine kung saan mai-install ang server.

Pagkuha ng static na IP

Ngayon kailangan naming kumuha at magbigkis ng isang static na IP sa aming VM. Para sa menu na ito makikita namin ang tab Mga nababanat na IP at gumagalaw kami dito. Sa tab, i-click ang button Maglaan ng Elastic IP address at kumuha ng static na IP.

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Ngayon ang natanggap na IP address ay dapat na nauugnay sa aming VM. Upang gawin ito, piliin ito mula sa listahan at sa menu Aksyon pumili Iugnay ang IP address

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Susunod, isasama namin ang VM sa aming IP address

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Tapos na!

Pumunta kami sa VM

Ngayon na ang VM ay na-configure at ang IP address ay itinalaga, kumonekta tayo dito at i-install ang aming minecraft server.

Para kumonekta sa VM sa pamamagitan ng SSH gagamitin namin ang program PuTTY. I-install kaagad ang PuTTYgen mula sa pahinang ito

Pagkatapos i-install ang PuTTY, buksan ito. Ngayon ay kailangan mong i-configure ang koneksyon.

Libreng minecraft server sa AWS na walang kaalaman sa Linux

  1. Sa tab sesyon piliin ang uri ng koneksyon SSH, daungan 22. Tukuyin ang isang pangalan para sa koneksyon. Ang pangalan ng host para sa pagkonekta sa pamamagitan ng SSH ay isang string tulad ng: имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ@ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ_dns.

Ang default na username sa AWS para sa CentOS ay centos. Maaaring tingnan ang iyong pampublikong DNS dito:

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Nakuha ko ang linya [email protected]

  1. Sa tab SSH -> Awth ilagay ang iyong pribadong SSH key. Ito ay naka-imbak sa isang file .pem, na na-download namin kanina. Ngunit ang PuTTY ay hindi maaaring gumana sa mga file .pem, kailangan niya ng format .ppk. Para sa conversion gagamitin namin ang PuTTYgen. Mga tagubilin sa conversion mula sa website ng PuTTYgen. Natanggap na file .ppk I-save natin at ipahiwatig dito:

Libreng minecraft server sa AWS na walang kaalaman sa Linux

  1. Kumonekta kami sa VM sa pamamagitan ng pagbubukas ng koneksyon gamit ang button Pagbubukas.
    Binabati kita! Kakakonekta lang namin sa console ng iyong VM. Ang natitira na lang ay i-install ang aming server dito.

Pag-install at pag-configure ng isang minecraft server

Simulan natin ang pag-set up ng ating server. Una, kailangan naming mag-install ng ilang mga pakete sa aming VM.

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

Alamin natin kung para saan ang bawat isa sa mga pakete.

  • wget - isang utility para sa pag-download ng mga file sa Linux. Gamit ito, ida-download namin ang mga file ng server.
  • mc - editor ng teksto ng console. Ito ay simple at madaling gamitin para sa isang hindi sanay na gumagamit.
  • iptables β€” isang utility para sa pamamahala at pag-configure ng firewall, sa tulong nito magbubukas kami ng port para sa server sa aming VM.
  • Dyaba β€” tumatakbo ang minecraft sa java, kaya kinakailangan para gumana ang server
  • tabing - window manager para sa Linux. Ito ay magbibigay-daan sa amin na i-duplicate ang aming console upang itaas ang server. Ang katotohanan ay ang server ay dapat na ilunsad sa pamamagitan ng console; kung idiskonekta mo mula sa iyong VM, ang proseso ng server ay ititigil. Samakatuwid, patakbuhin namin ito sa isang hiwalay na console window.

Ngayon ay i-configure natin ang firewall.

Ang firewall ay isang software o hardware-software na elemento ng isang computer network na kumokontrol at nagsasala ng trapiko sa network na dumadaan dito alinsunod sa mga tinukoy na panuntunan. (Wikipedia)

Upang ipaliwanag sa mga simpleng salita: isipin ang isang pinatibay na lungsod. Siya ay patuloy na inaatake mula sa labas, habang ang normal na buhay ay nagpapatuloy sa lungsod. Upang ma-access ang lungsod, mayroong isang gate sa dingding ng kuta, kung saan nakatayo ang mga guwardiya at tinitingnan mula sa mga listahan kung ang taong ito ay maaaring payagan na makapasok sa kuta. Ang papel ng isang pader at gate sa mga network ng computer ay ginagampanan ng isang firewall.

sudo mcedit /etc/sysconfig/iptables

Kakagawa lang namin ng file ng pagsasaayos ng firewall. Punan natin ito ng karaniwang data ng configuration, kabilang ang isang panuntunan para sa port 25565, na siyang karaniwang port para sa minecraft server.

*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

Isara ang file sa pamamagitan ng pagpindot F10, sine-save ang mga pagbabago.

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Ngayon, ilunsad natin ang firewall at paganahin ito sa pagsisimula:

sudo systemctl enable iptables
sudo systemctl restart iptables

Iimbak namin ang mga file ng server sa isang hiwalay na folder, likhain ito, pumunta dito at i-download ang mga file ng server. Upang gawin ito dapat mong gamitin wget

mkdir minecraft
cd minecraft
wget <ссылка_Π½Π°_jar>

Kailangang hanapin direktang link para sa pag-download .jar file ng server. Halimbawa, mag-link sa bersyon 1.15.2 ng server file:

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

Tingnan ang mga nilalaman ng isang folder gamit ang command ls, tiyaking na-download ang mga file.

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Ilunsad natin ang server file. Ngayon ang server ay hindi gagana: lilikha ito ng lahat ng mga file na kinakailangan para sa trabaho, at magrereklamo na hindi ka sumang-ayon sa mga tuntunin ng lisensya ng EULA. Tanggapin ang mga tuntunin sa pamamagitan ng pagbubukas ng file eula.txt

sudo mcedit eula.txt

Kumpirmahin ang iyong kasunduan sa pamamagitan ng pagpapalit ng entry sa:

eula=true

Buksan ang file server.properties: Ito ang file ng configuration ng iyong server. Higit pa tungkol sa mga setting ng server

Ang sumusunod na pagbabago ay dapat gawin dito:

online-mode=false

Ang natitirang mga setting ay nasa iyong paghuhusga.

Pagsisimula ng server

Oras na para simulan ang server. Tulad ng sinabi ko na, ang server ay nagsisimula nang direkta mula sa console, ngunit kung isasara natin ang pangunahing console, ang proseso ng server ay hihinto. Samakatuwid, gumawa tayo ng isa pang console:

screen

Simulan natin ang server sa console na ito:

 sudo java -Xms512M -Xmx1024M -jar <Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Ρ„Π°ΠΉΠ»Π°_сСрвСра>.jar --nogui

Magsisimula ang server sa mga 45 segundo, huwag matakpan ang proseso. Kapag ang server ay nasimulan at tumatakbo, makikita mo ang isang bagay tulad ng:

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Binabati kita! Nagawa mo na ang iyong minecraft server at tumatakbo. Ngayon ay mahalaga na tama na lumabas sa pangalawang console upang patuloy itong gumana sa tumatakbong server. Upang gawin ito, i-click Ctrl+Apagkatapos D. Dapat ay nasa pangunahing console ka at makakita ng mensahe tulad ng [detached from 1551.pts-0.ip-172-31-37-146]. Kung kailangan mong bumalik sa console kung saan tumatakbo ang server, gamitin screen -r

Maaari ka na ngayong magdiskonekta sa iyong VM. Maa-access ang iyong server sa pamamagitan ng static na IP address na natanggap namin kanina, sa port 25565.

Libreng minecraft server sa AWS na walang kaalaman sa Linux

Ito ay lumiliko na ang address para sa pagpasok sa server ay magiging <ваш_статичСский_IP>:25565.

Konklusyon

Gamit ang mga tagubiling ito, madali kang makakapag-set up ng isang libreng minecraft server na may nakalaang IP. Ang artikulo ay isinulat sa pinakasimpleng posibleng wika at inilaan para sa mga di-espesyalista. Sa pagsasaalang-alang na ito, ito ay kagiliw-giliw na marinig ang mga komento ng mga taong abala, dahil kapag pinasimple ang materyal, ang mga pagkakamali sa katotohanan sa terminolohiya ay maaaring gawin.

Pinagmulan: www.habr.com

Magdagdag ng komento