Tạo và thiết lập máy chủ Minecraft

Tạo và thiết lập máy chủ Minecraft

Minecraft là một trong những game trực tuyến phổ biến nhất hiện nay. Trong vòng chưa đầy ba năm (bản phát hành chính thức đầu tiên diễn ra vào mùa thu năm 2011), anh đã thu hút được hàng triệu người hâm mộ trên khắp thế giới.

Các nhà phát triển trò chơi đã cố tình tập trung vào những ví dụ điển hình nhất của hai mươi năm trước, khi nhiều trò chơi, theo tiêu chuẩn ngày nay, còn thô sơ về mặt đồ họa và không hoàn hảo về khả năng sử dụng, nhưng đồng thời chúng cũng thực sự thú vị.

Giống như tất cả các trò chơi hộp cát, Minecraft cung cấp cho người dùng những cơ hội sáng tạo to lớn - trên thực tế, đây là bí mật chính cho sự phổ biến của nó.

Máy chủ cho trò chơi nhiều người chơi được tổ chức bởi chính người chơi và cộng đồng của họ. Ngày nay có hàng chục nghìn máy chủ trò chơi đang hoạt động trên Internet (ví dụ: xem danh sách ở đây).

Có rất nhiều người hâm mộ trò chơi này trong số các khách hàng của chúng tôi và họ thuê thiết bị từ trung tâm dữ liệu của chúng tôi cho các dự án trò chơi. Trong bài viết này, chúng tôi sẽ nói về những điểm kỹ thuật bạn cần chú ý khi chọn máy chủ cho
Minecraft.

Chọn một nền tảng

Minecraft bao gồm các yếu tố kiến ​​trúc sau:

  1. máy chủ - một chương trình trong đó người chơi tương tác với nhau qua mạng;
  2. client - một chương trình kết nối với máy chủ, được cài đặt trên máy tính của người chơi;
  3. plugin - bổ sung cho máy chủ để thêm các chức năng mới hoặc mở rộng các chức năng cũ;
  4. mod là những phần bổ sung cho thế giới trò chơi (khối, vật phẩm, tính năng mới).

Có rất nhiều nền tảng máy chủ cho Minecraft. Phổ biến và được ưa chuộng nhất là Vanilla và Bukkit.

Vanilla Đây là nền tảng chính thức từ các nhà phát triển trò chơi. Nó được phân phối ở cả phiên bản đồ họa và bảng điều khiển. Phiên bản mới của Vanilla luôn ra mắt cùng lúc với phiên bản Minecraft mới.

Nhược điểm của Vanilla là tiêu tốn quá nhiều bộ nhớ (khoảng 50 MB cho mỗi người chơi). Một nhược điểm đáng kể khác là thiếu plugin.

bukkit được tạo bởi một nhóm những người đam mê đã cố gắng cải thiện máy chủ Minecraft chính thức. Nỗ lực này khá thành công: Bukkit có chức năng rộng hơn nhiều so với Vanilla, chủ yếu là nhờ sự hỗ trợ của nhiều mod và plugin khác nhau. Đồng thời, nó tiêu tốn ít bộ nhớ hơn cho mỗi người chơi - khoảng 5-10 MB.

Nhược điểm của Bukkit là chiếm quá nhiều RAM khi chạy. Ngoài ra, máy chủ chạy càng lâu thì càng cần nhiều bộ nhớ (ngay cả khi có ít người chơi). Khi chọn Bukkit làm máy chủ, bạn nên nhớ rằng các phiên bản mới của nó thường có lỗi; Phiên bản ổn định thường xuất hiện khoảng 2-3 tuần sau khi phiên bản Minecraft chính thức được phát hành.

Ngoài ra, các nền tảng khác gần đây đã trở nên phổ biến (ví dụ: Spout, MCPC và MCPC+), nhưng chúng có khả năng tương thích hạn chế với Vanilla và Bukkit cũng như hỗ trợ cực kỳ hạn chế cho mod (ví dụ: đối với Spout, bạn chỉ có thể viết mod từ đầu). Nếu chúng được sử dụng thì chỉ dành cho thí nghiệm.

Để tổ chức máy chủ trò chơi, chúng tôi khuyên bạn nên sử dụng nền tảng Bukkit vì nó có tính linh hoạt cao nhất; Ngoài ra còn có rất nhiều mod và plugin khác nhau dành cho nó. Hoạt động ổn định của máy chủ Minecraft phần lớn phụ thuộc vào việc lựa chọn chính xác nền tảng phần cứng. Hãy xem xét vấn đề này chi tiết hơn.

yêu cầu phần cứng

Cả máy chủ và máy khách Minecraft đều có yêu cầu rất cao về tài nguyên hệ thống.
Khi chọn nền tảng phần cứng, bạn nên nhớ rằng bộ xử lý đa lõi sẽ không mang lại nhiều lợi thế: lõi máy chủ Minecraft chỉ có thể sử dụng một luồng tính toán. Tuy nhiên, lõi thứ hai sẽ hữu ích: một số plugin được thực thi trong các luồng riêng biệt và Java cũng tiêu tốn rất nhiều tài nguyên...

Do đó, đối với máy chủ Minecraft, tốt hơn hết bạn nên chọn bộ xử lý có hiệu suất lõi đơn cao hơn. Bộ xử lý lõi kép mạnh hơn sẽ thích hợp hơn bộ xử lý đa lõi ít ​​mạnh hơn. Trên các diễn đàn chuyên ngành, nên sử dụng bộ xử lý có tần số xung nhịp tối thiểu là 3 GHz.

Để máy chủ Minecraft hoạt động bình thường, cần có một lượng RAM lớn. Bukkit chiếm khoảng 1GB RAM; Ngoài ra, đối với mỗi người chơi, như đã đề cập ở trên, từ 5 đến 10 MB được phân bổ. Các plugin và mod cũng tiêu tốn khá nhiều bộ nhớ. Do đó, đối với máy chủ có 30 - 50 người chơi, bạn sẽ cần ít nhất 4 GB RAM.

Trong Minecraft, rất nhiều thứ (ví dụ: tải cùng một plugin) phụ thuộc vào tốc độ của hệ thống tệp. Vì vậy, tốt nhất nên chọn máy chủ có ổ SSD. Đĩa trục chính dường như không phù hợp do tốc độ đọc ngẫu nhiên thấp.

Tốc độ kết nối Internet của bạn cũng rất quan trọng. Đối với trò chơi có 40-50 người, kênh 10 Mb/s là đủ. Tuy nhiên, đối với những người đang lên kế hoạch cho một dự án minecraft lớn hơn, bao gồm trang web, diễn đàn và bản đồ động, thì rất mong muốn có một kênh có băng thông lớn hơn.

Cấu hình cụ thể nào là tốt nhất để lựa chọn? Từ cấu hình chúng tôi cung cấp Chúng tôi khuyên bạn nên chú ý những điều sau:

  • Intel Core 2 Duo E8400 3GHz, RAM 6GB, 2x500GB SATA, 3000 rub/tháng;
  • Intel Core 2 Quad Q8300 2.5GHz, RAM 6GB, SATA 2x500GB, 3500 rub/tháng. — chúng tôi sử dụng cấu hình này cho máy chủ thử nghiệm MineCraft mà bạn có thể chơi ngay bây giờ (cách thực hiện việc này được viết bên dưới);
  • Intel Core i3-2120 3.3GHz, RAM 8GB, SATA 2x500GB, 3500 RUR/tháng.

Những cấu hình này khá phù hợp để tạo server Minecraft cho 30-40 người chơi. Một số nhược điểm là thiếu ổ SSD, nhưng chúng tôi đưa ra một lợi thế quan trọng khác: kênh 100 Mb/s được đảm bảo mà không có bất kỳ hạn chế hoặc tỷ lệ nào. Khi đặt hàng tất cả các cấu hình được liệt kê ở trên, bạn sẽ không phải trả phí thiết lập.

Chúng tôi cũng có các máy chủ hiệu quả hơn, nhưng đồng thời, đương nhiên, các máy chủ đắt tiền hơn (khi đặt hàng các cấu hình này, phí cài đặt cũng không bị tính phí):

  • 2x Intel Xeon 5130, 2GHz, RAM 8GB, 4x160GB SATA, 5000 chà/tháng;
  • 2x IntelXeon 5504, 2GHz, RAM 12GB, SATA 3x1TB, 9000 chà/tháng.

Chúng tôi cũng khuyên bạn nên chú ý đến mẫu bình dân mới có ổ SSD dựa trên bộ xử lý Intel Atom C2758: Intel Atom C2758 2.4 GHz, RAM 16 GB, SSD 2x240 GB, 4000 rúp/tháng, thanh toán cài đặt - 3000 rúp.

Cài đặt và chạy máy chủ Bukkit trên OC Ubuntu

Trước khi cài đặt máy chủ, hãy tạo một người dùng mới và thêm nó vào nhóm sudo:

$ sudo useradd -m -s /bin/bash <tên người dùng> $ sudo adduser <tên người dùng> sudo

Tiếp theo, chúng tôi sẽ đặt mật khẩu mà người dùng đã tạo sẽ kết nối với máy chủ:

$ sudo mật khẩu <tên người dùng>

Hãy kết nối lại với máy chủ bằng tài khoản mới và bắt đầu cài đặt.
Minecraft được viết bằng Java nên Java Runtime Environment phải được cài đặt trên máy chủ.

Hãy cập nhật danh sách các gói có sẵn:

$ sudo apt-get update

Sau đó chạy lệnh sau:

$ sudo apt-get cài đặt mặc định-jdk

Để cài đặt và chạy Bukkit, bạn cũng nên cài đặt bộ ghép kênh đầu cuối - ví dụ: màn hình (bạn cũng có thể sử dụng các bộ ghép kênh đầu cuối khác - xem phần của chúng tôi tổng quan):

$ sudo apt-get màn hình cài đặt

Sẽ cần có màn hình nếu chúng ta kết nối với máy chủ trò chơi qua ssh. Với sự trợ giúp của nó, bạn có thể chạy máy chủ Minecraft trong một cửa sổ đầu cuối riêng biệt và ngay cả sau khi đóng máy khách ssh, máy chủ vẫn hoạt động.

Hãy tạo một thư mục trong đó các tập tin máy chủ sẽ được lưu trữ:

$ mkdir bukkit $ cd bukkit

Sau đó chúng ta hãy đi đến Trang tải xuống trang web chính thức của Bukkit. Ở phần trên bên phải của trang, bạn có thể thấy liên kết đến bản dựng máy chủ được đề xuất mới nhất. Chúng tôi khuyên bạn nên tải xuống:

$ wget <liên kết phiên bản được đề xuất>

Bây giờ hãy chạy màn hình:

màn hình $sudo

và chạy lệnh sau:

$ java -Xmx1024M -jar craftbukkit.jar -o sai

Hãy để chúng tôi giải thích ý nghĩa của các tham số được sử dụng:

  • Xmx1024M - dung lượng RAM tối đa trên mỗi máy chủ;
  • jar craftbukkit.jar - chìa khóa vào máy chủ;
  • o sai - cho phép truy cập vào máy chủ từ các máy khách lậu.

Máy chủ sẽ được khởi động.
Bạn có thể dừng máy chủ bằng cách gõ lệnh dừng trong bảng điều khiển.

Thiết lập và cấu hình máy chủ

Cài đặt máy chủ được lưu trữ trong tệp cấu hình server.properties. Nó chứa các tham số sau:

  • cài đặt trình tạo - đặt mẫu để tạo ra một thế giới siêu phẳng;
  • allow-nether - xác định khả năng di chuyển đến Hạ giới. Theo mặc định, cài đặt này được đặt thành true. Nếu được đặt thành sai, thì tất cả người chơi từ Nether sẽ được chuyển sang địa điểm bình thường;
  • tên cấp độ - tên của thư mục chứa các tệp bản đồ sẽ được sử dụng trong trò chơi. Thư mục này nằm trong cùng thư mục chứa các tập tin máy chủ. Nếu không có thư mục đó, máy chủ sẽ tự động tạo một thế giới mới và đặt nó vào một thư mục có cùng tên;
  • kích hoạt truy vấn - khi được đặt thành true, sẽ kích hoạt giao thức GameSpy4 để lắng nghe máy chủ;
  • allow-flight - cho phép các chuyến bay vòng quanh thế giới Minecraft. Giá trị mặc định là sai (các chuyến bay bị cấm);
  • cổng máy chủ - cho biết cổng sẽ được máy chủ trò chơi sử dụng. Cổng tiêu chuẩn cho Minecraft là 25565. Không nên thay đổi giá trị của tham số này;
  • loại cấp độ - xác định loại thế giới (DEFAUT/FLAT/LARGEBIOMES);
  • Enable-rcon - cho phép truy cập từ xa vào bảng điều khiển máy chủ. Theo mặc định nó bị tắt (sai);
  • cấp hạt giống - dữ liệu đầu vào cho trình tạo cấp độ. Để có thể tạo thế giới ngẫu nhiên, trường này phải để trống;
  • Force-gamemode - đặt chế độ chơi tiêu chuẩn cho người chơi kết nối với máy chủ;
  • server-ip - cho biết địa chỉ IP sẽ được người chơi sử dụng để kết nối với máy chủ;
  • max-build-height - cho biết chiều cao tối đa của tòa nhà trên máy chủ. Giá trị của nó phải là bội số của 16 (64, 96, 256, v.v.);
  • spawn-npcs - cho phép (nếu được đặt thành đúng) hoặc cấm (nếu được đặt thành sai) sự xuất hiện của NPC trong các làng;
  • danh sách trắng - bật hoặc tắt việc sử dụng danh sách trắng người chơi trên máy chủ. Nếu được đặt thành true, quản trị viên sẽ có thể tạo danh sách trắng bằng cách thêm biệt hiệu của người chơi vào đó theo cách thủ công. Nếu giá trị là sai thì bất kỳ người dùng nào biết địa chỉ IP và cổng của nó đều có thể truy cập vào máy chủ;
  • spawn-animals - cho phép tự động sinh ra các mob thân thiện nếu được đặt thành true);
  • kích hoạt snooper - cho phép máy chủ gửi số liệu thống kê và dữ liệu cho nhà phát triển;
  • Hardcore - bật chế độ Hardcore trên máy chủ;
  • kết cấu-pac - tệp kết cấu sẽ được sử dụng khi người chơi kết nối với máy chủ. Giá trị của tham số này là tên của kho lưu trữ zip có kết cấu, được lưu trữ trong cùng thư mục với máy chủ;
  • chế độ trực tuyến - cho phép kiểm tra tài khoản cao cấp của người dùng kết nối với máy chủ. Nếu tham số này được đặt thành true, chỉ chủ tài khoản trả phí mới có thể truy cập vào máy chủ. Nếu xác minh tài khoản bị tắt (được đặt thành sai), thì bất kỳ người dùng nào cũng có thể truy cập vào máy chủ (ví dụ: bao gồm cả những người chơi đã giả mạo biệt hiệu của họ), điều này sẽ tạo ra thêm rủi ro bảo mật. Khi tính năng kiểm tra bị tắt, bạn có thể chơi Minecraft qua mạng cục bộ mà không cần truy cập Internet;
  • pvp - cho phép hoặc cấm người chơi đánh nhau. Nếu thông số này đúng thì người chơi có thể tiêu diệt lẫn nhau. Nếu được đặt thành sai, người chơi không thể gây sát thương trực tiếp cho nhau;
  • độ khó - đặt mức độ khó của trò chơi. Có thể lấy các giá trị từ 0 (dễ nhất) đến 3 (khó nhất);
  • gamemode - cho biết chế độ trò chơi nào sẽ được đặt cho người chơi vào máy chủ. Có thể lấy các giá trị sau: 0 - Sinh tồn, 1-Sáng tạo, 2-Phiêu lưu;
  • player-idle-timeout — thời gian không hoạt động (tính bằng phút), sau đó người chơi sẽ tự động bị ngắt kết nối khỏi máy chủ;
  • max-players — số lượng người chơi tối đa được phép trên máy chủ (từ 0 đến 999);
  • sinh sản-quái vật - cho phép (nếu được đặt thành đúng) sinh sản của đám đông thù địch;
  • tạo cấu trúc - cho phép (đúng)/vô hiệu hóa (sai) việc tạo cấu trúc (kho bạc, pháo đài, làng mạc);
  • khoảng cách xem - điều chỉnh bán kính của các khối cập nhật sẽ được gửi tới người chơi; có thể lấy giá trị từ 3 đến 15.

Nhật ký máy chủ Minecraft được ghi vào tệp server.log. Nó được lưu trữ trong cùng thư mục với các tập tin máy chủ. Nhật ký không ngừng tăng kích thước, chiếm ngày càng nhiều dung lượng ổ đĩa. Bạn có thể hợp lý hóa công việc của cơ chế ghi nhật ký bằng cách sử dụng tính năng xoay vòng nhật ký. Để xoay, một tiện ích đặc biệt được sử dụng - logrotate. Nó giới hạn số lượng mục trong nhật ký ở một giới hạn nhất định.

Bạn có thể định cấu hình xoay vòng nhật ký để tất cả các mục nhập sẽ bị xóa ngay khi tệp nhật ký đạt đến kích thước nhất định. Bạn cũng có thể đặt khoảng thời gian mà sau đó tất cả các mục cũ sẽ được coi là không liên quan và bị xóa.

Cài đặt xoay cơ bản được đặt trong tệp /etc/logrotate.conf; Ngoài ra, bạn có thể tạo các cài đặt riêng cho từng ứng dụng. Các tệp có cài đặt riêng lẻ được lưu trữ trong thư mục /etc/logrotate.d.

Hãy tạo một tệp văn bản /etc/logrotate.d/craftbukkit và nhập các tham số sau vào đó:

/home/craftbukkit/server.log { xoay 2 tuần nén thiếu thông báo }

Chúng ta hãy xem xét ý nghĩa của chúng chi tiết hơn:

  • tham số xoay chỉ định số lần quay trước khi xóa tệp;
  • hàng tuần cho biết việc xoay vòng sẽ được thực hiện hàng tuần (bạn cũng có thể đặt các thông số khác: hàng tháng - hàng tháng và hàng ngày - hàng ngày);
  • nén chỉ định rằng các nhật ký đã lưu trữ phải được nén (tùy chọn ngược lại là nocompress);
  • missok chỉ ra rằng nếu không có tệp nhật ký, bạn nên tiếp tục làm việc và không hiển thị thông báo lỗi;
  • notifempty chỉ định không dịch chuyển tệp nhật ký nếu nó trống.

Bạn có thể đọc thêm về cài đặt xoay vòng nhật ký đây.

Mẹo tối ưu hóa

Hãy đặt trước ngay rằng phần này sẽ cung cấp các mẹo chỉ liên quan đến việc tối ưu hóa máy chủ trò chơi. Các vấn đề về tinh chỉnh và tối ưu hóa máy chủ cài đặt Minecraft là một chủ đề riêng biệt nằm ngoài phạm vi của bài viết này; độc giả quan tâm có thể dễ dàng tìm thấy những thông tin mình cần trên Internet.

Một trong những vấn đề phổ biến nhất phát sinh khi chơi Minecraft là cái gọi là độ trễ - tình huống khi chương trình không phản hồi kịp thời với thông tin đầu vào của người dùng. Chúng có thể được gây ra bởi các vấn đề ở cả phía máy khách và phía máy chủ. Dưới đây chúng tôi sẽ đưa ra các đề xuất giúp giảm khả năng xảy ra sự cố ở phía máy chủ.

Thường xuyên theo dõi mức tiêu thụ bộ nhớ của máy chủ và plugin

Mức tiêu thụ bộ nhớ có thể được theo dõi bằng cách sử dụng các plugin quản trị chuyên dụng - ví dụ: Máy đo độ trễ.

Hãy theo dõi các bản cập nhật plugin

Theo quy định, các nhà phát triển plugin mới cố gắng giảm tải với mỗi phiên bản mới.

Cố gắng không sử dụng nhiều plugin có chức năng tương tự

Các plugin lớn (ví dụ: Essentials, AdminCMD, CommandBook) thường bao gồm chức năng của nhiều plugin nhỏ hơn. Ví dụ: cùng một Essential chứa các chức năng của các plugin iConomy, uHome, OpenInv, VanishNoPacket, Kit. Các plugin nhỏ, chức năng của chúng được bao phủ hoàn toàn bởi chức năng của một plugin lớn, trong hầu hết các trường hợp có thể được gỡ bỏ để không làm quá tải máy chủ.

Hạn chế bản đồ và tự tải nó

Nếu bạn không giới hạn bản đồ, tải trên máy chủ sẽ tăng lên đáng kể. Bạn có thể giới hạn bản đồ bằng plugin Biên giới thế giới. Để thực hiện việc này, bạn cần chạy plugin này và chạy lệnh /wb 200, sau đó vẽ bản đồ bằng lệnh /wb fill.

Tất nhiên, việc vẽ sẽ mất rất nhiều thời gian, nhưng tốt hơn hết bạn nên thực hiện một lần, đóng máy chủ để thực hiện công việc kỹ thuật. Nếu mỗi người chơi vẽ bản đồ, máy chủ sẽ hoạt động chậm.

Thay thế các plugin nặng bằng các plugin nhanh hơn và ít tốn tài nguyên hơn

Không phải tất cả các plugin cho Minecraft đều có thể được gọi là thành công: chúng thường chứa nhiều chức năng không cần thiết và không cần thiết, đôi khi chúng cũng tiêu tốn rất nhiều bộ nhớ. Tốt hơn là thay thế các plugin không thành công bằng các plugin thay thế (có khá nhiều plugin). Ví dụ: plugin LWC có thể được thay thế bằng Wgfix+MachineGuard và plugin DynMap bằng Minecraft Tổng quan.

Luôn xóa phần thả hoặc cài đặt plugin để tự động xóa phần thả

Vật phẩm rơi ra trong trò chơi là vật phẩm rơi ra khi mob chết hoặc một số khối bị phá hủy. Việc lưu trữ và xử lý các giọt chiếm rất nhiều tài nguyên hệ thống.

Để server hoạt động nhanh hơn thì nên xóa drop. Điều này được thực hiện tốt nhất bằng cách sử dụng các plugin đặc biệt - ví dụ: NoLagg hoặc McClean.

Không sử dụng các biện pháp chống gian lận

Cái gọi là chống gian lận thường được cài đặt trên máy chủ trò chơi - những chương trình chặn các nỗ lực gây ảnh hưởng đến trò chơi theo những cách không trung thực.

Minecraft cũng có tính năng chống gian lận. Bất kỳ tính năng chống gian lận nào cũng luôn là một tải bổ sung trên máy chủ. Tốt nhất nên cài đặt bảo vệ cho trình khởi chạy (tuy nhiên, điều này không mang lại sự đảm bảo tuyệt đối về bảo mật và dễ bị hỏng - nhưng đây là chủ đề để thảo luận riêng) và cho khách hàng.

Thay vì một kết luận

Mọi hướng dẫn và đề xuất sẽ hiệu quả hơn nhiều nếu chúng được hỗ trợ bởi các ví dụ cụ thể. Dựa trên hướng dẫn cài đặt ở trên, chúng tôi đã tạo máy chủ Minecraft của riêng mình và đưa một số điều thú vị lên bản đồ.

Đây là những gì chúng tôi có:

  • Máy chủ Bukkit - phiên bản ổn định được đề xuất 1.6.4;
  • Plugin thống kê - để thu thập số liệu thống kê về người chơi;
  • Plugin WorldBorder - để vẽ và giới hạn bản đồ;
  • Plugin WorldGuard (+WorldEdit làm phần phụ thuộc) - để bảo vệ một số khu vực.

Chúng tôi mời mọi người chơi trên đó: kết nối, thêm máy chủ mới và nhập địa chỉ mncrft.slc.tl.

Chúng tôi sẽ rất vui nếu bạn chia sẻ kinh nghiệm cài đặt, định cấu hình và tối ưu hóa máy chủ MineCraft của riêng mình trong phần nhận xét, đồng thời cho chúng tôi biết bạn quan tâm đến mod và plugin nào và lý do.

Tin tức thú vị: Từ ngày 1/50, phí cài đặt máy chủ chuyên dụng cấu hình cố định đã giảm 3000%. Hiện tại, khoản thanh toán thiết lập một lần chỉ là XNUMX rúp.

Những độc giả không thể để lại bình luận ở đây xin mời ghé thăm chúng tôi tại Blog.

Nguồn: www.habr.com

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