
שרת FiveM ישראלי יכול לעבוד מצוין בערב אחד, ולקום אחרי ריסטארט עם חצי מהסקריפטים שבורים. לרוב זה לא "המנוע השתגע". זה סדר טעינה, תלויות, ו-ensure כפול. המדריך הזה נותן תהליך לסדר Resources בלי להפוך כל ריסטארט לרולטה.
למה סדר חשוב
Resource A שצריך את B לפני שהוא רץ, ייכשל בשקט או ברעש לפי איך שנכתב. בערב שישי אף אחד לא רוצה לקרוא stack trace בזמן שיש 40 שחקנים בחוץ.
תסמינים קלאסיים:
- יישויות / נכסים חסרים אחרי ריסטארט
- פקודות אדמין לא עובדות עד ensure ידני
- מסגרת כלכלה עולה לפני בסיס הדמויות
- "אצלי בשרת טסט עובד" כי שם הסדר אחר
מפת תלויות לפני שנוגעים בקבצים
פתחו גיליון פשוט (או הודעה ב-#staff) עם עמודות:
- שם ה-resource
- מה הוא צריך לפניו
- האם קריטי לעלייה
- מי אחראי עליו בצוות
- האם יש לו db migrations
בלי המפה הזאת אתם מנחשים. עם המפה, אתם מתקנים.
#core
שכבת ליבה ראשונה:
- framework / תשתית דמויות
- בסיס נתונים / ORM אם רלוונטי
- הרשאות / ACE בסיסי
- לוגים מרכזיים
רק אחרי ש-#core יציב, מעלים מערכות משחק.
#systems
שכבת מערכות:
- מלאי / בנק / עבודות
- רכבים / בתים
- אנטי-ציט בצד שרת (לפי הסטאק שלכם)
- תורים / יוניקורים אם יש
אל תערבבו סקריפט קוסמטי כבד באמצע שרשרת קריטית רק כי "היה מקום בקובץ".
#content
שכבת תוכן בסוף:
- מפות / MLO
- בגדים / פרופים
- אירועים זמניים
- סקריפטים ניסיוניים
תוכן יכול להישבר בלי להפיל את כל השרת. ליבה לא.
תהליך שינוי בטוח
- שנו דבר אחד בשרת טסט
- ריסטארט מלא, לא רק ensure
- בדקו join + פעולה בסיסית (יצירת דמות / בנק / רכב)
- רשמו ב-#logs מה השתנה
- רק אז לפרודקשן, בחלון תחזוקה קצר
ensure ידני ש"מתקן" בערב מסתיר באג סדר. הריסטארט הבא יחזיר את הבאג.
איך להתמודד עם ensure כפול
אם אותו resource מופיע פעמיים בשרשרת העלייה, תתקנו את הקובץ. אל תסמכו על "זה תמיד עבד".
בדקו גם:
- משאבים כבויים שעדיין נקראים מתלות
- שמות ישנים אחרי rename
- משאבים שנשארו מאירוע חג
נקיון שקט מונע קריסה רועשת.
#incidents
כשמשהו נשבר אחרי עלייה:
- אל תשנו 10 קבצים במקביל
- חזרו לגרסה הקודמת של רשימת העלייה אם יש
- העלו ליבה קודם, בדקו, ואז מערכות
- עדכנו שחקנים ב-#announcements בלי האשמות
זמן השבתה עם הסבר עדיף משרת "למעלה" שבו אי אפשר לשחק.
מלכודות
- להעתיק רשימת ensure משרת אחר בלי להבין תלויות
- לשים אנטי-ציט אחרי סקריפטים שהוא אמור לעטוף
- לשכוח migrations אחרי עדכון resource
- צוות שמוסיף סקריפט ישר לפרודקשן ב-23:40
סיכום מעשי
סדר טעינה הוא ארכיטקטורה, לא אסתטיקה של קובץ. ליבה, מערכות, תוכן. טסט עם ריסטארט מלא. לוג שינויים. אם אתם עדיין מתקנים ב-ensure ידני כל ערב, יש לכם חוב טכני שקוראים לו "לוח זמנים של קריסה".