إعداد Sunshine و Moonlight — الاستضافة الذاتية والصيانة

إذا أردت وصولاً بعيداً منخفض الكمون أو بث ألعاب من حاسوبك الشخصي، يكون Sunshine + Moonlight خياراً جذاباً: عملاء أصليون عبر المنصات، كمون ممتاز، ولا حاجة لحساب سحابي إلزامي.
إذا أردت وصولاً بعيداً منخفض الكمون أو بث ألعاب من حاسوبك الشخصي، يكون Sunshine + Moonlight خياراً جذاباً: عملاء أصليون عبر المنصات، كمون ممتاز، ولا حاجة لحساب سحابي إلزامي. المشكلة هنا عملية — تشغيل المكدس هو الجزء السهل؛ إبقاؤه موثوقاً وآمناً وقابلاً للوصول دون مفاجآت هو العمل الدوري الهادئ الذي سيوضحه هذا الدليل.
ما الذي يفعله Sunshine و Moonlight فعلياً
Sunshine هو مكوّن المضيف/الخادم الذي تشغّله على الجهاز الذي تريد البث منه. يلتقط العرض/الصوت، يشفر الإطارات، ويفتح خدمة تتصل بها Moonlight (العميل). Moonlight هو العميل: توجد نسخ لـ Windows و macOS و Linux و iOS و Android وحتى بعض أجهزة التلفاز الذكية. معاً يعيدان تنفيذ دفق بأسلوب GameStream مع برامج ترميز حديثة ولا كمون كبير.
اختر نموذج الاتصال — ريلايات، اتصال مباشر، أم خدمة Tenvo المدارة
هناك أربع طرق عملية تجعل Sunshine قابلاً للوصول من الإنترنت. أذكرها مع عبء التشغيل التشغيلي الذي يجب أن تتوقعه.
- Tenvo managed relay (مستحسن ما لم تمنعك القواعد بنية طرف ثالث). تحصل على ريلايات متعددة المناطق تديرها Tenvo نيابة عنك؛ لا حاجة لشهادات أو إعداد NAT أو راوتر لمعظم العملاء. أسعار Tenvo: Free $0 / Lite $2.99/mo / Pro $7.99/mo — ضع ذلك في حساب وفورات الاستدعاء والعمليات.
- ريلاي عام تشغّله بنفسك (استضافة ذاتية). مناسب عندما يجبرك مطلب مكتوب: امتثال، VPC معزول، متطلبات موطن البيانات. الاستضافة الذاتية تنقل مسؤولية الشهادات، التوافر، التوسيع واحتفاظ المفاتيح إلى فريقك.
- اتصالات مباشرة مع توجيه المنافذ أو اجتياز NAT (UPnP، hole punching). أقل تكلفة بنية تحتية لكنها هشة: راوترات منزلية، عناوين IP متغيرة، ISP CGNAT وجدران حماية شركات ستكسر هذا كثيراً.
- شبكة خاصة أو VPN (WireGuard، VPN مؤسسي). موثوق جداً، لكنه يتطلب بنية VPN وإعداد المستخدمين. مناسب للفرق الصغيرة أو المختبرات حيث تتحكم في الطرفين.
المتطلبات المسبقة — ما يجب ترتيبه قبل الضغط على تثبيت
- نظام المضيف: توزيعة Linux حديثة (Ubuntu 22.04 / Debian 12 شائعتان)؛ تدعم Windows وبعض إصدارات macOS لكن Linux هو الأكثر شيوعاً للمضيفات بدون واجهة.
- GPU/السائقون: للشفرات المادية ستحتاج عادةً GPU مدعوم (NVIDIA، AMD) وسائق يوفر الترميز. على Linux هذا يعني حزم البائع — سياسات التحديث حول سواقة GPU مهمة (غالباً تحتاج توافق نواة أو X/Wayland).
- الشبكات: إذا خططت لاستخدام ريلاي، تأكد من السماح بالاتصالات الصادرة عبر TLS (443/HTTPS). للاتصالات المباشرة ستحتاج عنوان IP عام مستقر أو DNS ديناميكي + توجيه منافذ ودخول إلى الراوتر.
- الشهادات: عند عرض خادم على الإنترنت استخدم حل TLS مؤتمت (Caddy، certbot، acme.sh). إذا استضفت ريلاي بنفسك فستحتاج للتعامل مع إصدار وتجديد الشهادات بنفسك.
- أجهزة العميل: ثبّت Moonlight على المنصات التي سيستخدمها مستخدموك. اختبر الاقتران على LAN أولاً قبل فتح أي شيء للإنترنت.
خطوة بخطوة: تثبيت وتكوين Sunshine على Linux (سير عمل نموذجي)
هذا مثال عملي لمضيف Linux (استبدله بخطوات Windows/macOS إذا فضّلت المثبتات الأصلية). أتجنّب أرقام إصدارات محددة لـ Sunshine لأن طرق التوزيع تتغير — احصل على الإصدار الرسمي من مستودع المشروع على GitHub أو من مستودع الحزم للحصول على أحدث إصدار مستقر.
1) Prepare the OS # Keep packages up to date sudo apt update && sudo apt upgrade -y 2) Install GPU drivers (example: NVIDIA) # On Ubuntu 22.04 sudo apt install -y nvidia-driver-535 # pick the vendor driver your GPU needs 3) Create a dedicated user for Sunshine sudo useradd -r -m -d /var/lib/sunshine -s /usr/sbin/nologin sunshine 4) Download Sunshine & place binaries # Download the official release tarball or package and extract to /usr/local/bin sudo mkdir -p /etc/sunshine /var/lib/sunshine sudo install -m 0755 /path/to/sunshine /usr/local/bin/sunshine 5) Example systemd unit (/etc/systemd/system/sunshine.service) [Unit] Description=Sunshine game streaming host After=network.target [Service] User=sunshine Group=sunshine ExecStart=/usr/local/bin/sunshine --config /etc/sunshine/config.toml Restart=on-failure [Install] WantedBy=multi-user.target sudo systemctl daemon-reload sudo systemctl enable --now sunshine 6) Firewall: only open what you intend to use # If using only a managed relay, you need outbound TLS only. For direct connect, open the ports Sunshine advertises and your chosen TCP/UDP ports. # Example (ufw): sudo ufw allow from 192.168.0.0/16 to any port 47999 proto tcp # adjust to your config 7) TLS / certificates # For internet exposure use an ACME-enabled server (Caddy or certbot) to get a cert for your FQDN. If you run a relay, verify its TLS requirements.
نصيحتان عمليتان: احتفظ بملف إعدادات Sunshine تحت نظام مراقبة الإصدارات (/etc/sunshine/config.toml) وشغّل الثنائي كمستخدم غير مميّز. اختبر الاقتران على الشبكة المحلية قبل التعامل مع DNS أو الشهادات.
الاقتران وإعداد العميل — ما الذي يحدث فعلياً
عند الاتصال الأولي يتبادل Moonlight و Sunshine بيانات اقتران. التسلسل النموذجي: شغّل Sunshine على المضيف، افتح Moonlight على العميل، اكتشف المضيف (اكتشاف LAN أو إدخال IP/FQDN يدوياً)، طلب الاقتران، اقبل على المضيف — عادة عبر موجه محلي أو رمز قصير العمر. بعد الاقتران يخزن Moonlight مفتاحاً ويتصل مجدداً دون تأكيد تفاعلي حتى تقوم بإلغاء الاقتران على المضيف.
إذا استخدمت ريلاي (Tenvo أو مستضاف ذاتياً)، فإن الاكتشاف غالباً يحدث عبر خدمة الريلاي بحيث يتمكن العميل من الوصول إلى المضيف خلف NAT بدون توجيه منافذ. التحفّظ التشغيلي: عند استخدام ريلاي طرف ثالث، ينتهي TLS عند ذلك الريلاي — لمشغل الريلاي القدرة التقنية على ملاحظة أو اعتراض المرور إذا قرر ذلك. ضع ذلك في اعتبارك لقرارات الامتثال أو الثقة.
الصيانة المستمرة: الالتزامات الهادئة التي ترثها
تشغيل مضيف Sunshine بنفسك ليس مشروع "تثبّت وتنسَ". خطّط لهذه المهام المتكررة:
- تجديد الشهادات: إذا كان لديك TLS عام، أتمت التجديدات (Let's Encrypt عبر certbot أو Caddy). تحقق من تقارير التجديد الآلي واختبر مسار إعادة التحميل لـ Sunshine حتى يلتقط الخدمة الشهادات الجديدة دون إعادة تشغيل يدوية.
- تحديثات النظام والسواقة: تحديثات أمان شهرية؛ تحديثات سواقة GPU على جدول اختبار قبل الإنتاج. السواقة عادة مصدر تراجعات لبث الصورة والصوت.
- نسخ احتياطي للإعدادات والمفاتيح: احتفظ بـ /etc/sunshine ومفاتيح الاقتران في نسخ إعداداتك الاحتياطية. إذا فقدت مفاتيح الاقتران، سيحتاج المستخدمون لإعادة الاقتران.
- المراقبة والتنبيه: فحوصات زمن التشغيل (اختبار اصطناعي خارجي)، مراقبة استخدام القرص/CPU/GPU، وسجلات. خطّط SLO للتوافر وحدّد متى يحتاج الأمر إلى شخص مناوب عند فشل المضيف أثناء الليل.
- تدوير السجلات والاحتفاظ بها: سجلات البث تصبح صاخبة؛ دوّر السجلات وقصّ السجلات القديمة. قرر أي السجلات يجب الاحتفاظ بها لأغراض التدقيق ولأي مدة.
- التوسيع والتعافي: إذا كان لديك مضيفون أو مواقع متعددة، اختبر التعافي. ريلاي واحد مستضاف ذاتياً في منطقة واحدة هو نقطة فشل واحدة؛ ريلاي مدارة متعددة المناطق من Tenvo تزيل هذا العبء التشغيلي عنك.
- دورة حياة المستخدم: الغِ الاقترانات عند مغادرة الأشخاص، وجرِّب تدقيق الأجهزة المقترنة ربع سنوياً.
تقدير الوقت: توقع 1–2 ساعة للتثبيت والاختبار لمضيف واحد، ثم عمل دوري يُقاس بدقائق أسبوعياً لإعدادات صغيرة (فحوصات الشهادات، التحديثات). للأساطيل، احسب وقت معادل دوام كامل للترقيعات، المراقبة واستجابة الحوادث.
استكشاف المشاكل: حالات فشل عملية وإصلاحاتها
- عدم الاكتشاف على الشبكة المحلية — تحقق من mDNS/UPnP وجدار الحماية المحلي. بعض مفاتيح الشبكة للشركات تحجب البث المتعدد؛ اختبر عن طريق عمل ping للمضيف بواسطة IP وحاول الاتصال يدوياً بـ FQDN أو IP بدلاً من الاكتشاف.
- شاشة سوداء أو إطارات مشوّهة — عادة مشكلة سواق GPU أو تعارضات في الموّزِّع (compositor). جرّب جلسة بدون تركيب أو حدّث السواقة. على Wayland، تحقق من دعم الموّزِّع للالتقاط.
- عدم وجود صوت — تأكد أن باكِند الصوت مضبوط بشكل صحيح (PulseAudio/pipewire) وأن Sunshine مكوّن لالتقاط المخارج الصحيحة.
- كمون عالي — تحقق من مسار الشبكة وإعدادات الترميز. خفّض معدل البت أو غيّر إعدادات المحرّك؛ اختبر على LAN لفصل مشاكل GPU/الترميز عن مشاكل الشبكة.
- فشل الاقتران المتكرر — نظّف المفاتيح القديمة (/etc/sunshine/pairs أو ما شابه) وأعد محاولة الاقتران؛ راقب سجلات النظام (journalctl -u sunshine) للأخطاء.
إذا أردت سياق أمني أعمق أو تحتاج لتجنّب توجيه المنافذ تماماً، اطلع على دليلنا Remote Desktop Without Port Forwarding Explained ونموذج تهديدات الأمان في Is Remote Desktop Secure? An Honest Threat Model. إذا كان مطلبك هو الاستضافة الذاتية الكاملة، اقرأ Self-Hosted Remote Desktop: Why, How, and What Breaks قبل أن تلتزم.
ملاحظات ختامية — متى تستضيف ذاتياً ومتى تدفع لخدمة ريلاي مدارة
الاستضافة الذاتية لـ Sunshine وريلاي مناسبة فقط عندما تفرض السياسة أو عزل الشبكة ذلك. خلاف ذلك، تكون الريلاي المدارة غالباً أرخص من حيث التكلفة التشغيلية الحقيقية: أنت تشتري وقت تشغيل، إدارة الشهادات، تعافي عبر مناطق متعددة ومنبه شخصي. ريلاي Tenvo المدارة هي الافتراضية العملية التي نوصي بها: تزيل معظم أعمال اليوم‑إلى‑اليوم بينما تترك لك التحكم بالمضيفات والاقترانات. إذا اخترت الاستضافة الذاتية، خصّص ميزانية لبنود الصيانة أعلاه — فهي أهم من التثبيت المبدئي.
هل تريد تجربة ريلاي مدارة أو تنزيل العملاء؟ ابدأ من تحميل. إذا رغبت في مقارنة أعمق مع أدوات أخرى، اطلع على مقالاتنا الأخرى مثل RustDesk self-hosted setup: Docker + Caddy TLS ومقارنات التسعير لدينا لفهم إجمالي تكلفة الملكية.
مستعد لتجربته بنفسك؟
مجانًا حتى 30 جهازًا، دون بطاقة ائتمان. جاهز ومتصِل في دقيقتين.