Nâng RAM lên 16GB mà server Minecraft vẫn giật? Nguyên nhân thường không nằm ở phần cứng. Bài này phân biệt rõ 3 loại lag hay bị chữa nhầm, chỉ 6 nguyên nhân khiến TPS tụt và 7 bước tối ưu theo đúng thứ tự để biết việc nào thật sự có tác dụng.
Server Minecraft lag, và bạn đã thử đủ cách. Nâng RAM từ 4GB lên 16GB, đổi sang máy nhiều nhân hơn. Vẫn giật. Đây là tình huống hay gặp trên các diễn đàn Minecraft Việt Nam, và lý do thường không nằm ở phần cứng.
Nó nằm ở chỗ: có ba loại lag hoàn toàn khác nhau, và phần lớn người chơi đang chữa nhầm loại.
Tóm tắt nhanh cho người bận: Trước khi sửa gì hết, xác định bạn bị lag loại nào: TPS tụt là lỗi server, ping cao là lỗi đường truyền, FPS thấp là lỗi máy bạn. Nếu là TPS tụt, ba việc đầu tiên nên làm là đo tốc độ tick, hạ simulation-distance, rồi đổi sang bản server tối ưu. Ba việc đó giải quyết phần lớn ca. Nâng RAM và mua CPU nhiều nhân thường ít tác dụng nhất, dù đó là hai việc người ta hay làm đầu tiên.
Hãy hình dung server Minecraft như một quán ăn. Có ba chỗ khiến khách phải chờ, và mỗi chỗ cần một cách chữa riêng.
Bếp làm không kịp — đó là TPS tụt. Server không tính toán kịp thế giới. Dấu hiệu nhận biết: mọi người chơi cùng bị. Mob đứng đơ tại chỗ, bạn chặt một khối gỗ và phải chờ một nhịp nó mới vỡ, quái vật đánh bạn xong mới thấy máu tụt.
Đường giao hàng quá xa — đó là ping cao. Server vẫn chạy tốt, chỉ là gói tin đi mất quá lâu. Dấu hiệu: chỉ người ở xa bị, người ở gần chơi bình thường. Bạn chạy tới rồi bị kéo giật lùi về chỗ cũ.
Kính mắt của riêng bạn mờ — đó là FPS thấp. Máy tính của chính người chơi đó không dựng hình kịp. Dấu hiệu: chỉ mình bạn giật, hỏi người khác thì họ chơi mượt. Ba thứ này không chữa được cho nhau.
Đây cũng là câu hỏi hay gặp trên các diễn đàn Việt: "server đo được 20 TPS mà sao vẫn thấy trễ?" — vì đó không phải lag server, mà là ping.
Cách phân biệt trong 30 giây: bấm F3 trong game để xem FPS, gõ /tps ở console để xem sức khỏe server, rồi hỏi một người bạn ở tỉnh khác xem họ có bị giống bạn không. Ba câu trả lời đó chỉ đúng một thủ phạm.
TPS viết tắt của "tick per second" — số vòng tính toán mà server chạy trong một giây. Mỗi vòng gọi là một tick, server điểm danh lại toàn bộ thế giới: mob đi đâu, cây lớn chưa, mạch redstone bật hay tắt.
Chuẩn là 20 tick mỗi giây, nghĩa là mỗi tick được phép tiêu tối đa 50 mili-giây. Nếu một vòng tính lâu hơn 50ms, server không kịp và TPS rơi xuống dưới 20 — thời gian trong game bắt đầu chạy chậm hơn thời gian thật.
Để đo, gõ /tps trong console hoặc trong game với quyền quản trị. Lệnh này trả về ba con số là trung bình 1, 5 và 15 phút. Quanh 20 là khỏe; thường xuyên dưới 19,5 là có vấn đề thật.
Bản Minecraft gốc (vanilla) không có lệnh /tps. Lệnh này đến từ các bản server tối ưu như Spigot hay Paper. Nếu bạn gõ mà máy báo không nhận lệnh, đó chính là gợi ý đầu tiên rằng bạn đang chạy bản gốc.
Chạy bản gốc thì vẫn đo được, chỉ là bằng đường khác. Gõ /debug start, chơi bình thường khoảng một phút, rồi /debug stop — server ghi một tệp báo cáo vào thư mục debug nằm cạnh file server. Từ bản 1.17 có thêm cặp lệnh /perf start và /perf stop làm việc tương tự. Lưu ý màn hình F3 đo phía máy người chơi, không phải phía server.
Muốn biết ai đang ăn hết thời gian tick thì cần công cụ đo sâu hơn. Trên các bản server tối ưu, công cụ hay dùng là spark — một plugin đo hiệu năng, cài như mọi plugin khác: chạy máy đo khoảng 60–120 giây rồi dừng, nó trả về một báo cáo dạng cây nhiều tầng. Đừng dừng ở dòng trên cùng — dòng chiếm phần trăm lớn nhất thường là hàm nội bộ của server, không phải thủ phạm. Bung nhánh đó xuống dần cho tới khi thấy tên một plugin hoặc mod cụ thể.
Gần như mọi ca server Minecraft lag do TPS tụt đều rơi vào một trong sáu nhóm sau.
Cả sáu nguyên nhân trên đều là gánh nặng tính toán, không phải thiếu bộ nhớ. Đó là lý do nâng RAM thường không cứu được gì.
Thứ tự quan trọng. Làm từ trên xuống, mỗi bước xong thì đo lại /tps rồi mới sang bước sau — như vậy bạn biết chính xác việc nào có tác dụng.
Bước 1 — Đo trước khi sửa. Ghi lại con số TPS hiện tại bằng /tps, hoặc bằng /debug start và /debug stop nếu bạn đang chạy bản gốc. Không có mốc gốc thì mọi thay đổi sau đó chỉ là cảm giác. Nếu bạn chạy bản gốc và ngại đọc tệp báo cáo, hãy nhảy xuống làm Bước 3 trước — đổi sang bản tối ưu xong là có ngay lệnh /tps để đo cho toàn bộ các bước còn lại.
Bước 2 — Giảm simulation-distance. Trong file server.properties có hai thông số hay bị nhầm là một. view-distance là bán kính đất được gửi cho máy người chơi để nhìn thấy, chủ yếu tốn băng thông và bộ nhớ. simulation-distance mới là bán kính đất thực sự được chạy — mob, cây trồng, redstone đều nằm trong đó. Cả hai thường để mặc định là 10. Hạ tầm mô phỏng xuống 4–6 và tầm nhìn xuống 6–8 là cách giảm tải CPU mạnh nhất mà người chơi gần như không nhận ra.
Ba lưu ý thực hành cho bước này: file server.properties nằm cùng thư mục với file server; sửa xong phải khởi động lại server mới có tác dụng; và simulation-distance chỉ có từ bản 1.18 trở lên. Chạy bản cũ hơn mà không thấy dòng đó thì không phải bạn làm sai — khi ấy view-distance kiêm luôn cả hai vai.
Bước 3 — Đổi sang bản server tối ưu. Paper là bản được vá lại từ nền Spigot, tối ưu hàng loạt thuật toán: tải vùng đất song song, tính ánh sáng riêng, giới hạn vùng hoạt động của mob. Lưu ý cho khỏi lẫn với mục sau: nó chia được các việc phụ như tải đất ra nhiều nhân, còn phần lõi tick thế giới thì vẫn một luồng. Với server đông người, đây thường là bước cho khác biệt lớn nhất trong toàn bộ danh sách.
Bước 4 — Dọn entity. Đặt giới hạn số mob mỗi vùng, kiểm tra lại các trang trại mob tự động, gom bớt hopper trong dây chuyền phân loại. Nếu server có mạch redstone công nghiệp thì hãy soi nó trước tiên.
Bước 5 — Tạo sẵn vùng đất. Có plugin miễn phí mã nguồn mở tên Chunky cho phép sinh trước hàng nghìn mảnh đất lúc server vắng người. Sau đó ai đi khám phá cũng chỉ là đọc dữ liệu có sẵn, không phải tạo mới. Cách này xử lý dứt điểm kiểu khựng khi đi xa.
Bước 6 — Chỉnh RAM cho vừa đủ, đừng nhiều hơn. Java tự dọn bộ nhớ định kỳ. Với thiết lập mặc định, vùng nhớ càng lớn thì mỗi lượt dọn càng lâu, và trong lúc dọn server đứng hình vài trăm mili-giây. Đó chính là kiểu giật đều đặn theo chu kỳ mà nhiều người nhầm là "thiếu RAM". Phần lớn server vài chục người chơi chỉ cần khoảng 4–8GB.
Bước 7 — Đến đây mới tính chuyện phần cứng. Nếu đã làm hết sáu bước trên mà TPS vẫn tụt, lúc đó nâng cấp mới đáng tiền. Hai thứ nên nhắm: CPU xung nhịp cao và ổ NVMe. Bài chọn ổ cứng SSD, NVMe hay HDD giải thích vì sao ổ đĩa lại dính dáng tới độ mượt — mỗi lần tải vùng đất mới hoặc lưu thế giới đều là một lượt đọc ghi.
"Thêm RAM là hết lag." Đây là hiểu lầm phổ biến nhất. Lag server hầu hết do CPU không tính kịp, không phải do hết chỗ chứa. Với thiết lập mặc định, cấp thừa RAM còn có thể phản tác dụng: vùng nhớ càng lớn thì mỗi lượt dọn rác càng lâu, nên server giật theo chu kỳ nặng hơn thay vì nhẹ đi. Đó là lý do cộng đồng Minecraft có hẳn một bộ tham số khởi động chuyên trị vùng nhớ lớn. Cứ cấp thêm RAM mà không chỉnh gì thì dễ nhận kết quả ngược mong đợi.
"Ping cao là do server yếu." Ping là quãng đường, không phải sức mạnh. Một máy chủ khỏe đặt cách bạn nửa vòng trái đất vẫn cho ping tệ. Ngược lại, máy chủ khiêm tốn đặt gần thì ping rất đẹp. Muốn hiểu rõ con số này, xem thêm bài ping và độ trễ là gì.
"CPU càng nhiều nhân càng mạnh." Với Minecraft thì không. Phần lõi của game — tick cả thế giới, trí tuệ mob, redstone — chạy trên một luồng duy nhất. Đây chính là chỗ hay gây hiểu nhầm khi đọc về Paper ở Bước 3: các việc phụ như tải vùng đất, lưu file và xử lý mạng thì chia được ra nhiều nhân, còn việc lõi là tick cả thế giới thì không chia được. Vì vậy thực tế server hiếm khi dùng quá vài nhân. Một CPU 16 nhân xung nhịp thấp thường thua một CPU 4 nhân xung nhịp cao. Đây là lý do nhiều người khoe cấu hình rất mạnh mà TPS vẫn tụt.
Phiên bản Java cũng hay bị bỏ sót. Mỗi đời Minecraft cần một đời Java tương ứng — bản 1.18 đến 1.20.4 cần Java 17, từ 1.20.5 trở lên cần Java 21. Chạy sai đời Java thì server hoặc không khởi động, hoặc chạy chậm hơn mức đáng có.
Nhiều nhóm bắt đầu bằng cách mở server ngay trên máy tính ở nhà, hoặc dùng một công cụ tạo server miễn phí online. Cả hai đều ổn để thử cho vui.
Nói sòng phẳng trước: chuyển lên VPS không tự làm server hết lag. Bảy bước ở trên mới là thứ quyết định mượt hay giật, và bạn làm được chúng ở bất cứ đâu. Điểm cộng thật của VPS là bạn toàn quyền chỉnh đúng những thông số vừa nói — mở được server.properties, đổi được bản server, cài được công cụ đo. Ở các nền miễn phí thì mức quyền này tùy dịch vụ, có nơi mở, có nơi giới hạn.
Riêng máy ở nhà thì giới hạn đơn giản hơn nhiều: bạn tắt máy là bạn bè văng. Đường mạng gia đình cũng không được thiết kế cho việc làm máy chủ.
Bạn nên tính tới VPS khi thấy ba dấu hiệu: nhóm chơi vượt quá năm bảy người, muốn server bật liên tục kể cả lúc bạn đi ngủ, hoặc bắt đầu cài mod và plugin.
Nếu bạn cần một máy chủ chạy liên tục để dựng server Minecraft cho nhóm, có thể tham khảo dịch vụ thuê Cloud VPS tại cloudmoon.net, và chọn cấu hình theo hướng ưu tiên xung nhịp CPU hơn là số nhân. Nếu bạn chưa dựng server bao giờ, bài cách tạo server Minecraft trên VPS từ A đến Z đi qua đủ các bước từ cài Java tới mở cổng.
Sau khi chạy, nên theo dõi CPU và RAM đều đặn để biết khi nào thật sự cần nâng cấp, thay vì đoán. Bài giám sát tài nguyên VPS nói rõ nhìn vào đâu.
Đó không phải lag server mà là ping. TPS 20 nghĩa là server tính toán hoàn toàn kịp; độ trễ nằm ở quãng đường gói tin đi từ máy người chơi tới máy chủ. Hãy kiểm tra server đang đặt ở đâu so với chỗ ở của nhóm bạn. Trường hợp này nâng cấu hình máy chủ sẽ không cải thiện được gì.
Với bản gốc và nhóm cỡ đó, khoảng 4GB đến 6GB thường là đủ; có cài thêm mod hoặc plugin nặng thì tính khoảng 8GB. Cấp nhiều hơn mức cần không làm server nhanh hơn, đôi khi còn khiến việc dọn bộ nhớ lâu hơn và sinh ra giật theo chu kỳ. Con số này chỉ là mức tham khảo vì còn tùy số mod và cách xây trong thế giới của bạn.
Có tác dụng nhưng hẹp. Chúng chủ yếu xóa bớt đồ rơi và giới hạn số mob, tức chỉ chạm vào một trong sáu nguyên nhân. Nếu server tụt TPS vì mạch redstone lớn, vì plugin lỗi hoặc vì tầm mô phỏng để quá rộng thì cài bao nhiêu plugin dọn lag cũng không đúng bệnh. Nên đo tìm thủ phạm trước rồi mới chọn thuốc.
Lối chơi cơ bản giữ nguyên, đây là lựa chọn phổ biến của phần lớn server đông người. Khác biệt nằm ở vài cơ chế biên: một số lỗi nhân bản vật phẩm bị vá lại, và vài mạch redstone rất nhạy về thời điểm có thể chạy hơi khác. Nếu nhóm bạn xây máy móc kỹ thuật phức tạp thì nên thử trên thế giới nháp trước khi đổi hẳn.
Nguyên tắc chung là đặt càng gần phần đông người chơi càng tốt, vì ping phụ thuộc quãng đường. Nếu cả nhóm đều ở Việt Nam thì máy chủ đặt trong nước hoặc trong khu vực gần sẽ cho độ trễ dễ chịu hơn hẳn máy đặt ở châu Âu hay Bắc Mỹ. Trường hợp nhóm bạn rải rác nhiều nước thì phải chấp nhận cân bằng, ưu tiên nơi đông người chơi nhất.
Đừng mua thêm phần cứng khi chưa biết mình bị loại lag nào. Đo trước, phân biệt rõ TPS với ping, rồi đi theo thứ tự bảy bước ở trên. Phần lớn server lag nặng có thể chạy mượt trở lại chỉ bằng hai việc không tốn đồng nào: hạ tầm mô phỏng và đổi sang bản server tối ưu.
Chưa có bình luận nào. Hãy là người đầu tiên!