يمكن أن تتعطل سيرفرات Project Zomboid أو تفشل في البدء لعدة أسباب معروفة. يغطي هذا الدليل الأسباب الأكثر شيوعاً التي تظهر في تذاكر دعم Legion Hosting — من خطأ ذاكرة Build 42 الذي يتطلب ذاكرة وصول عشوائي إضافية عند بدء التشغيل، إلى فيضان النسخ الاحتياطي الذي يملأ /tmp، إلى ملفات التهيئة التالفة. اعمل على الأقسام أدناه بالترتيب.
قبل أن تبدأ — حدد موقع سجلات التعطل
تقريباً كل تعطل في Project Zomboid يترك أدلة في أحد مكانين. تحقق من كليهما قبل محاولة أي إصلاح، حتى تعرف أي قسم من هذا الدليل ينطبق عليك.
مخرجات وحدة تحكم GPanel
- سجل الدخول إلى GPanel.
- اختر سيرفر Project Zomboid من قائمة السيرفرات.
- انقر على تبويب Console.
- مرر إلى أسفل المخرجات. ابحث عن سطور تحمل علامة
ERRORأوFATALأوOutOfMemoryErrorأوException. آخر 20-30 سطراً قبل توقف السيرفر هي عادةً الأكثر أهمية. - إذا كانت وحدة التحكم فارغة، فإن عملية السيرفر أُنهيت قبل أن تتمكن من كتابة أي شيء — وهذا بحد ذاته دليل (انظر قسم ذاكرة B42 أدناه).
ملف debug.log الخاص بالسيرفر
يكتب Project Zomboid سجلاً مفصلاً في debug.log في مجلد بيانات السيرفر. غالباً ما يحتوي هذا الملف على تتبع مكدس Java كامل يشير مباشرة إلى سبب التعطل.
- في GPanel، اذهب إلى تبويب File Manager.
- انتقل إلى
/.cache/Logs/. سترى ملفات بأسماء مثلdebug.logأوDebugLog-server.txtأو ملفات سجل مؤرخة. - افتح أحدث ملف سجل. استخدم Ctrl+End أو مرر إلى الأسفل تماماً واقرأ من هناك للأعلى.
- ابحث عن الكلمات المفتاحية
OutOfMemoryErrorأوIOExceptionأوNullPointerExceptionأوSandboxVars. انسخ السطور ذات الصلة — ستحتاجها إذا فتحت تذكرة دعم.
الإصلاح 1 — استخدام الذاكرة العالي في Build 42 عند بدء التشغيل (خطأ معروف في اللعبة)
إذا خرج سيرفرك فوراً عند بدء التشغيل بدون خطأ في وحدة التحكم، أو أظهرت وحدة التحكم OutOfMemoryError أو خطأ مساحة كومة Java، فإن السيرفر ينفد من الذاكرة قبل أن ينتهي العالم من التحميل.
الأعراض
- يبدأ السيرفر، تتمرر وحدة التحكم لبضع ثوانٍ، ثم يتوقف بدون خطأ يظهر للاعبين.
- تُظهر وحدة التحكم
java.lang.OutOfMemoryError: Java heap spaceأوGC overhead limit exceeded. - يعمل السيرفر في بعض عمليات إعادة التشغيل ولكن ليس في أخرى (توفر الذاكرة يتفاوت).
- كان السيرفر يعمل بشكل جيد على B41 لكنه يتعطل باستمرار بعد الترقية إلى B42.
الخطوات
- في GPanel، انقر على سيرفرك واذهب إلى تبويب Console. لاحظ تخصيص الذاكرة الحالي لسيرفرك الموضح في شريط الموارد أو لوحة معلومات السيرفر.
- إذا كانت خطتك تتضمن أقل من 10 جيجابايت ذاكرة، فقد يتعطل السيرفر أثناء بدء التشغيل لأن B42 يتطلب حوالي 9 جيجابايت للتهيئة. ستحتاج إلى ترقية خطتك أو الانتظار حتى تصدر Indie Stone إصلاحاً.
- إذا كانت خطتك تحتوي بالفعل على 10 جيجابايت أو أكثر والسيرفر لا يزال يتعطل عند بدء التشغيل، اذهب إلى تبويب Startup في GPanel.
- ابحث عن حقل يحمل تسمية Java Memory أو Max RAM أو Xmx. تأكد من ضبطه على ما لا يزيد عن 80-85% من إجمالي الذاكرة المتاحة لديك. مثلاً، في خطة 12 جيجابايت، اضبطه على
10240(10 جيجابايت بالميغابايت). لا تضبطه على نفس إجمالي الذاكرة أو أعلى منه — نظام التشغيل والعمليات الأخرى تحتاج أيضاً إلى ذاكرة. - انقر على 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 |
ذاكرة غير كافية لبدء تشغيل 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 - إصدار بناء Project Zomboid الخاص بسيرفرك (يظهر في وحدة التحكم عند بدء التشغيل، مثلاً
Build 42.x.x) - تخصيص الذاكرة كما يظهر في GPanel
- ما إذا كان التعطل يحدث عند كل بدء تشغيل أم فقط بعد تشغيل السيرفر لفترة
- أي تغييرات أجريتها قبل بدء التعطل (إضافة مودات، تعديلات التهيئة، تحديثات اللعبة)
افتح تذكرة دعم وقم بتضمين معرف سيرفرك ورسائل الخطأ من وحدة تحكم GPanel.