جديد 📢 عرض الإطلاق لفترة محدودة: خصم حتى 70% على شهرك الأول في كل لعبة.عرض الباقات

كيف تشغّل YouTube على Lavalink 4

استضافة LavalinkUpdated Nov 6, 20267 min read

يشغّل Lavalink 4 يوتيوب عبر إضافة، وليس بنفسه: مصدر YouTube المدمج فيه متقادم ويجب أن يبقى معطّلًا. ثبّت إضافة مصدر YouTube (dev.lavalink.youtube:youtube-plugin)، واضبط youtube: false ضمن lavalink.server.sources، وفعّل الإضافة ضمن plugins.youtube. على سيرفراتنا لم يكن ذلك كافيًا: طلب YouTube تسجيل دخول، فسجّل دخول الإضافة مرة واحدة بحساب Google احتياطي واحتفظ بـ refresh token. ومع الإصدار 1.18.2 لا يكفي تسجيل الدخول وحده أيضًا (راجع «الإصدار 1.18.2 وتسجيل الدخول» أدناه). على أحد سيرفرات Lavalink الخاصة بنا في 6 نوفمبر 2026، بالإصدار 1.18.2 مع الإصلاحات غير المنشورة وسيرفر cipher، وجدت الإضافة جميع أغاني الاختبار الـ 12 لكنها لم تستطع تشغيل أي منها قبل تسجيل الدخول، وشغّلت كل اختبار من الاختبارات الـ 10 التي اكتملت بعده (15 ثانية لكل أغنية، دون قناة صوتية).

تقول وثائق الإضافة نفسها إن YouTube يضع علامة على بعض الطلبات ويطلب منها «تسجيل الدخول للتأكد أنك لست روبوتًا». وهذا ما رأيناه على سيرفراتنا. دون تسجيل دخول كانت الإضافة تجد كل أغنية اختبار بالبحث وبالرابط، ثم يُرفض كل عميل من عملائها عند محاولة تشغيلها:

Client [WEB] failed: This video requires login.
Client [TVHTML5_SIMPLY] failed: Sign in to confirm you’re not a bot
Client [TVHTML5] failed: This video requires login.
Client [WEB_EMBEDDED_PLAYER] failed: This video is unavailable
dev.lavalink.youtube.AllClientsFailedException: (yts.version: 1.18.2) All clients failed to load the item.

في اختبارنا نجح البحث دون تسجيل دخول، ولم ينجح التشغيل. يرى بوتك الأغنية تبدأ ثم تفشل فورًا مع track exception.

أمران آخران يعطّلان التشغيل من حين لآخر، وتتناولهما وثائق الإضافة:

  • شيفرة التوقيع. يغيّر YouTube كثيرًا الشيفرة التي تفتح بثوثه. يمكن للإضافة أن تسند هذا العمل إلى سيرفر cipher بعيد (remoteCipher)، مثل yt-cipher المفتوح المصدر.
  • العملاء. تتحدث الإضافة إلى YouTube على هيئة عدة تطبيقات (WEB وMWEB وANDROID_VR وTV وغيرها) وتجرّبها بالترتيب الذي تسرده. العميل TV وحده يستخدم تسجيل الدخول للتشغيل، والعملاء المخصصون لذلك وحدهم يستطيعون البحث.

الإصدار 1.18.2 وتسجيل الدخول

يستخدم عميل TV تسجيل الدخول، وفي عميل TV بالإصدار 1.18.2 مشكلة معروفة: منذ أغسطس 2026 يردّ عليه YouTube بالرسالة «The page needs to be reloaded» (المسألة رقم 226 في مستودع الإضافة على GitHub، وما زالت مفتوحة في 6 نوفمبر 2026). دمج مطورو الإضافة إصلاحًا لها في 19 أغسطس 2026، وإصلاحًا للبثوث التي لا تُبلغ عن طولها في اليوم نفسه، وإصلاحًا لاتصالات cipher في 17 سبتمبر 2026، لكن لم يصدر إصدار يتضمنها حتى 6 نوفمبر 2026. يشرح README الخاص بالإضافة كيف تحمّل بدلًا من الإصدار بناءً من commit محدد: رمز الـ commit بوصفه الإصدار، مع snapshot: true. تحقق أولًا من صفحة الإصدارات بحثًا عن إصدار أحدث.

  1. أضف الإضافة إلى application.yml ضمن lavalink.plugins، بالإصدار المأخوذ من إصدارات الإضافة على GitHub. الإصدار 1.18.2 (27 يوليو 2026) هو الأحدث في 6 نوفمبر 2026. وفيه مشكلة عميل TV الموصوفة أعلاه، فاقرأ ذلك القسم قبل اختيار الإصدار:
lavalink:
  plugins:
    - dependency: "dev.lavalink.youtube:youtube-plugin:1.18.2"
      snapshot: false
  server:
    sources:
      youtube: false
  1. فعّل الإضافة وأعطها عملاءها:
plugins:
  youtube:
    enabled: true
    allowSearch: true
    clients:
      - MUSIC
      - ANDROID_VR
      - WEB
      - WEBEMBEDDED
      - TV
    oauth:
      enabled: true
  1. يمكنك اختياريًا إضافة سيرفر cipher ضمن plugins.youtube.remoteCipher (url وpassword)، كما يصف README الخاص بالإضافة.
  2. شغّل Lavalink. تطبع الـ Console رمزًا وعنوانًا: افتح https://www.google.com/device وأدخل الرمز واسمح بالوصول بحساب Google احتياطي. يحذّر مؤلفو الإضافة من أن الحساب قد يُغلق، فلا تستخدم حسابك الرئيسي أبدًا.
  3. ثم تطبع الـ Console السطر OAUTH INTEGRATION: Token retrieved successfully. Store your refresh token as this can be reused. مع الرمز بين قوسين. انسخه إلى application.yml حتى لا تسأل العقدة من جديد بعد إعادة التشغيل:
    oauth:
      enabled: true
      refreshToken: "PASTE_THE_TOKEN_HERE"
  1. أعد تشغيل Lavalink. مع رمز صالح يسجّل YouTube access token refreshed successfully.

يفتح refresh token ذلك الحساب في Google: أبقِ application.yml خاصًا.

التثبيت يتولى جزء الإضافة أصلًا: إضافة YouTube 1.18.2 مع إصلاحات PlayNHost موجودة في plugins باسم youtube-plugin-1.18.2-playnhost1.jar، ومصدر YouTube المدمج في Lavalink معطّل، وتسجيل الدخول مفعّل، وتستخدم الإضافة سيرفر cipher نشغّله على شبكتنا الخاصة. والإصلاحات هي تغييرات عميل TV وcipher وطول البثوث التي دمجها مطورو الإضافة في أغسطس وسبتمبر 2026 ولم يصدروها بعد. أنت تفعل شيئًا واحدًا: تسجيل الدخول.

  1. افتح سيرفرك في لوحة التحكم واضغط تشغيل في Console.
  2. اعثر على السطر OAUTH INTEGRATION: To give youtube-source access to your account, go to https://www.google.com/device and enter code XXXX-XXXX، وافتح العنوان وأدخل الرمز واسمح بالوصول بحساب Google احتياطي.
  3. عندما تطبع الـ Console السطر Token retrieved successfully، انسخ الرمز من بين القوسين، وأوقف العقدة، وأضفه ضمن oauth: في application.yml تحت Files، كما في الخطوة 5 أعلاه. حافظ على المسافات البادئة.
  4. شغّل العقدة من جديد وابحث عن YouTube access token refreshed successfully.

اترك plugins.youtube.remoteCipher.url كما هو: تكتبه اللوحة عند كل تشغيل، ولا يعمل العنوان إلا من سيرفراتنا. وإعادة التثبيت تُبقي application.yml الخاص بك مع الرمز بداخله.

هل يقدّم YouTube أغنية معيّنة لسيرفر ما فهذا قرار YouTube، ويتغير دون إشعار. نحن نُبقي العقدة والإضافة تعملان؛ ولا نستطيع أن نعد بما يسمح به YouTube. وإن كنت لا تريد YouTube إطلاقًا فاضبط enabled: false ضمن plugins:، youtube:.

رسائل YouTube في الـ Console

الرسالةمعناها وما تفعله
OAUTH INTEGRATION: To give youtube-source access to your account, go to https://www.google.com/device and enter code ...الإضافة تنتظر تسجيل الدخول. اتبع الخطوات أعلاه.
OAUTH INTEGRATION: The device token has expired. OAuth integration has been canceled.لم يُدخل الرمز في الوقت المناسب. أعد تشغيل العقدة للحصول على رمز جديد.
YouTube access token refreshed successfullyيعمل الـ refresh token المحفوظ.
Refreshing YouTube access token failedلم يعد الرمز يعمل، وغالبًا لأن الحساب سُجّل خروجه أو لأن الرمز نُسخ خطأً. احذف refreshToken وأعد التشغيل وسجّل الدخول من جديد.
This video requires login. أو Sign in to confirm you’re not a bot بعد Client [...] failed:يرفض YouTube خدمة السيرفر دون تسجيل دخول. سجّل دخول الإضافة، أو تحقق من أن الرمز المحفوظ ما زال يعمل.
All clients failed to load the item.رُفض كل عميل في قائمتك. تذكر الأسطر Client [...] failed: بجانبها سبب كل واحد.
The page needs to be reloaded من عميل TVHTML5مشكلة عميل TV في الإصدار 1.18.2 الموصوفة أعلاه.

طرق أخرى للحصول على الموسيقى دون YouTube

يمكن للعقدة نفسها التشغيل من مصادر لا تحتاج إلى تسجيل دخول. على باقاتنا تكون مصادر Bandcamp وTwitch وVimeo وNiconico وروابط http المباشرة مفعّلة من البداية. وتضيف إضافات مثل LavaSrc مواقع أخرى، بعضها يحتاج إلى مفاتيح API خاصة بك: كيف تضيف إضافات إلى Lavalink.

الخطوة التالية

بوتك مستضاف في مكان آخر بالفعل؟ انقله إلينا

أحدث مقالات المدونة