שרתי Project Zomboid עלולים לקרוס או להיכשל בהפעלה ממספר סיבות מוכרות. מדריך זה מכסה את הסיבות הנפוצות ביותר שנראות בפניות התמיכה של Legion Hosting — מבאג זיכרון ב-Build 42 שדורש RAM נוסף בהפעלה, דרך גלישת גיבויים שממלאת את /tmp, ועד קבצי תצורה פגומים. עברו על הסעיפים להלן לפי הסדר.
לפני שמתחילים — איתור יומני קריסה
כמעט כל קריסה של Project Zomboid משאירה עדות באחד משני מקומות. בדקו את שניהם לפני שמנסים תיקון כלשהו, כדי שתדעו איזה סעיף במדריך זה רלוונטי עבורכם.
פלט מסוף GPanel
- התחברו ל-GPanel.
- בחרו את שרת ה-Project Zomboid שלכם מרשימת השרתים.
- לחצו על לשונית Console.
- גללו לתחתית הפלט. חפשו שורות המסומנות כ-
ERROR,FATAL,OutOfMemoryError, אוException. 20–30 השורות האחרונות לפני שהשרת נעצר הן בדרך כלל הרלוונטיות ביותר. - אם המסוף ריק, תהליך השרת הסתיים לפני שהספיק לכתוב משהו — זה כשלעצמו רמז (ראו סעיף הזיכרון של B42 להלן).
קובץ debug.log של השרת
Project Zomboid כותב יומן מפורט לקובץ debug.log בתיקיית הנתונים של השרת. קובץ זה מכיל לעתים קרובות stack trace מלא של Java שמצביע ישירות על סיבת הקריסה.
- ב-GPanel, עברו ללשונית File Manager.
- נווטו אל
/.cache/Logs/. תראו קבצים בשמות כמוdebug.log,DebugLog-server.txt, או קבצי יומן עם תאריכים. - פתחו את קובץ היומן העדכני ביותר. השתמשו ב-Ctrl+End או גללו לתחתית וקראו כלפי מעלה משם.
- חפשו את מילות המפתח
OutOfMemoryError,IOException,NullPointerException, אוSandboxVars. העתיקו את השורות הרלוונטיות — תצטרכו אותן אם תפתחו פנייה לתמיכה.
תיקון 1 — שימוש גבוה בזיכרון בהפעלה ב-Build 42 (באג ידוע במשחק)
אם השרת שלכם יוצא מיד בהפעלה ללא שגיאה במסוף, או שהמסוף מציג OutOfMemoryError או שגיאת Java heap space, השרת אוזל לו הזיכרון לפני שהעולם מסיים להיטען.
תסמינים
- השרת מתחיל, המסוף גולל למשך מספר שניות, ואז נעצר ללא שגיאה הנראית לשחקנים.
- המסוף מציג
java.lang.OutOfMemoryError: Java heap spaceאוGC overhead limit exceeded. - השרת עובד בחלק מההפעלות מחדש אך לא באחרות (זמינות הזיכרון משתנה).
- השרת עבד בסדר על B41 אך קורס באופן עקבי לאחר שדרוג ל-B42.
שלבים
- ב-GPanel, לחצו על השרת שלכם ועברו ללשונית Console. שימו לב להקצאת ה-RAM הנוכחית של השרת המוצגת בסרגל המשאבים או בפאנל מידע השרת.
- אם התוכנית שלכם כוללת פחות מ-10 GB RAM, השרת עלול לקרוס בעת ההפעלה כי B42 דורש כ-9 GB לאתחול. תצטרכו לשדרג את התוכנית שלכם או לחכות ש-Indie Stone ישחררו תיקון.
- אם לתוכנית שלכם כבר יש 10 GB או יותר והשרת עדיין קורס בהפעלה, עברו ללשונית Startup ב-GPanel.
- חפשו שדה בשם Java Memory, Max RAM, או Xmx. ודאו שהוא מוגדר לא יותר מ-80–85% מסך ה-RAM הזמין שלכם. לדוגמה, בתוכנית של 12 GB, הגדירו ערך של
10240(10 GB במגה-בייט). אל תגדירו אותו שווה או מעל סך ה-RAM — מערכת ההפעלה ותהליכים אחרים גם צריכים זיכרון. - לחצו על Save בלשונית Startup, ואז הפעילו מחדש את השרת.
- עקבו אחר המסוף במהלך ההפעלה. אם השרת מגיע לשורה
SERVER STARTEDאו ש-LuaManager: Loading lua files...מסתיים ללא קריסה, הקצאת הזיכרון מספיקה כעת.
תיקון 2 — BackupsOnStart גורם לגלישת /tmp (קריסה בהפעלה)
ניתן להגדיר את Project Zomboid ליצור גיבוי מלא של העולם בכל פעם שהשרת מופעל. כאשר הגיבוי נכתב ל-/tmp — שמוגבל בגודלו ברוב מארחי Linux — השרת קורס באמצע ההפעלה עם שגיאת כתיבה לדיסק ברגע ש-/tmp מתמלא.
תסמינים
- השרת קורס באופן מהימן בכל הפעלה מחדש, אך עבד בעבר.
- המסוף או
debug.logמכילים שגיאות כמוIOException: No space left on deviceאו מזכירים כתיבה ל-/tmp/. - הקריסות נוטות להחמיר עם הזמן ככל שהשמירה של העולם גדלה.
- השרת מצליח לפעמים להתחיל אם מנסים זמן קצר לאחר אתחול נקי של צומת המארח (לפני ש-
/tmpמתמלא שוב).
שלבים — השבתת BackupsOnStart
- ב-GPanel, עברו ללשונית File Manager.
- נווטו אל
/.cache/server/. חפשו את קובץ התצורה של השרת — בדרך כלל הוא נקראservertest.iniאו שם השרת שלכם ואחריו.ini(לדוגמה,MyServer.ini). - פתחו את קובץ ה-
.iniלעריכה. - השתמשו בפונקציית החיפוש של הדפדפן (Ctrl+F) כדי לחפש
BackupsOnStart. - שנו את הערך מ-
trueל-false:BackupsOnStart=false - בעודכם בקובץ, בדקו גם את ההגדרה
BackupsOnVersionChangeוהגדירו אותה ל-falseאם מקום בדיסק מדאיג:BackupsOnVersionChange=false - שמרו את הקובץ והפעילו מחדש את השרת. עקבו אחר המסוף כדי לוודא שהשרת מגיע לשורה
SERVER STARTED.
/.cache/saves/multiplayer/ מעת לעת, או פנו לתמיכה של Legion Hosting כדי לשאול על אפשרויות גיבוי מתוזמנות בתוכנית שלכם.
תיקון 3 — קובץ SandboxVars.lua או תצורת שרת פגומים
Project Zomboid שומר את הגדרות העולם בקובץ Lua בשם SandboxVars.lua. אם קובץ זה נערך ידנית ונשמר עם שגיאת תחביר, או אם העברת קובץ הופסקה, השרת יקרוס מיד בהפעלה כשהוא מנסה לפרסר את הקובץ.
תסמינים
- המסוף מציג
ERROR: SandboxVars,LuaManager error, או שגיאת פירסור Lua עם מספר שורה. - הקריסה התחילה להתרחש מיד לאחר שערכתם הגדרות בקובץ ה-
.iniאו ב-SandboxVars.luaישירות. - השרת עשוי להציג
Bad argument #1 toאו שגיאות ריצה דומות של Lua.
שלבים — בדיקה ותיקון SandboxVars.lua
- ב-GPanel, עברו ל-File Manager ונווטו אל
/.cache/saves/multiplayer/<YourServerName>/. - פתחו את
SandboxVars.luaלעריכה. - ודאו שהקובץ מתחיל ב-
VERSION = 1,(או דומה) בתוך בלוקSandboxVars = {, ומסתיים בסוגר סגירה}. כל פסיק חסר, סוגר שלא נסגר, או תו תועה יגרמו לכשל בפירסור. - אם אינכם מצליחים לזהות את השגיאה, התיקון הבטוח ביותר הוא למחוק את
SandboxVars.luaלחלוטין. השרת ייצור אותו מחדש עם ערכי ברירת מחדל בהפעלה הבאה. שימו לב: זה מאפס את הגדרות ה-sandbox שלכם (שלל, כמות זומבים, וכו') לברירות מחדל — נתוני המפה ונתוני השחקנים לא מושפעים. - בדקו גם את קובץ ה-
.iniב-/.cache/server/לבעיות דומות אם ערכתם אותו ידנית לאחרונה. ודאו שכל שורה עוקבת אחר הפורמטKey=Valueללא שורות ריקות בתוך ערך. - שמרו את השינויים והפעילו מחדש את השרת.
SandboxVars.lua ישירות. במקום זאת, השתמשו בפאנל הניהול בתוך המשחק או בממשק הגדרות השרת ב-GPanel אם זמין. עריכה ישירה נוטה לשגיאות ויכולה לשבור את השרת עם פסיק בודד שחסר.
תיקון 4 — סיסמת מנהל ריקה גורמת לקריסה
Project Zomboid דורש סיסמת מנהל שאינה ריקה כדי להפעיל שרת מרובה שחקנים. אם שדה הסיסמה ריק, תהליך השרת יוצא מיד לאחר ניסיון לאתחל את חשבון המנהל.
תסמינים
- שרת חדש או שרת שאופס לאחרונה נכשל בכל ניסיון הפעלה.
- פלט המסוף קצר מאוד — השרת מדפיס כמה שורות אתחול ואז נעצר.
debug.logעשוי להכיל התייחסות לחשבון המנהל או לאימות סיסמה.
שלבים
- ב-GPanel, לחצו על השרת שלכם ועברו ללשונית Startup.
- חפשו שדה בשם Admin Password או RCON Password. ודאו שהוא מכיל ערך — הוא לא יכול להיות ריק.
- אם השדה ריק, הזינו סיסמה. השתמשו לפחות ב-8 תווים. הימנעו מתווים מיוחדים כמו
!,#,$, או@בסיסמת המנהל, כיוון שחלק מגרסאות PZ לא מצליחות לפרסר אותם נכון בארגומנטי ההפעלה. - לחצו על Save והפעילו מחדש את השרת.
- כבדיקה משנית, פתחו את קובץ ה-
.iniב-/.cache/server/וודאו שלשורהAdminPassword=יש ערך אחרי סימן השוויון.
תיקון 5 — איפוס העולם (מוצא אחרון לקריסות מתמשכות)
אם שמירת עולם נפגמת — לדוגמה לאחר קריסת שרת קשה, עדכון כושל, או שגיאות מערכת קבצים — נתוני השמירה עצמם עשויים להיות בלתי ניתנים לשחזור. במקרה זה, מחיקת העולם והתחלה מחדש היא האפשרות היחידה.
שלבים
- עצרו את השרת ב-GPanel לפני ביצוע שינויים בקבצי השמירה. עריכת קבצים על שרת פעיל עלולה לגרום לפגיעה נוספת.
- ב-GPanel, עברו ללשונית File Manager.
- נווטו אל
/.cache/saves/multiplayer/. - תראו תיקייה אחת או יותר עם שם השרת שלכם (לדוגמה,
servertest). לפני המחיקה, הורידו אופציונלית את התיקייה כגיבוי על ידי בחירתה ושימוש באפשרות ההורדה — אפילו שמירה פגומה עשויה להיות ניתנת לשחזור חלקי מאוחר יותר. - מחקו את התיקייה התואמת לשם השרת שלכם בתוך
Multiplayer/. אל תמחקו את תיקייתMultiplayerעצמה. - נווטו גם אל
/.cache/db/ומחקו את הקובץ<YourServerName>.db. מסד נתונים זה מחזיק סטטיסטיקות שחקנים ועשוי להפנות לעולם הישן — יצירתו מחדש מונעת אי-התאמות. - הפעילו את השרת. הוא ייצור עולם חדש באמצעות ההגדרות בקובץ ה-
.iniשלכם.
.ini, סיסמת המנהל, רשימת המודים והגדרות הפורטים נשמרים כולם. ההפעלה הבאה תשתמש בדיוק באותן הגדרות ליצירת עולם חדש.
טבלת אבחון מהיר
| מה שאתם רואים ביומן | הסיבה הסבירה ביותר | תיקון |
|---|---|---|
OutOfMemoryError או Java heap space |
אין מספיק RAM להפעלת B42 | תיקון 1 — באג זיכרון B42 |
IOException: No space left on device |
BackupsOnStart ממלא את /tmp |
תיקון 2 — BackupsOnStart |
שגיאת SandboxVars או שגיאת פירסור Lua |
קובץ תצורה פגום או שנערך ידנית | תיקון 3 — SandboxVars.lua |
| השרת יוצא מיד, פלט מסוף קצר מאוד | סיסמת מנהל ריקה | תיקון 4 — סיסמת מנהל |
| קורס באופן עקבי ללא קשר לשינויי תצורה | שמירת עולם פגומה | תיקון 5 — איפוס עולם |
עדיין קורס לאחר כל השלבים?
אם השרת שלכם עדיין קורס לאחר שעברתם על כל תיקון למעלה, פתחו פנייה לתמיכה ב-Legion Hosting. כללו את הפרטים הבאים כדי לעזור לצוות התמיכה לאבחן את הבעיה במהירות:
- 50 השורות האחרונות מפלט מסוף ה-GPanel בזמן הקריסה
- התוכן המלא של קובץ ה-
debug.logאוDebugLog-server.txtהעדכני ביותר - גרסת ה-Build של Project Zomboid בשרת שלכם (מוצגת במסוף בהפעלה, לדוגמה
Build 42.x.x) - הקצאת ה-RAM כפי שמוצגת ב-GPanel
- האם הקריסה מתרחשת בכל הפעלה או רק לאחר שהשרת פועל זמן מה
- שינויים שביצעתם לפני שהקריסה התחילה (הוספת מודים, עריכת תצורה, עדכוני משחק)
פתחו פנייה לתמיכה וכללו את מזהה השרת שלכם ואת הודעות השגיאה ממסוף ה-GPanel.