פתרון שגיאה של Metin2 "Socket Bind נכשל".
כאשר אתה מפעיל את שרתי Metin2 PVP, הערוצים (CH) לא נפתחים, הכניסות למשחק נשארות סגורות וקבצי syserr.txt בספריות הליבה נמחקים. "SocketBindBind: bind: כתובת כבר בשימוש" או "SYSTEM_CMD: socket_bind: כשל" אם אתה רואה אזהרות, השרת שלך חווה התנגשות יציאה. במדריך זה תלמדו את הסיבות ואת הפתרונות המדויקים לבעיה זו.
1. מהי שורש הבעיה?
כל ערוץ משחק (Auth, CH1, CH2, Game99 וכו') תופס מספר יציאה ספציפי (לדוגמה: 13000, 13001) במערכת ההפעלה FreeBSD על מנת לקבל חיבורי נגן חיצוניים. אם קבצי המשחק שלך ינסו לפתוח מחדש יציאה **שכבר פתוחה ונמצאת בשימוש** במערכת, היא תראה שגיאה "Socket Bind Failed" והערוץ הזה ייסגר בעצמו.
שיטה 2: סגירת תהליכי MySQL או משחק ברקע
הסיבה השכיחה ביותר לשגיאה זו היא הפעלה מחדש של השרת שוב ושוב מבלי לכבות אותו לחלוטין. פקודת ההתחלה החדשה נותנת שגיאה מכיוון שתהליכי משחק ישנים הרצים ברקע אינם סוגרים את היציאות. לפתרון:
- התחבר למסוף Putty והקלד את הפקודה הבאה כדי לרשום את כל תהליכי המשחק הפעילים ברקע:
ps ax | grep game - אם אתה עדיין רואה ערוצי משחקים רצים ברשימה, סיים אותם לחלוטין בפקודה אחת:
killall -9 gameאוkillall -9 db - לאחר שווידאתם שהתהליכים סגורים לחלוטין, נסה להפעיל שוב את המשחק.
שיטה 3: תיקון התנגשויות יציאה בקבצי CONFIG
אם אתה מקבל שגיאה זו בהתחלה הראשונה גם לאחר אתחול נקי לשרת, מספרי היציאות בקבצים שלך מתנגשים זה עם זה:
- התחבר לשרת שלך עם Filezilla
/usr/game/cores/עבור לספרייה. - בהתאמה
auth,channel1,channel2וgame99בתיקיות CONFIG פתח את הקבצים אחד אחד. - בכל קובץ PORT בדוק את הערך. לְדוּגמָה; אם יציאת האישור היא 13000, יציאת Channel1 צריכה להיות 13010, יציאת Channel2 צריכה להיות 13020.
- ודא ש-** אותו מספר יציאה** אינו כתוב בקובץ CONFIG בשתי תיקיות שונות. אם זהה, תן לו מספר יציאה ייחודי ושמור את הקובץ.
שיטה 4: זיהוי האפליקציה באמצעות הגבול והיציאה המתנגשים
מלבד קובצי המשחק שלך, ייתכן שסקריפט חיצוני, פאנל אינטרנט או תוכנת הגנה (Guard) שהתקנת בשרת תופסים את יציאת המשחק שלך. כדי לגלות איזו אפליקציה משתמשת ביציאה:
- רשום את היציאות והשירותים הפעילים על ידי הפעלת הפקודה הבאה במסוף Putty:
sockstat -4 -l - ברשימה שמופיעה, מצא את מספר היציאה שלא נפתחה של המשחק שלך ובחן את שם האפליקציה (זיהוי תהליך / שם) בצד שמאל. אתה יכול לתקן את הבעיה על ידי עצירת השירות החיצוני המתנגש.
מאמר זה הוכן במיוחד עבור PvPServer.