أولاً. اختيار المعدات والمتطلبات الأساسية
أنا مطور خلفي. كان الخادم البعيد الذي كنت أستأجره سابقًا قديمًا ويفتقر إلى الأداء الكافي، ولم يعد يلبي احتياجاتي في الاستضافة الذاتية. لذلك، اشتريت Zimaboard 2 1664 مع أهداف أساسية واضحة: أولاً، بناء خادم منزلي مستضاف ذاتيًا ومُعد بالكامل مع تمكين النسخ الاحتياطي لنشر التطبيقات، وإدارة البيانات، والاتصال عن بُعد؛ ثانيًا، دون التأثير على استخدام الخادم الأساسي، استغلال أداء الأجهزة الخاملة وتحويلها إلى جهاز ألعاب رجعية يعمل بنظام التوصيل والتشغيل، لتحقيق وظيفة مزدوجة وموازنة بين الاحتياجات التقنية العملية والترفيه اليومي.
ثانيًا. عملية إعداد الخادم المستضاف ذاتيًا
اختيار النظام والتثبيت
بعد الحصول على المعدات، جربت أولاً ZimaOS الذي جاء مع Zimaboard 2. كان سهل التشغيل ومريحًا للوصول عن بُعد، لكن الطبيعة الثابتة لنظام NAS قيدت بشدة نشر التطبيقات اللاحق. بناءً على عادات استخدامي، اخترت في النهاية التحول إلى Fedora Server — نفس النظام الذي كان على الخادم القديم، مما يوفر توافقًا أكبر. أثناء التثبيت، استبدلت فقط أداة إنشاء قرص التمهيد USB في الدليل. باستخدام واجهة الويب المحلية المدمجة في Fedora Server والواجهة الطرفية، أكملت بسهولة الخطوات الأولية قبل تكوين SSH وتعزيز الأمان. سارت عملية التثبيت بشكل سلس للغاية.
تكوين التخزين والنسخ الاحتياطي
لضمان النسخ الاحتياطي المناسب للبيانات على الخادم، استخدمت قرصين صلبين احتياطيين وقمت بتهيئتهما كنظام ملفات BTRFS. هذا النظام مدمج في نواة لينكس، يدعم اللقطات بشكل أصلي، ومستقر جدًا، مما يتناسب تمامًا مع احتياجات النسخ الاحتياطي لخادمي المستضاف ذاتيًا. كما يوفر أساس تخزين موثوقًا لتشغيل الخادم بثبات.
نشر الخدمات الأساسية
أنشأت خدمة مستضافة ذاتيًا كاملة على الخادم باستخدام Docker لتلبية الاحتياجات اليومية: Jellyfin كخادم وسائط لإدارة موحدة لموارد الصوت والفيديو الشخصية؛ Filebrowser لبناء سحابة خاصة للوصول إلى الملفات عن بُعد في أي وقت ومن أي مكان؛ وKarakeep لإدارة العلامات المرجعية والملاحظات لتسهيل العمل والدراسة. كما خصصت مساحة نشر لخوادم Minecraft وRustDesk لاستيعاب الترفيه عبر الإنترنت مع الأصدقاء ومساعدة أفراد العائلة في مشاكل الحواسيب والأجهزة المحمولة.
تكوين الشبكة والمراقبة
بالنسبة للوكيل العكسي، تحولت من Traefik المعتاد إلى Godoxy، ودمجته مع Tailscale لتحقيق الاتصال بين الخادم المحلي والخادم البعيد الأصلي، مما يتجنب بشكل فعال تعريض الشبكة المنزلية. علاوة على ذلك، يأتي Godoxy مع لوحة مراقبة مدمجة تتيح لي عرض حالة وحدة المعالجة المركزية، والذاكرة، ودرجة الحرارة، والقرص، وغيرها من الحالات في الوقت الحقيقي، مما يحسن بشكل كبير من كفاءة إدارة الخادم.

ثالثًا. تعديل جهاز ألعاب رجعية: بدء/إيقاف حسب الطلب، دون تدخل في الخادم
ثلاثة مبادئ أساسية للتعديل
لضمان عدم تداخل وظائف الألعاب والخادم، وضعت لنفسي ثلاثة مبادئ أساسية للتعديل: ① عدم تثبيت بيئة سطح مكتب كاملة لتجنب استهلاك موارد النظام وضمان تشغيل خفيف للخادم؛ ② بدء وإيقاف وظائف الألعاب حسب الطلب، مع إنهاء جميع العمليات المتعلقة تلقائيًا عند عدم الاستخدام لتجنب إهدار أداء الأجهزة؛ ③ ضمان سهولة التشغيل بحيث يمكن حتى لزملاء السكن غير التقنيين استخدامها بشكل مستقل دون مساعدتي.
الأفكار الأساسية وتركيبات الأدوات
الفكرة الأساسية للتحول بأكمله ليست معقدة. استخدمت أدوات لينكس الأصلية وبرمجيات الألعاب مفتوحة المصدر لتحقيق بدء وإيقاف خدمة الألعاب تلقائيًا بناءً على توصيل/فصل كابل HDMI: توصيل كابل HDMI بالتلفاز يطلق تلقائيًا واجهة اللعبة الرسومية؛ وفصل الكابل ينهي فورًا جميع عمليات اللعبة، معيدًا الجهاز إلى حالة خادم نقي — كل ذلك تلقائيًا دون الحاجة لأي تدخل يدوي. الأدوات المختارة لها أدوار واضحة وجميعها منتجات مفتوحة المصدر ناضجة وسهلة التكوين:
- قواعد udev + سكربتات Shell مخصصة: مسؤولة عن اكتشاف حالة توصيل/فصل كابل HDMI وتحفيز أوامر بدء/إيقاف الخدمة المناسبة؛
- خدمة systemd: تدير بدء جلسات الألعاب بشكل منظم وإنهاءها بشكل لطيف لمنع بقايا العمليات من التأثير على الخادم؛
- Gamescope: مُركب Wayland خفيف الوزن يحسن تحجيم شاشة اللعبة، مما يسمح للألعاب القديمة بالتكيف تمامًا مع دقة تلفاز 1080P؛
- ES-DE + Retroarch: ES-DE يعمل كواجهة مكتبة الألعاب، مما يتيح إدارة الألعاب حسب فئة الجهاز ويقوم تلقائيًا بالتقاط أغلفة الألعاب ووصفها؛ Retroarch يدير محاكيات أجهزة الألعاب الرجعية المختلفة ويضبط وحدات التحكم تلقائيًا، مما يجعله سهل الاستخدام للغاية.
خطوات التكوين العملية
1. تكوين الأذونات: أضفت المستخدم العادي الذي يشغل خدمة الألعاب إلى مجموعات المستخدم مثل input وvideo وaudio وseat، وفعلت خدمة الجلوس لضمان إمكانية إنشاء جلسات Wayland بشكل طبيعي، مهيئًا الأذونات لوظائف الألعاب.
2. تكوين الكشف والتحفيز: أنشأت ملف قاعدة udev يحدد شروط الكشف عن توصيل/فصل HDMI، ويحفز سكربت Shell المخصص بي. تضمن السكربت منطقًا لتحديد حالة اتصال HDMI، مما يسمح للنظام ببدء وإيقاف خدمة الألعاب systemd على مستوى المستخدم تلقائيًا بناءً على حالة الاتصال.
3. تكوين خدمة الألعاب: أنشأت ملف خدمة systemd على مستوى المستخدم، يحدد الأمر الأساسي لـ Gamescope لبدء ES-DE، وأعددت منطقًا مزدوجًا لـ "الإنهاء اللطيف + الإنهاء القسري" لمنع بقايا عمليات اللعبة غير الطبيعية من التأثير على تشغيل الخادم.
4. تثبيت التبعيات: ثبتت جميع برامج التشغيل والبرمجيات اللازمة دفعة واحدة، بما في ذلك رسومات إنتل المدمجة، وبرامج تشغيل وحدات التحكم، وبرمجيات الألعاب الأساسية مثل Gamescope وRetroarch وES-DE، لضمان توافق مثالي بين العتاد والبرمجيات.
5. تفعيل التكوين: أعدت تحميل قواعد udev و... مع تثبيت خدمة systemd، أصبح تعديل جهاز الألعاب الرجعية مكتملًا، ووظائف الألعاب مؤتمتة بالكامل للبدء والإيقاف.
رابعًا. التحسين وتصحيح الأخطاء: موازنة تجربة الألعاب واستقرار الخادم
تحسين مخصص لتجربة الألعاب
لضمان تجربة ألعاب رجعية أكثر سلاسة، قمت بتحسين التكوين خصيصًا لألعاب Wii/NGC: تخليت عن تشغيل محاكي Dolphin عبر Retroarch، وفضلت التشغيل المستقل لتقليل الحمل على طبقة Libretro؛ عدلت ملف تكوين Dolphin لتحسين نسبة العرض إلى الارتفاع ومنطق العرض؛ وقمت بتحديث معلمات بدء Gamescope، مفعّلًا مقياس FSR لتقديم جودة صورة مثالية على تلفزيونات 1080p. أظهرت الاختبارات أن التكوين المحسن حافظ على استخدام GPU بين 70% و80%، وفي بيئة داخلية بدرجة حرارة 20℃، كانت أعلى درجة حرارة للجهاز 55℃ فقط. مع المروحة الرسمية، كان أداء التبريد كافيًا تمامًا، مما يضمن اللعب بسلاسة دون التأثير على الخادم بسبب ارتفاع الحرارة.

تقنيات تصحيح الأخطاء العملية
خلال عملية التعديل، جمعت أيضًا مجموعة من تقنيات تصحيح الأخطاء البسيطة والفعالة. يمكن لهذه التقنيات ليس فقط حل المشكلات التي تواجهها أثناء التعديل، بل أيضًا التكيف مع المزيد من المحاكيات التي لا يديرها Retroarch: استخدم أمر journalctl لعرض سجلات أحداث udev في الوقت الحقيقي، وحفز يدويًا أحداث تغيير حالة HDMI، واختبر فعالية القواعد؛ أزل قواعد udev مؤقتًا، واتصل بالجهاز عبر SSH، وشغل برنامج اللعبة يدويًا، وخصص إعدادات وحدة التحكم؛ بعد التصحيح، استعد القواعد للعودة إلى وضع الاستخدام الآلي. العملية بسيطة وفعالة.
خامسًا. النتيجة النهائية: وظيفة مزدوجة، استكشاف كامل لإمكانات العتاد
بعد سلسلة من الإعدادات والتعديلات، حقق Zimaboard 2 الخاص بي وظائف مزدوجة كخادم وجهاز ألعاب رجعية: في الاستخدام اليومي، هو خادم مستضاف ذاتيًا منخفض الطاقة ومستقر، يتعامل بهدوء مع المهام الأساسية مثل نشر التطبيقات، والنسخ الاحتياطي للبيانات، والوصول عن بُعد. أداء شريحة Intel N150 مناسب تمامًا لحجم عملي اليومي. أثناء أوقات الخمول، يكفي توصيل كابل HDMI الخاص بالتلفاز بالجهاز ليطلق تلقائيًا واجهة اللعبة، مما يتيح الاستمتاع بألعاب رجعية كلاسيكية مثل PS1 وWii، ويدعم حتى اللعب الجماعي المحلي. فصل كابل HDMI ينهي فورًا جميع عمليات اللعبة، معيدًا الجهاز إلى وضع الخادم النقي، دون أي تداخل بين الوظيفتين.


سمح لي هذا الإعداد والتعديل لـ Zimaboard 2 باستكشاف كامل لإمكانات العتاد وتجربة مرونة نظام لينكس وسحر التكنولوجيا مفتوحة المصدر مرة أخرى. لوحة تطوير صغيرة لا تقتصر أبدًا على تلبية حاجة واحدة فقط؛ طالما أنك تجمعها مع سيناريوهات استخدامك الخاصة وتجرؤ على التجربة والمحاولة، يمكنك إطلاق قيمتها الأكبر.
انضم إلى المجتمع لاكتشاف المزيد من المحتوى المفيد!
مرحبًا بك في مجتمع IceWhale على Discord! سننشر المزيد من دروس الإعداد التفصيلية، ودراسات حالات المستخدمين، وتحديثات المنتجات لمساعدتك على التنقل بسهولة في العالم الرقمي والعثور على منصة العتاد المثالية لكل شغف.

