מדריך זה מכסה פתרון בעיות מתקדם של מודים עבור שרתי Project Zomboid המתארחים ב-Legion Hosting. אם טרם התקנת מודים, התחל עם מדריך התקנת המודים הבסיסי תחילה. מאמר זה מתייחס לבעיות המודים הנפוצות ביותר שנראות בפניות התמיכה של Legion Hosting, כולל פגמים ב-WorldDictionary, שגיאות פורמט מודים, קונפליקטים בסדר טעינה, ואי-התאמות גרסאות בין שרת ללקוח.
לפני שמתחילים
- התחבר ל-GPanel ובחר את שרת ה-Project Zomboid שלך.
- עצור את השרת לפני ביצוע שינויים בהגדרות או בקבצים.
- גבה את תיקיית שמירת העולם (
/.cache/saves/multiplayer/) דרך SFTP או GPanel לפני ניסיון תיקון כלשהו. ראה את מדריך ה-SFTP אם אינך מכיר העברת קבצים. - הכן את נתיב קובץ ה-
.iniשל השרת שלך:/.cache/server/<servername>.ini(למשל,servertest.ini).
1. שגיאות פורמט מודים (B42 לעומת B41)
הסיבה הנפוצה ביותר לכך שמודים לא נטענים היא פורמט שגוי בשורת Mods= בקובץ ה-.ini של השרת. Build 42 ו-Build 41 משתמשים בתחביר שונה, וערבוב ביניהם יגרום לכישלון שקט בטעינת המודים.
פורמט B42 (ברירת מחדל נוכחית)
Build 42 דורש קידומת לוכסן הפוך לפני כל Mod ID בשורת Mods=:
Mods=\ModID1;\ModID2;\ModID3;
פורמט DLMP משלב Workshop IDs ו-Mod IDs עם מפריד לוכסן הפוך:
Mods=2392987841\ModID1;1550458773\ModID2;2786383654\ModID3;
שורת WorkshopItems= משתמשת באותו פורמט מופרד בנקודה-פסיק בשני הגרסאות:
WorkshopItems=2392987841;1550458773;2786383654
פורמט B41 (ישן)
Build 41 משתמש ב-Mod IDs מופרדים בנקודה-פסיק פשוטים ללא לוכסן הפוך:
Mods=ModID1;ModID2;ModID3
Mods= כך שתכלול את קידומת הלוכסן ההפוך.
כיצד לתקן
- פתח את
/.cache/server/<servername>.iniבמנהל הקבצים של GPanel. - מצא את שורת
Mods=ובדוק את הפורמט מול הדוגמאות למעלה. - אם הפורמט שגוי עבור גרסת ה-Build שלך, תקן אותו. השתמש ב-Legion Hosting Mod Organizer כדי ליצור שורות בפורמט נכון באופן אוטומטי.
- שמור את הקובץ והפעל את השרת.
2. פגמים ב-WorldDictionary
ה-WorldDictionary הוא קובץ (WorldDictionary.bin) שממפה שמות פריטים למזהים מספריים פנימיים. כאשר מודים מתווספים או מוסרים, המילון עלול להיפגם, מה שגורם לשרת לקרוס בעת ההפעלה עם שגיאת WorldDictionaryException.
תסמינים
- הקונסולה או
debug.logמציגיםWorldDictionaryExceptionאו שגיאותWorldDictionary. - השרת קורס מיד בעת ההפעלה, במיוחד במהלך טעינת העולם.
- הקריסה החלה לאחר הוספה, הסרה, או עדכון מודים.
הבנת הסיכון
שלבי שחזור
- עצור את השרת ב-GPanel.
- גבה את כל תיקיית השמירה דרך SFTP: הורד את כל תיקיית
/.cache/saves/multiplayer/<YourWorldName>/למחשב המקומי שלך. - ראשית, נסה פשוט לבטל את שינוי המוד שגרם לשגיאה. אם הוספת זה עתה מוד, הסר אותו משורות
Mods=ו-WorkshopItems=בקובץ ה-.ini. אם הסרת זה עתה מוד, הוסף אותו בחזרה. הפעל את השרת ובדוק אם הקריסה נפתרה. - אם ביטול שינוי המוד לא עובד, התחבר דרך SFTP ונווט אל
/.cache/saves/multiplayer/<YourWorldName>/. - מחק את
WorldDictionary.bin. - הפעל את השרת. Project Zomboid ייצור מחדש את המילון בעת ההפעלה.
- התחבר לשרת ובדוק את העולם לאיתור פריטים פגומים, רכבים חסרים, או מלאי שבור. אם העולם ניזוק באופן חמור, שחזר מהגיבוי שיצרת בשלב 2.
3. קונפליקטים במוד Authentic Z
Authentic Z הוא אחד מאוספי המודים הפופולריים ביותר של Project Zomboid, אך הוא מקור תדיר לפניות תמיכה כי הוא מכיל תת-מודים מרובים שמתנגשים זה בזה.
הכלל
Authentic Z - Current.
טעויות נפוצות
- הוספת
Authentic Z - CurrentוגםAuthentic Z - Litemodeבו-זמנית. - הוספת תת-מודים של Authentic Z שמיועדים למשחק יחיד לצד גרסת ריבוי המשתתפים.
- חוסר מודעות לכך שתת-מודים שונים של Authentic Z חולקים את אותו Workshop ID אך יש להם Mod IDs שונים, כך שההורדה מה-Workshop מצליחה אך השרת טוען קבצי מוד מתנגשים.
כיצד לתקן
- פתח את
/.cache/server/<servername>.iniבמנהל הקבצים של GPanel. - חפש בשורת
Mods=כל ערך שמכילAuthenticאוAuthenticZ. - השאר רק תת-מוד אחד של Authentic Z (מומלץ:
Authentic Z - Current). הסר את כל הערכים האחרים של Authentic Z משורותMods=ו-WorkshopItems=. - שמור את הקובץ והפעל מחדש את השרת.
4. בעיות רגישות לאותיות גדולות/קטנות ב-Linux
שרתי Legion Hosting רצים על Linux, שם שמות קבצים ותיקיות הם רגישים לאותיות גדולות וקטנות. קובץ בשם MyMod.lua וקובץ בשם mymod.lua מטופלים כשני קבצים שונים לחלוטין. זה גורם לבעיות כאשר מפתחי מודים מפתחים על Windows (לא רגיש לאותיות) והמודים שלהם מכילים הפניות קבצים שאינן תואמות.
תסמינים
- מוד עובד בצורה מושלמת במשחק יחיד על מחשב ה-Windows שלך אך נכשל בשרת.
- הקונסולה או
debug.logמציגים שגיאותFileNotFoundExceptionאוcan't find fileהמפנות לסקריפט Lua או טקסטורה בתוך מוד. - השגיאה מצביעה על קובץ שאכן קיים בתיקיית המוד, אך עם אותיות שונות (למשל, הקוד מפנה ל-
Items.txtאך שם הקובץ בפועל הואitems.txt).
כיצד לאבחן
- בדוק את הקונסולה או קבצי היומן ב-
/.cache/Logs/לנתיב הקובץ המדויק המוזכר בשגיאה. - התחבר דרך SFTP ונווט לתיקיית המוד ב-
/steamapps/workshop/content/108600/<WorkshopID>/. - השווה את שמות הקבצים בדיסק עם שם הקובץ המוזכר בהודעת השגיאה. חפש הבדלים באותיות גדולות/קטנות.
כיצד לתקן
- אם אתה יכול לשנות שם לקובץ: התחבר דרך SFTP ושנה את שם הקובץ כך שיתאים לאותיות הצפויות בקוד המוד. שים לב שתיקון זה יידרס אם המוד יתעדכן ב-Steam Workshop.
- אם הבעיה היא במוד עצמו: דווח על הבאג ליוצר המוד בדף ה-Steam Workshop. ציין שלהפניית הקובץ יש אי-התאמה באותיות ושהיא נכשלת בשרתי Linux. מפתחי מודים רבים אינם מודעים לרגישות לאותיות ב-Linux.
- כפתרון עוקף: בדוק את תגובות דף ה-Workshop של המוד — מפעילי שרתי Linux אחרים עשויים לפרסם תיקון או גרסה מותאמת (fork) של המוד.
5. בעיות סדר טעינת מודים
Project Zomboid טוען מודים בסדר שבו הם מופיעים בשורת Mods=. חלק מהמודים תלויים בכך שמודים אחרים ייטענו ראשונים. אם תלות נטענת אחרי המוד שדורש אותה, המוד התלוי עלול להיכשל בשקט או לגרום לשגיאות.
תסמינים
- תכונות מוד עובדות באופן חלקי — חלק מהפריטים או המערכות ממוד מסוים קיימים אך אחרים חסרים.
- הקונסולה מציגה שגיאות
NullPointerExceptionאוattempt to index a nil valueהמפנות לסקריפטי Lua של מוד. - שגיאות מופיעות רק כאשר שילוב מסוים של מודים מותקן, אך כל מוד עובד מצוין בנפרד.
כיצד לתקן
- בדוק בדף ה-Steam Workshop של כל מוד את הסעיף "Required Mods" או "Load Order". מפתחי מודים רבים מציינים אילו מודים חייבים להיטען לפני שלהם.
- פתח את
/.cache/server/<servername>.iniומצא את שורתMods=. - סדר מחדש את הערכים כך שמודי תלות יופיעו לפני המודים שדורשים אותם. לדוגמה, אם מוד B דורש את מוד A, השורה צריכה להיות
Mods=\ModA;\ModB;(פורמט B42). - מודי מסגרת וספריות (כגון
ModFramework,TsarLib, אוShark's Mod Utils) צריכים תמיד להופיע ראשונים בשורתMods=. - שמור את הקובץ והפעל מחדש את השרת.
6. קריסות שרת לאחר הוספת מודים
אם השרת שלך עבד תקין וקרס לאחר הוספת מוד אחד או יותר, המוד החדש הוא ככל הנראה הגורם. חלק זה מלווה אותך בבידוד המוד הבעייתי.
בידוד שלב אחר שלב
- עצור את השרת ב-GPanel.
- פתח את
/.cache/server/<servername>.iniבמנהל הקבצים. - רשום את כל המודים שהוספת זה עתה. הסר את כולם משורות
Mods=ו-WorkshopItems=. - הפעל את השרת. אם הוא עולה בהצלחה, הבעיה היא באחד המודים שהסרת.
- הוסף את המודים בחזרה אחד בכל פעם, והפעל מחדש את השרת לאחר כל הוספה. כאשר הקריסה חוזרת, המוד האחרון שהוספת הוא הגורם.
- לאחר הזיהוי, בדוק בדף ה-Workshop של המוד:
- הערה לגבי תאימות B42 — מודים רבים של B41 לא עודכנו ל-B42.
- קונפליקטים ידועים עם מודים אחרים שאתה מפעיל.
- מודי תלות נדרשים שייתכן שלא התקנת.
קריאת יומן הקריסה
לפני ביצוע תהליך הבידוד, בדוק את יומן הקריסה — הוא לעתים קרובות מצביע ישירות על המוד הבעייתי:
- ב-GPanel, פתח את לשונית Console וגלול לסוף הפלט.
- חפש שורות
STACK TRACE,Exception, אוERROR. - השורות שמיד מעל ה-stack trace בדרך כלל מפנות לשם קובץ מוד או Mod ID — זה מספר לך איזה מוד גרם לקריסה.
- לפרטים נוספים, פתח את קובץ היומן המלא דרך SFTP ב-
/.cache/Logs/ובדוק את קובץDebugLog-server.txtאוdebug.logהעדכני ביותר.
7. אי-התאמות גרסאות מודים (שרת מול לקוח)
Project Zomboid דורש שלשרת ולכל הלקוחות המחוברים תהיה אותה גרסה של כל מוד. אם מוד מתעדכן ב-Steam Workshop והשרת מוריד את הגרסה החדשה אך לשחקן עדיין יש את הגרסה הישנה במטמון (או להיפך), יתרחשו כשלי חיבור או קריסות.
תסמינים
- שחקנים מקבלים שגיאת "Mod mismatch" או "Version mismatch" בעת ניסיון להתחבר.
- חלק מהשחקנים יכולים להתחבר אך אחרים לא — אלה שלא יכולים להתחבר מחזיקים גרסת מוד שונה במטמון המקומי.
- השרת עבד תקין, ואז מוד התעדכן ב-Steam Workshop ופתאום חלק מהשחקנים לא יכולים להצטרף.
- שחקנים רואים טקסטורות חסרות, פריטים, או רכיבי ממשק שבורים ממודים שעודכנו לאחרונה.
תיקון למפעילי שרת
- עצור את השרת ב-GPanel.
- הפעל את השרת מחדש. בעת ההפעלה, השרת מוריד מחדש את הגרסאות העדכניות של כל מודי ה-Workshop. זה מבטיח שהשרת מריץ את הגרסה החדשה ביותר.
- אם לשרת עדיין יש גרסה ישנה במטמון, התחבר דרך SFTP ומחק את תיקיית מטמון ה-Workshop של המוד הספציפי ב-
/steamapps/workshop/content/108600/<WorkshopID>/. הפעל מחדש את השרת לאילוץ הורדה נקייה.
תיקון לשחקנים
שחקנים שאינם יכולים להתחבר בגלל אי-התאמות גרסאות מודים צריכים:
- לפתוח את Steam ולנווט אל Library → Project Zomboid.
- ללחוץ ימני על Project Zomboid, לבחור Properties → Local Files → Verify Integrity of Game Files.
- כמו כן לנווט לתיקיית Steam Workshop של Project Zomboid במחשב המקומי שלהם ולמחוק קבצי מוד במטמון לאילוץ הורדה מחדש.
- להפעיל את המשחק ולהתחבר שוב לשרת.
/.cache/mods/ בשרת במקום להשתמש בעדכון אוטומטי של ה-Workshop. הסר את ה-Workshop ID המתאים משורת WorkshopItems= למניעת עדכונים אוטומטיים. ראה את מדריך התקנת המודים להוראות התקנת מודים שלא דרך ה-Workshop.
8. ניקוי מטמון Steam Workshop
אם מספר בעיות מודים נמשכות ואתה חושד שמטמון ההורדה של ה-Workshop פגום, אתה יכול לאלץ הורדה מחדש מלאה של כל מודי ה-Workshop.
- עצור את השרת ב-GPanel.
- התחבר דרך SFTP ונווט אל
/steamapps/workshop/. - מחק את כל תיקיית
workshop/(או את תוכנה). - הפעל את השרת. Steam יוריד מחדש את כל פריטי ה-Workshop מאפס.
- עקוב אחר קונסולת ה-GPanel כדי לוודא שכל המודים סיימו להוריד לפני שהשרת מתחיל לטעון את העולם.
טבלת אבחון מהיר
| מה אתה רואה | הסיבה הסבירה ביותר | סעיף |
|---|---|---|
| מודים לא נטענים, אין שגיאות ביומן | פורמט מוד שגוי (פורמט B41 על שרת B42 או להיפך) | 1. שגיאות פורמט מודים |
WorldDictionaryException בקונסולה |
פגמים ב-WorldDictionary מהוספת/הסרת מודים | 2. פגמים ב-WorldDictionary |
| קריסת שרת עם מספר תת-מודים של Authentic Z | תת-מודים מתנגשים של Authentic Z נטענו בו-זמנית | 3. קונפליקטים של Authentic Z |
FileNotFoundException עבור קובץ מוד שקיים |
אי-התאמת רגישות לאותיות ב-Linux | 4. בעיות רגישות לאותיות |
שגיאות NullPointerException או nil value ממודים |
סדר טעינת מודים שגוי או תלות חסרה | 5. בעיות סדר טעינה |
STACK TRACE לאחר הוספת מודים חדשים |
מוד לא תואם או מתנגש | 6. קריסות לאחר הוספת מודים |
| "Mod mismatch" או "Version mismatch" בעת חיבור | לשרת וללקוח יש גרסאות מוד שונות | 7. אי-התאמות גרסאות |
| בעיות מודים מרובות, שום דבר אחר לא עובד | מטמון Workshop פגום | 8. מטמון Workshop |
עדיין יש בעיות מודים?
אם בעיית המוד שלך אינה מכוסה למעלה או שהתיקונים לא פתרו אותה, פתח פנייה לתמיכה עם המידע הבא כדי לעזור לצוות התמיכה לאבחן את הבעיה במהירות:
- גרסת ה-Build של השרת שלך (B41 או B42), המוצגת בקונסולה בעת ההפעלה
- שורות
Mods=ו-WorkshopItems=המלאות מקובץ ה-.iniשלך - 50 השורות האחרונות של פלט קונסולת GPanel בעת הקריסה
- תוכן קובץ היומן העדכני ביותר ב-
/.cache/Logs/ - אילו מודים נוספו, הוסרו, או עודכנו מיד לפני שהבעיה התחילה
- האם הבעיה מתרחשת בעת ההפעלה או רק כאשר שחקנים מתחברים
פתח פנייה לתמיכה וכלול את מזהה השרת שלך והפרטים הרשומים למעלה.