Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Xin chào, Habr! Chính xác hơn là những kẻ lừa đảo đang tìm cách thiết lập máy chủ minecraft để chơi với bạn bè.

Bài viết dành cho những người không phải là lập trình viên, không phải quản trị viên hệ thống nói chung, không dành cho đối tượng chính của Habr. Bài viết chứa hướng dẫn từng bước để tạo máy chủ minecraft có IP chuyên dụng, phù hợp với những người ở xa CNTT. Nếu đây không phải là về bạn, tốt hơn hết là bỏ qua bài viết.

Máy chủ là gì?

Vậy máy chủ là gì? Nếu chúng ta dựa vào khái niệm “máy chủ” như một thành phần phần mềm thì máy chủ là một chương trình có thể nhận, xử lý và truyền dữ liệu nhận được từ người dùng (máy khách) được kết nối với máy chủ này. Lấy trang web làm ví dụ, trang web được đặt trên một số máy chủ web mà bạn truy cập thông qua trình duyệt. Trong trường hợp của chúng tôi, máy chủ minecraft tạo ra một thế giới mà người chơi (khách hàng) kết nối, những người có thể đi bộ, phá vỡ các khối, v.v. Máy chủ minecraft chịu trách nhiệm kết nối người chơi và mọi hành động của họ.

Rõ ràng, máy chủ phải chạy trên máy tính (máy). Bạn có thể thiết lập máy chủ trên máy tính ở nhà, nhưng trong trường hợp này:

  • Bạn gây nguy hiểm cho tính bảo mật của máy tính của mình bằng cách mở các cổng trên nó
  • Máy chủ sẽ tải lên máy tính của bạn, điều này có thể cản trở công việc của bạn với nó
  • Bạn không thể để máy tính ở nhà chạy 24/7: có lúc bạn tắt máy, có lúc máy tính mất kết nối internet, v.v.
  • Để truy cập máy chủ của bạn từ thế giới bên ngoài, bạn sẽ phải truy cập vào máy tính của mình thông qua địa chỉ IP, dành cho các nhà cung cấp Internet “gia đình” là năng động, tức là nó có thể thay đổi 2-3 ngày một lần vì những lý do ngoài tầm kiểm soát của bạn.

Và làm thế nào để chúng ta giải quyết những vấn đề này?

Giải pháp cho tất cả những vấn đề này là sử dụng máy ảo với tĩnh, tức là một địa chỉ IP không thể thay đổi.

Thuật ngữ phức tạp? Hãy tìm ra nó.
Hãy chuyển sang Wikipedia.

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

Nói một cách rất thô thiển thì đó là một chiếc máy tính bên trong một chiếc máy tính. Bạn cũng có thể cài đặt hệ điều hành trên đó và làm việc với nó như với một máy tính thông thường.

Chúng ta có thể lấy nó ở đâu?

Đáp án đơn giản - AWS. Đây là một nền tảng cung cấp nhiều dịch vụ đám mây khác nhau hữu ích cho tất cả những người làm việc với web và không chỉ. Để tạo máy chủ minecraft, một trong những sản phẩm AWS là hoàn hảo - Amazon EC2 — một máy ảo đám mây hoạt động 24/7. AWS cung cấp máy ảo tối thiểu (SSD 10GB, RAM 1GB) miễn phí trong một nămNgoài ra, nó còn có thể liên kết một địa chỉ IP (tĩnh) chuyên dụng miễn phí để truy cập vĩnh viễn vào VM (máy ảo) của bạn tại cùng một địa chỉ.

Chúng tôi tạo và cấu hình một VM

Đi đến trang web AWS và đăng ký. Sau đó đi đến bảng điều khiển quản lý.

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Trong bảng điều khiển, trong số các dịch vụ, hãy tìm EC2 và đi đến nó.

Điều quan trọng là chọn một trung tâm dữ liệu, nói một cách đơn giản, là nơi đặt máy chủ Amazon. Bạn nên chọn tùy thuộc vào vị trí của mình, vì tốc độ liên lạc trên Internet khác nhau và bạn nên chọn một trung tâm dữ liệu để liên lạc từ thành phố của bạn sẽ nhanh nhất có thể.

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Để chọn trung tâm dữ liệu, tôi khuyên bạn nên sử dụng dịch vụ WonderNetwork, đo tốc độ truyền của các gói với các thành phố khác.
Trong trường hợp của tôi (Moscow), trung tâm dữ liệu Ireland phù hợp với tôi.

Đã đến lúc tạo một máy ảo. Để thực hiện việc này, hãy chuyển đến tab Khởi động ví dụ

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Hãy bắt đầu cấu hình VM.

1) Chọn hình ảnh hệ điều hành. Linux rất thuận tiện cho việc nâng cấp máy chủ, chúng tôi sẽ sử dụng bộ phân phối CentOS7

Cần lưu ý rằng sẽ không có môi trường đồ họa trên máy ảo của bạn; việc truy cập vào máy sẽ thông qua bảng điều khiển. Nó liên quan đến việc điều khiển VM bằng các lệnh thay vì chuột máy tính. Đừng sợ điều này: điều này sẽ không ngăn cản bạn bây giờ hoặc từ bỏ ý tưởng xây dựng máy chủ minecraft của riêng bạn vì nó "quá khó". Làm việc với máy thông qua bảng điều khiển không khó - bạn sẽ sớm tự mình thấy được.

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

2) Bây giờ hãy xác định cấu hình kỹ thuật của VM. Để sử dụng miễn phí, Amazon cung cấp cấu hình t2.micro, không đủ cho một máy chủ minecraft lớn hoàn chỉnh nhưng đủ để chơi với bạn bè.

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

3) Để mặc định các cài đặt còn lại nhưng dừng ở tab Định cấu hình nhóm bảo mật.

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Ở đây chúng ta cần định cấu hình quyền truy cập vào các cổng cho máy chủ minecraft.

Nói một cách đơn giản, cổng là một số không âm cho biết dữ liệu đến từ thế giới bên ngoài được gửi đến ai. Một VM có thể lưu trữ nhiều dịch vụ và máy chủ khác nhau, vì vậy tất cả các gói dữ liệu đến đều lưu trữ cổng (số) của đích (dịch vụ, máy chủ) bên trong VM trong tiêu đề của chúng.

Đối với máy chủ minecraft, tiêu chuẩn thực tế là sử dụng cổng 25565. Hãy thêm quy tắc cho biết rằng quyền truy cập vào máy ảo của bạn thông qua cổng này là có thể chấp nhận được.

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Chúng tôi đi đến cửa sổ để hoàn tất việc tạo VM bằng cách nhấp vào nút Đánh giá và ra mắt

Thiết lập cặp khóa SSH cho VM

Vì vậy, việc kết nối với máy sẽ được thực hiện bằng giao thức SSH.

Giao thức SSH hoạt động như sau: một cặp khóa (chung và riêng) được tạo, khóa chung được lưu trên VM và khóa riêng được lưu trên máy tính của người kết nối với VM (máy khách). Khi kết nối, VM sẽ kiểm tra xem máy khách có khóa riêng phù hợp hay không.

Ấn nút Khởi động. Cửa sổ sau sẽ xuất hiện trước mặt bạn:

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Nhập tên của cặp khóa (để thuận tiện cho bạn) và nhấp vào Tải xuống cặp khóa. Bạn nên tải về .pem một tập tin chứa khóa riêng của bạn. Nhấn vào nút Khởi chạy phiên bản. Bạn vừa tạo một máy ảo để cài đặt máy chủ.

Nhận IP tĩnh

Bây giờ chúng ta cần lấy và liên kết một IP tĩnh với VM của mình. Đối với menu này, chúng tôi tìm thấy tab IP đàn hồi và chúng tôi di chuyển dọc theo nó. Trên tab, nhấp vào nút Phân bổ địa chỉ IP đàn hồi và nhận được một IP tĩnh.

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Bây giờ địa chỉ IP nhận được phải được liên kết với VM của chúng tôi. Để thực hiện việc này, hãy chọn nó từ danh sách và trong menu Hoạt động chọn Liên kết địa chỉ IP

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Tiếp theo, chúng tôi sẽ liên kết VM với địa chỉ IP của chúng tôi

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Xong!

Chúng tôi đi đến VM

Bây giờ VM đã được định cấu hình và địa chỉ IP được chỉ định, hãy kết nối với nó và cài đặt máy chủ minecraft của chúng tôi.

Để kết nối với VM thông qua SSH chúng ta sẽ sử dụng chương trình PuTTY. Cài đặt PuTTYgen ngay từ trang này

Sau khi cài đặt PuTTY, hãy mở nó. Bây giờ bạn cần cấu hình kết nối.

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

  1. Trong tab Phiên chọn kiểu kết nối SSH, Hải cảng 22. Chỉ định tên cho kết nối. Tên máy chủ để kết nối qua SSH là một chuỗi như: имя_пользователя@публичный_dns.

Tên người dùng mặc định trong AWS dành cho CentOS là centos. DNS công cộng của bạn có thể được xem ở đây:

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Tôi đã nhận được đường dây [email protected]

  1. Trong tab SSH -> Xác thực nhập khóa SSH riêng của bạn. Nó được lưu trữ trong một tập tin .pem, mà chúng tôi đã tải xuống trước đó. Nhưng PuTTY không thể hoạt động với các tập tin .pem, anh ấy cần một định dạng .ppk. Để chuyển đổi, chúng tôi sẽ sử dụng PuTTYgen. Hướng dẫn chuyển đổi từ trang web PuTTYgen. Đã nhận được tệp .ppk Hãy lưu lại và chỉ ra ở đây:

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

  1. Chúng tôi kết nối với VM bằng cách mở kết nối bằng nút Mở.
    Chúc mừng! Chúng tôi vừa kết nối với bảng điều khiển máy ảo của bạn. Tất cả những gì còn lại là cài đặt máy chủ của chúng tôi trên đó.

Cài đặt và cấu hình máy chủ minecraft

Hãy bắt đầu thiết lập máy chủ của chúng tôi. Đầu tiên, chúng ta cần cài đặt một số gói trên VM.

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

Hãy cùng tìm hiểu xem mỗi gói dùng để làm gì.

  • wget - một tiện ích để tải xuống các tập tin trong Linux. Sử dụng nó, chúng tôi sẽ tải xuống các tập tin máy chủ.
  • mc - trình soạn thảo văn bản bảng điều khiển. Nó đơn giản và dễ sử dụng đối với người dùng chưa qua đào tạo.
  • iptables — một tiện ích để quản lý và định cấu hình tường lửa, với sự trợ giúp của nó, chúng tôi sẽ mở một cổng cho máy chủ trên máy ảo của mình.
  • Java — minecraft chạy trên java nên máy chủ cần phải hoạt động
  • màn - trình quản lý cửa sổ cho Linux. Nó sẽ cho phép chúng tôi sao chép bảng điều khiển của mình để nâng cao máy chủ. Thực tế là máy chủ phải được khởi chạy thông qua bảng điều khiển; nếu bạn ngắt kết nối khỏi VM, quá trình máy chủ sẽ bị dừng. Do đó, chúng tôi sẽ chạy nó trong một cửa sổ bảng điều khiển riêng.

Bây giờ hãy cấu hình tường lửa.

Tường lửa là phần mềm hoặc phần cứng-phần mềm của mạng máy tính có chức năng kiểm soát và lọc lưu lượng truy cập mạng đi qua nó theo các quy tắc được chỉ định. (Wikipedia)

Giải thích một cách đơn giản: hãy tưởng tượng một thành phố kiên cố. Anh ta liên tục bị tấn công từ bên ngoài, trong khi cuộc sống bình thường vẫn diễn ra ở thành phố. Để vào thành phố, có một cánh cổng trên tường của pháo đài, tại đó lính canh đứng và kiểm tra danh sách xem người này có được phép vào pháo đài hay không. Vai trò của bức tường và cổng trong mạng máy tính được thực hiện bởi tường lửa.

sudo mcedit /etc/sysconfig/iptables

Chúng tôi vừa tạo một tệp cấu hình tường lửa. Hãy điền vào đó dữ liệu cấu hình tiêu chuẩn, bao gồm cả quy tắc cho cổng 25565, đây là cổng tiêu chuẩn cho máy chủ 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

Đóng tập tin bằng cách nhấn F10, lưu các thay đổi.

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Bây giờ hãy khởi chạy tường lửa và kích hoạt nó khi khởi động:

sudo systemctl enable iptables
sudo systemctl restart iptables

Chúng tôi sẽ lưu trữ các tệp máy chủ trong một thư mục riêng, tạo nó, truy cập và tải xuống các tệp máy chủ. Để làm điều này bạn nên sử dụng wget

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

Cần tìm đương dân trực tiêp để tải về .jar tập tin máy chủ. Ví dụ: liên kết đến tệp máy chủ phiên bản 1.15.2:

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

Xem nội dung thư mục bằng lệnh ls, hãy đảm bảo rằng các tập tin đã được tải xuống.

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Hãy khởi chạy tập tin máy chủ. Bây giờ máy chủ sẽ không hoạt động: nó sẽ tạo tất cả các tệp cần thiết cho công việc và sẽ phàn nàn rằng bạn không đồng ý với các điều khoản của giấy phép EULA. Chấp nhận các điều khoản bằng cách mở tệp eula.txt

sudo mcedit eula.txt

Xác nhận sự đồng ý của bạn bằng cách thay đổi mục nhập thành:

eula=true

Mở tập tin server.properties: Đây là tập tin cấu hình máy chủ của bạn. Tìm hiểu thêm về cài đặt máy chủ

Thay đổi sau đây phải được thực hiện cho nó:

online-mode=false

Các cài đặt còn lại tùy theo quyết định của bạn.

Khởi động máy chủ

Đã đến lúc khởi động máy chủ. Như tôi đã nói, máy chủ khởi động trực tiếp từ bảng điều khiển, nhưng nếu chúng ta đóng bảng điều khiển chính, quá trình máy chủ sẽ bị dừng. Vì vậy, hãy tạo một bảng điều khiển khác:

screen

Hãy khởi động máy chủ trong bảng điều khiển này:

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

Máy chủ khởi động sau khoảng 45 giây, không làm gián đoạn quá trình. Khi máy chủ được khởi tạo và chạy, bạn sẽ thấy một cái gì đó như:

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Chúc mừng! Bạn vừa thiết lập và chạy máy chủ minecraft của mình. Bây giờ điều quan trọng là phải thoát chính xác bảng điều khiển thứ hai để nó tiếp tục hoạt động với máy chủ đang chạy. Để thực hiện việc này, hãy nhấp vào Ctrl+A, sau đó D. Bạn sẽ ở trong bảng điều khiển chính và thấy một thông báo như [detached from 1551.pts-0.ip-172-31-37-146]. Nếu bạn cần quay lại bảng điều khiển nơi máy chủ đang chạy, hãy sử dụng screen -r

Bây giờ bạn có thể ngắt kết nối khỏi VM của mình. Máy chủ của bạn sẽ có thể truy cập được thông qua địa chỉ IP tĩnh mà chúng tôi đã nhận được trước đó, trên cổng 25565.

Máy chủ minecraft miễn phí trên AWS mà không cần kiến ​​thức về Linux

Hóa ra địa chỉ để vào máy chủ sẽ là <ваш_статический_IP>:25565.

Kết luận

Sử dụng những hướng dẫn này, bạn có thể dễ dàng thiết lập máy chủ minecraft miễn phí với IP chuyên dụng. Bài viết được viết bằng ngôn ngữ đơn giản nhất có thể và dành cho những người không chuyên. Về vấn đề này, thật thú vị khi nghe nhận xét của những người bận rộn, bởi vì khi đơn giản hóa tài liệu, có thể mắc phải những sai sót thực tế về thuật ngữ.

Nguồn: www.habr.com

Thêm một lời nhận xét