Máy chủ Project Zomboid có thể bị sập hoặc không khởi động được vì một số lý do đã được biết rõ. Hướng dẫn này trình bày các nguyên nhân phổ biến nhất được ghi nhận trong các ticket hỗ trợ của Legion Hosting — từ một lỗi bộ nhớ của Build 42 đòi hỏi thêm RAM khi khởi động, đến tình trạng tràn bản sao lưu làm đầy /tmp, cho đến các tệp cấu hình bị hỏng. Hãy thực hiện theo các phần bên dưới theo thứ tự.
Trước Khi Bắt Đầu — Tìm Nhật Ký Sập của Bạn
Hầu hết mọi sự cố sập của Project Zomboid đều để lại bằng chứng ở một trong hai nơi. Hãy kiểm tra cả hai trước khi thử bất kỳ cách khắc phục nào, để bạn biết phần nào của hướng dẫn này áp dụng cho mình.
Đầu Ra Console của GPanel
- Đăng nhập vào GPanel.
- Chọn máy chủ Project Zomboid của bạn từ danh sách máy chủ.
- Nhấp vào tab Console.
- Cuộn xuống cuối phần đầu ra. Tìm các dòng được đánh dấu
ERROR,FATAL,OutOfMemoryErrorhoặcException. 20–30 dòng cuối cùng trước khi máy chủ dừng lại thường là phần liên quan nhất. - Nếu console trống, tiến trình máy chủ đã kết thúc trước khi nó có thể ghi bất cứ thứ gì — bản thân điều này đã là một manh mối (xem phần bộ nhớ B42 bên dưới).
Tệp debug.log của Máy chủ
Project Zomboid ghi một nhật ký chi tiết vào debug.log trong thư mục dữ liệu của máy chủ. Tệp này thường chứa một bản theo dõi ngăn xếp Java đầy đủ chỉ thẳng đến nguyên nhân sập.
- Trong GPanel, vào tab File Manager.
- Điều hướng đến
/.cache/Logs/. Bạn sẽ thấy các tệp có tên nhưdebug.log,DebugLog-server.txthoặc các tệp nhật ký có ghi ngày tháng. - Mở tệp nhật ký gần đây nhất. Sử dụng Ctrl+End hoặc cuộn xuống tận cùng và đọc ngược lên từ đó.
- Tìm các từ khóa
OutOfMemoryError,IOException,NullPointerExceptionhoặcSandboxVars. Sao chép các dòng liên quan — bạn sẽ cần chúng nếu mở một ticket hỗ trợ.
Cách Khắc Phục 1 — Mức Sử Dụng Bộ Nhớ Cao Khi Khởi Động Của Build 42 (Lỗi Trò Chơi Đã Biết)
Nếu máy chủ của bạn thoát ngay lập tức khi khởi động mà không có lỗi nào trong console, hoặc console hiển thị OutOfMemoryError hoặc lỗi không gian heap Java, thì máy chủ đang hết bộ nhớ trước khi thế giới tải xong.
Triệu Chứng
- Máy chủ khởi động, console cuộn trong vài giây, rồi dừng lại mà không có lỗi nào hiển thị cho người chơi.
- Console hiển thị
java.lang.OutOfMemoryError: Java heap spacehoặcGC overhead limit exceeded. - Máy chủ hoạt động trong một số lần khởi động lại nhưng không hoạt động trong những lần khác (mức bộ nhớ khả dụng thay đổi).
- Máy chủ chạy tốt trên B41 nhưng sập liên tục sau khi nâng cấp lên B42.
Các Bước
- Trong GPanel, nhấp vào máy chủ của bạn và vào tab Console. Ghi lại mức cấp phát RAM hiện tại của máy chủ được hiển thị trong thanh tài nguyên hoặc bảng thông tin máy chủ.
- Nếu gói của bạn có ít hơn 10 GB RAM, máy chủ có thể sập trong quá trình khởi động vì B42 cần khoảng 9 GB để khởi tạo. Bạn sẽ cần nâng cấp gói của mình hoặc đợi The Indie Stone phát hành bản sửa lỗi.
- Nếu gói của bạn đã có 10 GB trở lên mà máy chủ vẫn sập khi khởi động, hãy vào tab Startup trong GPanel.
- Tìm trường có nhãn Java Memory, Max RAM hoặc Xmx. Xác nhận nó được đặt không quá 80–85% tổng RAM khả dụng của bạn. Ví dụ, trên gói 12 GB, hãy đặt giá trị này thành
10240(10 GB tính bằng megabyte). Đừng đặt nó bằng hoặc cao hơn tổng RAM của bạn — hệ điều hành và các tiến trình khác cũng cần bộ nhớ. - Nhấp Save trên tab Startup, sau đó khởi động lại máy chủ.
- Theo dõi console trong quá trình khởi động. Nếu máy chủ đạt đến dòng
SERVER STARTEDhoặcLuaManager: Loading lua files...hoàn tất mà không sập, thì việc cấp phát bộ nhớ hiện đã đủ.
Cách Khắc Phục 2 — BackupsOnStart Làm Tràn /tmp (Sập Khi Khởi Động)
Project Zomboid có thể được cấu hình để tạo một bản sao lưu thế giới đầy đủ mỗi khi máy chủ khởi động. Khi bản sao lưu này được ghi vào /tmp — nơi có dung lượng giới hạn trên hầu hết các host Linux — máy chủ sẽ sập giữa quá trình khởi động với lỗi ghi đĩa khi /tmp đầy.
Triệu Chứng
- Máy chủ sập một cách chắc chắn mỗi lần khởi động lại, nhưng trước đây vẫn hoạt động.
- Console hoặc
debug.logchứa các lỗi nhưIOException: No space left on devicehoặc đề cập đến việc ghi vào/tmp/. - Tình trạng sập có xu hướng tồi tệ hơn theo thời gian khi bản lưu thế giới ngày càng lớn hơn.
- Máy chủ đôi khi khởi động được nếu bạn thử ngay sau khi node host được khởi động lại sạch sẽ (trước khi
/tmplại đầy).
Các Bước — Vô Hiệu Hóa BackupsOnStart
- Trong GPanel, vào tab File Manager.
- Điều hướng đến
/.cache/server/. Tìm tệp cấu hình máy chủ của bạn — nó thường có tênservertest.inihoặc tên máy chủ của bạn theo sau bởi.ini(ví dụ:MyServer.ini). - Mở tệp
.iniđể chỉnh sửa. - Sử dụng chức năng tìm kiếm của trình duyệt (Ctrl+F) để tìm
BackupsOnStart. - Thay đổi giá trị từ
truethànhfalse:BackupsOnStart=false - Khi đang ở trong tệp, hãy cũng kiểm tra cài đặt
BackupsOnVersionChangevà đặt nó thànhfalsenếu dung lượng đĩa là mối lo ngại:BackupsOnVersionChange=false - Lưu tệp và khởi động lại máy chủ. Theo dõi console để xác nhận máy chủ đạt đến dòng
SERVER STARTED.
/.cache/saves/multiplayer/ theo định kỳ, hoặc liên hệ với bộ phận hỗ trợ của Legion Hosting để hỏi về các tùy chọn sao lưu theo lịch trên gói của bạn.
Cách Khắc Phục 3 — SandboxVars.lua hoặc Cấu Hình Máy Chủ Bị Hỏng
Project Zomboid lưu trữ cài đặt thế giới trong một tệp Lua có tên SandboxVars.lua. Nếu tệp này được chỉnh sửa thủ công và lưu với lỗi cú pháp, hoặc nếu quá trình truyền tệp bị gián đoạn, máy chủ sẽ sập ngay lập tức khi khởi động lúc nó cố phân tích cú pháp tệp.
Triệu Chứng
- Console hiển thị
ERROR: SandboxVars,LuaManager errorhoặc lỗi phân tích cú pháp Lua kèm số dòng. - Tình trạng sập bắt đầu xảy ra ngay sau khi bạn chỉnh sửa cài đặt trong tệp
.inihoặcSandboxVars.luatrực tiếp. - Máy chủ có thể hiển thị
Bad argument #1 tohoặc các lỗi runtime Lua tương tự.
Các Bước — Kiểm Tra và Sửa Chữa SandboxVars.lua
- Trong GPanel, vào File Manager và điều hướng đến
/.cache/saves/multiplayer/<YourServerName>/. - Mở
SandboxVars.luađể chỉnh sửa. - Kiểm tra rằng tệp bắt đầu bằng
VERSION = 1,(hoặc tương tự) bên trong khốiSandboxVars = {, và kết thúc bằng dấu}đóng lại. Bất kỳ dấu phẩy nào bị thiếu, dấu ngoặc nhọn không đóng, hoặc ký tự lạc đều sẽ gây ra lỗi phân tích cú pháp. - Nếu bạn không thể xác định lỗi, cách khắc phục an toàn nhất là xóa hoàn toàn
SandboxVars.lua. Máy chủ sẽ tạo lại nó với các giá trị mặc định ở lần khởi động tiếp theo. Lưu ý: điều này đặt lại các cài đặt sandbox của bạn (vật phẩm rơi, số lượng zombie, v.v.) về mặc định — dữ liệu bản đồ và dữ liệu người chơi của bạn không bị ảnh hưởng. - Cũng hãy kiểm tra tệp
.initrong/.cache/server/để tìm các vấn đề tương tự nếu gần đây bạn đã chỉnh sửa nó bằng tay. Đảm bảo mọi dòng tuân theo định dạngKey=Valuemà không có dòng trống bên trong một giá trị. - Lưu các thay đổi và khởi động lại máy chủ.
SandboxVars.lua trực tiếp. Thay vào đó, hãy sử dụng bảng quản trị trong trò chơi hoặc giao diện cài đặt máy chủ trong GPanel nếu có. Việc chỉnh sửa trực tiếp dễ gây lỗi và có thể làm hỏng máy chủ chỉ vì một dấu phẩy bị bỏ sót.
Cách Khắc Phục 4 — Mật Khẩu Admin Trống Gây Sập
Project Zomboid yêu cầu một mật khẩu admin không được để trống để khởi động máy chủ nhiều người chơi. Nếu trường mật khẩu trống, tiến trình máy chủ sẽ thoát ngay lập tức sau khi cố gắng khởi tạo tài khoản admin.
Triệu Chứng
- Máy chủ hoàn toàn mới hoặc máy chủ vừa được đặt lại không khởi động được trong mọi lần thử.
- Đầu ra console rất ngắn — máy chủ in ra vài dòng khởi tạo rồi dừng lại.
debug.logcó thể chứa tham chiếu đến tài khoản admin hoặc việc xác thực mật khẩu.
Các Bước
- Trong GPanel, nhấp vào máy chủ của bạn và vào tab Startup.
- Tìm trường có nhãn Admin Password hoặc RCON Password. Xác nhận nó chứa một giá trị — nó không được để trống.
- Nếu trường trống, hãy nhập một mật khẩu. Sử dụng ít nhất 8 ký tự. Tránh các ký tự đặc biệt như
!,#,$hoặc@trong mật khẩu admin, vì một số phiên bản PZ không phân tích cú pháp chúng đúng cách trong các tham số khởi động. - Nhấp Save và khởi động lại máy chủ.
- Để kiểm tra thêm, hãy mở tệp
.initrong/.cache/server/và xác nhận dòngAdminPassword=có một giá trị sau dấu bằng.
Cách Khắc Phục 5 — Đặt Lại Thế Giới (Giải Pháp Cuối Cùng cho Tình Trạng Sập Dai Dẳng)
Nếu một bản lưu thế giới bị hỏng — ví dụ sau một lần sập máy chủ nghiêm trọng, một bản cập nhật thất bại, hoặc lỗi hệ thống tệp — bản thân dữ liệu lưu có thể không thể khôi phục được. Trong trường hợp này, xóa thế giới và bắt đầu lại từ đầu là lựa chọn duy nhất.
Các Bước
- Dừng máy chủ của bạn trong GPanel trước khi thực hiện bất kỳ thay đổi nào đối với các tệp lưu. Việc chỉnh sửa tệp trên một máy chủ đang chạy có thể gây ra hỏng hóc thêm.
- Trong GPanel, vào tab File Manager.
- Điều hướng đến
/.cache/saves/multiplayer/. - Bạn sẽ thấy một hoặc nhiều thư mục có tên máy chủ của bạn (ví dụ:
servertest). Trước khi xóa, bạn có thể tùy chọn tải xuống thư mục đó làm bản sao lưu bằng cách chọn nó và sử dụng tùy chọn tải xuống — ngay cả một bản lưu bị hỏng cũng có thể khôi phục được một phần sau này. - Xóa thư mục khớp với tên máy chủ của bạn bên trong
Multiplayer/. Đừng xóa chính thư mụcMultiplayer. - Cũng hãy điều hướng đến
/.cache/db/và xóa tệp<YourServerName>.db. Cơ sở dữ liệu này lưu trữ thống kê người chơi và có thể tham chiếu đến thế giới cũ — việc tạo lại nó tránh được sự không khớp. - Khởi động máy chủ của bạn. Nó sẽ tạo ra một thế giới mới bằng các cài đặt trong tệp
.inicủa bạn.
.ini, mật khẩu admin, danh sách mod và cài đặt port của bạn đều được giữ nguyên. Lần khởi động tiếp theo sẽ sử dụng chính xác các cài đặt đó để tạo ra một thế giới mới.
Tham Khảo Chẩn Đoán Nhanh
| Điều bạn thấy trong nhật ký | Nguyên nhân khả dĩ nhất | Cách khắc phục |
|---|---|---|
OutOfMemoryError hoặc Java heap space |
Không đủ RAM cho việc khởi động B42 | Cách Khắc Phục 1 — Lỗi Bộ Nhớ B42 |
IOException: No space left on device |
BackupsOnStart làm đầy /tmp |
Cách Khắc Phục 2 — BackupsOnStart |
Lỗi SandboxVars hoặc lỗi phân tích cú pháp Lua |
Tệp cấu hình bị hỏng hoặc chỉnh sửa thủ công | Cách Khắc Phục 3 — SandboxVars.lua |
| Máy chủ thoát ngay lập tức, đầu ra console rất ngắn | Mật khẩu admin trống | Cách Khắc Phục 4 — Mật Khẩu Admin |
| Sập liên tục bất kể thay đổi cấu hình | Bản lưu thế giới bị hỏng | Cách Khắc Phục 5 — Đặt Lại Thế Giới |
Vẫn Sập Sau Khi Thực Hiện Tất Cả Các Bước?
Nếu máy chủ của bạn vẫn sập sau khi đã thực hiện mọi cách khắc phục ở trên, hãy mở một ticket hỗ trợ với Legion Hosting. Hãy đính kèm những thông tin sau để giúp đội ngũ hỗ trợ chẩn đoán vấn đề một cách nhanh chóng:
- 50 dòng cuối cùng của đầu ra console GPanel của bạn tại thời điểm sập
- Toàn bộ nội dung của tệp
debug.loghoặcDebugLog-server.txtgần đây nhất - Phiên bản build Project Zomboid của máy chủ bạn (hiển thị trong console khi khởi động, ví dụ
Build 42.x.x) - Mức cấp phát RAM của bạn như được hiển thị trong GPanel
- Sự cố sập xảy ra trong mọi lần khởi động hay chỉ sau khi máy chủ đã chạy được một thời gian
- Bất kỳ thay đổi nào bạn đã thực hiện trước khi sự cố sập bắt đầu (thêm mod, chỉnh sửa cấu hình, cập nhật trò chơi)
Mở một ticket hỗ trợ và đính kèm ID máy chủ của bạn cùng các thông báo lỗi từ console GPanel.