สวัสดีฮับ! แม่นยำยิ่งขึ้นคือมิจฉาชีพที่กำลังมองหาวิธีตั้งค่าเซิร์ฟเวอร์ minecraft เพื่อเล่นกับเพื่อน ๆ
บทความนี้มีไว้สำหรับผู้ที่ไม่ใช่โปรแกรมเมอร์ ไม่ใช่ผู้ดูแลระบบ โดยทั่วไป ไม่ใช่สำหรับผู้ชมหลักของ Habr บทความนี้ประกอบด้วยคำแนะนำทีละขั้นตอนสำหรับการสร้างเซิร์ฟเวอร์ Minecraft ที่มี IP เฉพาะซึ่งปรับให้เหมาะกับผู้ที่อยู่ห่างไกลจากไอที หากไม่เกี่ยวกับคุณ ข้ามบทความนี้ไปดีกว่า
เซิร์ฟเวอร์คืออะไร?
แล้วเซิร์ฟเวอร์คืออะไร? หากเราอาศัยแนวคิดของ "เซิร์ฟเวอร์" เป็นส่วนประกอบซอฟต์แวร์ เซิร์ฟเวอร์ก็คือโปรแกรมที่สามารถรับ ประมวลผล และส่งข้อมูลที่ได้รับจากผู้ใช้ (ไคลเอนต์) ที่เชื่อมต่อกับเซิร์ฟเวอร์นี้ การใช้ไซต์เป็นตัวอย่าง ไซต์นั้นอยู่บนเว็บเซิร์ฟเวอร์บางแห่ง ซึ่งคุณเข้าถึงผ่านเบราว์เซอร์ ในกรณีของเรา เซิร์ฟเวอร์ minecraft จะสร้างโลกที่ผู้เล่น (ลูกค้า) เชื่อมต่อกัน ใครสามารถเดิน ทำลายบล็อก ฯลฯ เซิร์ฟเวอร์ Minecraft มีหน้าที่รับผิดชอบในการเชื่อมต่อผู้เล่นและการกระทำใด ๆ ของพวกเขา
แน่นอนว่าเซิร์ฟเวอร์จะต้องทำงานบนคอมพิวเตอร์ (เครื่อง) คุณสามารถตั้งค่าเซิร์ฟเวอร์บนคอมพิวเตอร์ที่บ้านได้ แต่ในกรณีนี้:
- คุณเป็นอันตรายต่อความปลอดภัยของคอมพิวเตอร์ของคุณเองโดยการเปิดพอร์ตบนเครื่อง
- เซิร์ฟเวอร์จะสร้างภาระให้กับคอมพิวเตอร์ของคุณซึ่งอาจรบกวนการทำงานของคุณ
- คุณไม่สามารถให้คอมพิวเตอร์ที่บ้านทำงานตลอด 24 ชั่วโมงทุกวันได้: บางครั้งคุณปิดเครื่อง บางครั้งคอมพิวเตอร์ของคุณขาดการเชื่อมต่ออินเทอร์เน็ต เป็นต้น
- ในการเข้าถึงเซิร์ฟเวอร์ของคุณจากโลกภายนอก คุณจะต้องเข้าถึงคอมพิวเตอร์ของคุณผ่านทาง ที่อยู่ IPซึ่งสำหรับ “บ้าน” ผู้ให้บริการอินเตอร์เน็ตนั้น พลวัตกล่าวคือสามารถเปลี่ยนแปลงได้ทุกๆ 2-3 วันด้วยเหตุผลที่อยู่นอกเหนือการควบคุมของคุณ
และเราจะแก้ไขปัญหาเหล่านี้ได้อย่างไร?
วิธีแก้ไขปัญหาเหล่านี้คือการใช้ เครื่องเสมือน ด้วย คงที่นั่นคือที่อยู่ IP ที่ไม่สามารถเปลี่ยนแปลงได้
คำศัพท์ที่ซับซ้อน? ลองคิดดูสิ
ลองหันไปหาวิกิพีเดีย
Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы...
หากจะกล่าวอย่างหยาบๆ ก็คือคอมพิวเตอร์ที่อยู่ในเครื่องคอมพิวเตอร์ คุณยังสามารถติดตั้งระบบปฏิบัติการและใช้งานได้เหมือนกับคอมพิวเตอร์ทั่วไป
เราจะหามันได้ที่ไหน?
คำตอบนั้นง่าย -
เราสร้างและกำหนดค่า VM
ไปที่เว็บไซต์
ในคอนโซล ค้นหาบริการต่างๆ EC2 และไปที่มัน
สิ่งสำคัญคือต้องเลือกศูนย์ข้อมูลพูดง่ายๆ คือสถานที่ที่เซิร์ฟเวอร์ของ Amazon ตั้งอยู่ คุณควรเลือกขึ้นอยู่กับตำแหน่งของคุณ เนื่องจากความเร็วของการสื่อสารบนอินเทอร์เน็ตแตกต่างกันไป และคุณควรเลือกศูนย์ข้อมูลที่การสื่อสารจากเมืองของคุณจะเร็วที่สุด
ในการเลือกศูนย์ข้อมูลผมขอแนะนำให้ใช้บริการ
ในกรณีของฉัน (มอสโก) ศูนย์ข้อมูลของไอร์แลนด์เหมาะกับฉัน
ถึงเวลาสร้างเครื่องเสมือนแล้ว โดยไปที่แท็บ เรียกใช้อินสแตนซ์
มาเริ่มกำหนดค่า VM กัน
1) เลือกอิมเมจระบบปฏิบัติการ Linux สะดวกมากในการเพิ่มเซิร์ฟเวอร์ เราจะใช้ชุดการแจกจ่าย CentOS7
ควรสังเกตว่าจะไม่มีสภาพแวดล้อมแบบกราฟิกบนเครื่องเสมือนของคุณ การเข้าถึงเครื่องจะกระทำผ่านคอนโซล มันเกี่ยวข้องกับการควบคุม VM โดยใช้คำสั่งแทนเมาส์คอมพิวเตอร์ อย่ากลัวสิ่งนี้: สิ่งนี้ไม่ควรหยุดคุณในตอนนี้หรือล้มเลิกความคิดในการเพิ่มเซิร์ฟเวอร์ minecraft ของคุณเองเพราะมัน "ยากเกินไป" การทำงานกับเครื่องผ่านคอนโซลไม่ใช่เรื่องยาก - คุณจะเห็นด้วยตัวคุณเองในไม่ช้า
2) ตอนนี้เรามากำหนดการกำหนดค่าทางเทคนิคของ VM กันดีกว่า Amazon มีการกำหนดค่าให้ใช้งานฟรี t2.microไม่เพียงพอสำหรับเซิร์ฟเวอร์ Minecraft ขนาดใหญ่ แต่เพียงพอที่จะเล่นกับเพื่อน ๆ
3) ปล่อยให้การตั้งค่าที่เหลือเป็นค่าเริ่มต้น แต่หยุดที่แท็บ กำหนดค่ากลุ่มความปลอดภัย.
ที่นี่เราจำเป็นต้องกำหนดค่าการเข้าถึงพอร์ตสำหรับเซิร์ฟเวอร์ minecraft
กล่าวง่ายๆ ก็คือ พอร์ตคือตัวเลขที่ไม่เป็นลบซึ่งบ่งชี้ว่าข้อมูลขาเข้าจากโลกภายนอกถูกส่งไปยังใคร VM สามารถโฮสต์บริการและเซิร์ฟเวอร์ต่างๆ ได้มากมาย ดังนั้นแพ็กเก็ตข้อมูลที่เข้ามาทั้งหมดจะจัดเก็บพอร์ต (หมายเลข) ของปลายทาง (บริการ เซิร์ฟเวอร์) ภายใน VM ไว้ในส่วนหัว
สำหรับเซิร์ฟเวอร์ Minecraft มาตรฐานโดยพฤตินัยคือการใช้พอร์ต 25565. มาเพิ่มกฎที่ระบุว่าการเข้าถึง VM ของคุณผ่านพอร์ตนี้เป็นที่ยอมรับ
ไปที่หน้าต่างเพื่อสร้าง VM ให้เสร็จสิ้นโดยคลิกที่ปุ่ม ตรวจสอบและเปิดตัว
การตั้งค่าคู่คีย์ SSH สำหรับ VM
ดังนั้นการเชื่อมต่อกับเครื่องจะดำเนินการโดยใช้โปรโตคอล SSH
โปรโตคอล SSH ทำงานดังนี้: คู่คีย์ (สาธารณะและส่วนตัว) ถูกสร้างขึ้น คีย์สาธารณะจะถูกจัดเก็บไว้ใน VM และคีย์ส่วนตัวจะถูกจัดเก็บไว้ในคอมพิวเตอร์ของบุคคลที่เชื่อมต่อกับ VM (ไคลเอ็นต์) เมื่อทำการเชื่อมต่อ VM จะตรวจสอบว่าไคลเอนต์มีรหัสส่วนตัวที่เหมาะสมหรือไม่
คลิกที่ปุ่ม ยิง. หน้าต่างต่อไปนี้จะปรากฏขึ้นตรงหน้าคุณ:
กรอกชื่อคู่กุญแจ (เพื่อความสะดวกของคุณ) แล้วคลิก ดาวน์โหลดคู่คีย์. คุณควรดาวน์โหลด .pem ไฟล์ที่มีรหัสส่วนตัวของคุณ คลิกปุ่ม เรียกใช้อินสแตนซ์. คุณเพิ่งสร้างเครื่องเสมือนที่จะติดตั้งเซิร์ฟเวอร์
รับ IP แบบคงที่
ตอนนี้เราจำเป็นต้องรับและผูก IP แบบคงที่กับ VM ของเรา สำหรับเมนูนี้เราจะพบแท็บ IP ที่ยืดหยุ่น และเราก็ก้าวไปตามนั้น บนแท็บ ให้คลิกปุ่ม จัดสรรที่อยู่ IP แบบยืดหยุ่น และรับ IP แบบคงที่
ตอนนี้ที่อยู่ IP ที่ได้รับจะต้องเชื่อมโยงกับ VM ของเรา โดยเลือกจากรายการและในเมนู สถานะ เลือก ที่อยู่ IP ที่เกี่ยวข้อง
ต่อไป เราจะผูก VM กับที่อยู่ IP ของเรา
Done!
เราไปที่ VM
เมื่อกำหนดค่า VM และกำหนดที่อยู่ IP แล้ว ให้เชื่อมต่อและติดตั้งเซิร์ฟเวอร์ minecraft ของเรา
ในการเชื่อมต่อกับ VM ผ่าน SSH เราจะใช้โปรแกรม
หลังจากติดตั้ง PuTTY แล้ว ให้เปิดมัน ตอนนี้คุณต้องกำหนดค่าการเชื่อมต่อ
- ในแท็บ เซสชั่น เลือกประเภทการเชื่อมต่อ SSH, ท่าเรือ 22. ระบุชื่อสำหรับการเชื่อมต่อ ชื่อโฮสต์สำหรับการเชื่อมต่อผ่าน SSH เป็นสตริงดังนี้:
имя_пользователя@публичный_dns
.
ชื่อผู้ใช้เริ่มต้นใน AWS สำหรับ CentOS คือ CentOS. คุณสามารถดู DNS สาธารณะของคุณได้ที่นี่:
ฉันได้รับสาย [email protected]
- ในแท็บ SSH -> การตรวจสอบสิทธิ์ ป้อนคีย์ SSH ส่วนตัวของคุณ มันถูกเก็บไว้ในไฟล์
.pem
ซึ่งเราดาวน์โหลดมาก่อนหน้านี้ แต่ PuTTY ไม่สามารถทำงานกับไฟล์ได้.pem
เขาต้องการรูปแบบ.ppk
. สำหรับการแปลงเราจะใช้ PuTTYgenคำแนะนำการแปลงจากเว็บไซต์ PuTTYgen . ได้รับไฟล์.ppk
มาบันทึกและระบุที่นี่:
- เราเชื่อมต่อกับ VM โดยเปิดการเชื่อมต่อด้วยปุ่ม จุดเปิด.
ยินดีด้วย! เราเพิ่งเชื่อมต่อกับคอนโซลของ VM ของคุณ สิ่งที่เหลืออยู่คือการติดตั้งเซิร์ฟเวอร์ของเรา
การติดตั้งและกำหนดค่าเซิร์ฟเวอร์ minecraft
มาเริ่มตั้งค่าเซิร์ฟเวอร์ของเรากันดีกว่า ขั้นแรก เราต้องติดตั้งแพ็คเกจต่างๆ บน VM ของเรา
sudo yum install -y wget mc iptables iptables-services java screen
มาดูกันว่าแต่ละแพ็คเกจมีไว้เพื่ออะไร
- wget - ยูทิลิตี้สำหรับการดาวน์โหลดไฟล์ใน Linux ใช้มันเราจะดาวน์โหลดไฟล์เซิร์ฟเวอร์
- mc - โปรแกรมแก้ไขข้อความคอนโซล มันง่ายและใช้งานง่ายสำหรับผู้ใช้ที่ไม่ผ่านการฝึกอบรม
- iptables — ยูทิลิตี้สำหรับจัดการและกำหนดค่าไฟร์วอลล์โดยเราจะเปิดพอร์ตสำหรับเซิร์ฟเวอร์บน VM ของเรา
- ชวา — minecraft ทำงานบน java ดังนั้นจึงจำเป็นสำหรับเซิร์ฟเวอร์ในการทำงาน
- จอภาพ - ตัวจัดการหน้าต่างสำหรับ Linux มันจะช่วยให้เราทำซ้ำคอนโซลของเราเพื่อยกระดับเซิร์ฟเวอร์ ความจริงก็คือเซิร์ฟเวอร์จะต้องเปิดใช้งานผ่านคอนโซล หากคุณตัดการเชื่อมต่อจาก VM กระบวนการเซิร์ฟเวอร์จะหยุดลง ดังนั้นเราจะเรียกใช้งานในหน้าต่างคอนโซลแยกต่างหาก
ตอนนี้เรามากำหนดค่าไฟร์วอลล์กัน
ไฟร์วอลล์คือซอฟต์แวร์หรือองค์ประกอบซอฟต์แวร์ฮาร์ดแวร์ของเครือข่ายคอมพิวเตอร์ที่ควบคุมและกรองการรับส่งข้อมูลเครือข่ายที่ส่งผ่านเครือข่ายนั้นตามกฎที่ระบุ (วิกิพีเดีย)
อธิบายง่ายๆ ให้ลองจินตนาการถึงเมืองที่มีป้อมปราการ เขาถูกโจมตีจากภายนอกอย่างต่อเนื่อง ในขณะที่ชีวิตในเมืองก็ดำเนินไปตามปกติ ในการเข้าถึงเมือง มีประตูที่ผนังป้อมปราการ ซึ่งเจ้าหน้าที่จะยืนและตรวจสอบจากรายการว่าบุคคลนี้ได้รับอนุญาตให้เข้าไปในป้อมปราการได้หรือไม่ บทบาทของกำแพงและประตูในเครือข่ายคอมพิวเตอร์นั้นดำเนินการโดยไฟร์วอลล์
sudo mcedit /etc/sysconfig/iptables
เราเพิ่งสร้างไฟล์กำหนดค่าไฟร์วอลล์ มาเติมข้อมูลการกำหนดค่ามาตรฐาน รวมถึงกฎสำหรับพอร์ตกัน 25565ซึ่งเป็นพอร์ตมาตรฐานสำหรับเซิร์ฟเวอร์ 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
ปิดไฟล์โดยการกด F10, บันทึกการเปลี่ยนแปลง
ตอนนี้เรามาเปิดไฟร์วอลล์และเปิดใช้งานเมื่อเริ่มต้น:
sudo systemctl enable iptables
sudo systemctl restart iptables
เราจะจัดเก็บไฟล์เซิร์ฟเวอร์ไว้ในโฟลเดอร์แยกต่างหาก สร้างมัน ไปที่ไฟล์นั้น และดาวน์โหลดไฟล์เซิร์ฟเวอร์ ในการทำเช่นนี้คุณควรใช้ wget
mkdir minecraft
cd minecraft
wget <ссылка_на_jar>
จำเป็นต้องค้นหา ลิงค์โดยตรง สำหรับการดาวน์โหลด .jar
ไฟล์เซิร์ฟเวอร์ ตัวอย่างเช่น ลิงก์ไปยังไฟล์เซิร์ฟเวอร์เวอร์ชัน 1.15.2:
wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar
ดูเนื้อหาของโฟลเดอร์โดยใช้คำสั่ง ls
ตรวจสอบให้แน่ใจว่าดาวน์โหลดไฟล์แล้ว
มาเปิดไฟล์เซิร์ฟเวอร์กันดีกว่า ตอนนี้เซิร์ฟเวอร์จะไม่ทำงาน: มันจะสร้างไฟล์ทั้งหมดที่จำเป็นสำหรับการทำงานและจะบ่นว่าคุณไม่ยอมรับเงื่อนไขของใบอนุญาต EULA ยอมรับเงื่อนไขโดยเปิดไฟล์ eula.txt
sudo mcedit eula.txt
ยืนยันข้อตกลงของคุณโดยเปลี่ยนรายการเป็น:
eula=true
เปิดไฟล์ server.properties
: นี่คือไฟล์กำหนดค่าเซิร์ฟเวอร์ของคุณ
ต้องทำการเปลี่ยนแปลงต่อไปนี้:
online-mode=false
การตั้งค่าที่เหลือขึ้นอยู่กับดุลยพินิจของคุณ
เซิร์ฟเวอร์เริ่มต้น
ถึงเวลาที่จะเริ่มเซิร์ฟเวอร์ อย่างที่ฉันบอกไปแล้วว่าเซิร์ฟเวอร์เริ่มต้นโดยตรงจากคอนโซล แต่ถ้าเราปิดคอนโซลหลัก กระบวนการเซิร์ฟเวอร์จะหยุดลง ดังนั้นเรามาสร้างคอนโซลอื่นกันดีกว่า:
screen
มาเริ่มเซิร์ฟเวอร์ในคอนโซลนี้กัน:
sudo java -Xms512M -Xmx1024M -jar <название_файла_сервера>.jar --nogui
เซิร์ฟเวอร์จะเริ่มทำงานในเวลาประมาณ 45 วินาที อย่าขัดจังหวะกระบวนการ เมื่อเซิร์ฟเวอร์เริ่มต้นและทำงานอยู่ คุณจะเห็นสิ่งที่ต้องการ:
ยินดีด้วย! คุณเพิ่งได้รับเซิร์ฟเวอร์ minecraft ของคุณเปิดใช้งานแล้ว ตอนนี้สิ่งสำคัญคือต้องออกจากคอนโซลที่สองอย่างถูกต้องเพื่อให้สามารถทำงานกับเซิร์ฟเวอร์ที่ทำงานอยู่ต่อไปได้ โดยคลิก Ctrl+A
แล้วก็ D
. คุณควรอยู่ในคอนโซลหลักและเห็นข้อความเช่น [detached from 1551.pts-0.ip-172-31-37-146]
. หากคุณต้องการกลับไปยังคอนโซลที่เซิร์ฟเวอร์ทำงานอยู่ ให้ใช้ screen -r
ตอนนี้คุณสามารถยกเลิกการเชื่อมต่อจาก VM ของคุณได้แล้ว เซิร์ฟเวอร์ของคุณจะสามารถเข้าถึงได้ผ่านที่อยู่ IP แบบคงที่ที่เราได้รับก่อนหน้านี้บนพอร์ต 25565
ปรากฎว่าที่อยู่สำหรับเข้าเซิฟเวอร์จะเป็น <ваш_статический_IP>:25565
.
ข้อสรุป
ด้วยการใช้คำแนะนำเหล่านี้ คุณสามารถตั้งค่าเซิร์ฟเวอร์ minecraft ฟรีด้วย IP เฉพาะได้อย่างง่ายดาย บทความนี้เขียนด้วยภาษาที่ง่ายที่สุดเท่าที่จะเป็นไปได้และมีไว้สำหรับผู้ที่ไม่ใช่ผู้เชี่ยวชาญ ในเรื่องนี้เป็นเรื่องที่น่าสนใจที่จะได้ยินความคิดเห็นของผู้ที่ถูกครอบครองเพราะเมื่อลดความซับซ้อนของเนื้อหาอาจเกิดข้อผิดพลาดตามข้อเท็จจริงในคำศัพท์ได้
ที่มา: will.com