چگونه سرور Lavalink راهاندازی و میزبانی کنیم
در این صفحه
Lavalink یک سرور صوتی مستقل برای رباتهای موسیقی Discord است. ربات شما به آن دستور میدهد — این را پخش کن، رد کن، صدا را تنظیم کن — و Lavalink کار سنگین را انجام میدهد: دریافت آهنگ، رمزگذاری صدا و پخش آن در کانال صوتی. ربات سبک میماند و یک سرور Lavalink میتواند به سرورهای Discord زیادی سرویس بدهد.
این راهنما Lavalink 4 را راهاندازی میکند، آن را بهصورت امن پیکربندی میکند، افزونه YouTube را اضافه میکند و یک ربات را به آن وصل میکند — روی سیستم خودتان یا با میزبانی Lavalink.
پیشنیازهای Lavalink
- Java 17 یا جدیدتر. Lavalink آخرین نسخه LTS را توصیه میکند.
- Lavalink 4.2 یا جدیدتر. از مارس ۲۰۲۶ Discord فقط صدای رمزنگاریشده سرتاسری (پروتکل DAVE) را مجاز میداند و Lavalink 4.2.0 نخستین نسخهای بود که از آن پشتیبانی کرد. سرورهای قدیمیتر دیگر نمیتوانند در Discord صدا پخش کنند.
- یک کتابخانه کلاینت در ربات که از همین نسخه پشتیبانی کند — نسخههای فعلی lavalink-client، Shoukaku، Wavelink، lavalink.py و دیگران پشتیبانی میکنند. انتخاب آن در چگونه ربات موسیقی Discord بسازیم توضیح داده شده است.
- دستگاهی که همیشه روشن بماند، چون وقتی Lavalink متوقف شود موسیقی هم قطع میشود.
دانلود و اجرای Lavalink
Lavalink.jarرا از آخرین نسخه منتشرشده در GitHub در یک پوشه خالی دانلود کنید.- در همان پوشه فایل
application.ymlرا بسازید (بخش بعدی). - آن را از همان پوشه اجرا کنید:
java -jar Lavalink.jar
وقتی لاگ نشان دهد که اجرا شده، Lavalink آماده است. روی سرور Linux، مستندات Lavalink توصیه میکند آن را بهعنوان سرویس systemd اجرا کنید تا پس از کرش و راهاندازی مجدد دوباره بالا بیاید؛ یک ایمیج Docker هم منتشر شده است.
پیکربندی application.yml
یک پیکربندی حداقلی Lavalink 4 همراه با افزونه YouTube:
server:
port: 2333
address: 0.0.0.0
lavalink:
plugins:
- dependency: "dev.lavalink.youtube:youtube-plugin:1.18.2"
snapshot: false
server:
password: "a-long-random-password"
sources:
youtube: false
soundcloud: true
bandcamp: true
twitch: true
vimeo: true
http: true
local: false
plugins:
youtube:
enabled: true
allowSearch: true
password— آن را تغییر دهید. پیکربندی نمونه باyoushallnotpassعرضه میشود که عمومی است؛ هر کسی سرور شما را پیدا کند میتواند با رمز پیشفرض از آن استفاده کند.port— بهطور پیشفرض2333؛ ربات شما به این پورت وصل میشود.sources.youtube: false— منبع داخلی YouTube منسوخ شده است. افزونه جای آن را میگیرد و مستنداتش میگوید منبع داخلی باید خاموش شود.http: trueبه ربات اجازه میدهد لینکهای مستقیم را پخش کند؛ نمونه رسمی یادآوری میکند که بدون پراکسی این کار ممکن است IP سرور شما را فاش کند.
YouTube، Spotify و منابع دیگر
افزونهها زیر lavalink.plugins فهرست میشوند و هنگام اجرا دانلود میشوند. دو مورد ارزش شناختن دارند:
- youtube-source (
dev.lavalink.youtube:youtube-plugin) — پخش و جستجو در YouTube. YouTube فعالانه دسترسی خودکار را مسدود میکند، پس ممکن است تا بهروزرسانی افزونه از کار بیفتد؛ همیشه آخرین نسخه را نگه دارید. - LavaSrc (
com.github.topi314.lavasrc:lavasrc-plugin) — Spotify، Apple Music، Deezer و موارد دیگر را اضافه میکند. از لینکهای Spotify و Apple Music فقط اطلاعات آهنگ خوانده میشود و صدا از منبع دیگری پخش میشود.
اتصال ربات به Lavalink
هر کلاینت Lavalink همین چهار مقدار را میخواهد که به آن نود (node) میگویند:
| تنظیم | مقدار |
|---|---|
| Host | آدرس دستگاهی که Lavalink روی آن اجرا میشود |
| Port | مقدار server.port در application.yml |
| Password | مقدار lavalink.server.password که تنظیم کردهاید |
| Secure | false، مگر اینکه Lavalink را پشت HTTPS قرار داده باشید |
برای مثال، Wavelink در Python این را میگیرد: wavelink.Node(uri="http://your-host:2333", password="..."). اگر ربات نتواند وصل شود، اول رمز عبور را بررسی کنید و بعد اینکه پورت از جایی که ربات اجرا میشود در دسترس باشد.
میزبانی Lavalink در HytHost
- Lavalink را بهعنوان محیط اجرا انتخاب کنید. در صفحه میزبانی ربات Discord یک پلن انتخاب کنید و Lavalink را بهعنوان زبان برگزینید. سرور آخرین نسخه Lavalink را روی Java 21 همراه با پیکربندی نمونه رسمی نصب میکند.
- رمز عبور را تغییر دهید. فایل
application.ymlرا در مدیر فایل باز کنید و رمز پیشفرض را عوض کنید. پنل از قبل آدرس و پورت را روی پورت اختصاصی سرور شما تنظیم کرده است، پس این دو را دست نزنید. - افزونه YouTube را اضافه کنید اگر YouTube میخواهید: بلوک افزونه و
youtube: falseاز پیکربندی بالا، سپس راهاندازی مجدد. - ربات را وصل کنید با آدرس سرور و پورتی که در پنل نمایش داده میشود و رمزی که تنظیم کردهاید.
Lavalink بهصورت یک سرور جداگانه و مستقل از ربات اجرا میشود. یک پلن برای ربات و یکی با محیط اجرای Lavalink سفارش دهید، یا در پلنی با چند جایگاه ربات از ما بخواهید یکی از آنها را به محیط Lavalink منتقل کنیم. در آزمایشهای ما Lavalink در حالت بیکار کمتر از 200 MB مصرف میکند؛ برای یک ربات کوچک توصیه ما 1 GB است و اگر همزمان در سرورهای زیادی پخش کند، بیشتر.
Lavalink یکی از محیطهای اجرای میزبانی ربات Discord در HytHost است، در کنار Node.js، Python و Java — از €0.89 در ماه.
مشاهده پلنهای میزبانی رباتپرسشهای متداول
یک سرور صوتی مستقل برای رباتهای موسیقی Discord. ربات به آن میگوید چه چیزی پخش کند و Lavalink صدا را دریافت، رمزگذاری و در کانال صوتی پخش میکند، بنابراین خود ربات سبک میماند.
Java 17 یا جدیدتر، و تیم Lavalink آخرین نسخه LTS را توصیه میکند. همچنین Lavalink 4.2 یا جدیدتر لازم است، چون Discord اکنون صدای رمزنگاریشده را الزامی کرده است.
پورت 2333 و رمز youshallnotpass از پیکربندی نمونه. پیش از آنلاین کردن سرور رمز را تغییر دهید؛ رمز پیشفرض را همه میدانند.
منبع داخلی YouTube منسوخ شده است. افزونه youtube-source را اضافه کنید، sources.youtube را روی false بگذارید و دوباره راهاندازی کنید. اگر بعدا از کار افتاد، افزونه را بهروز کنید، چون YouTube مرتبا روش مسدودسازی دسترسی خودکار را تغییر میدهد.
عدد رسمی وجود ندارد. در آزمایشهای ما در حالت بیکار کمتر از 200 MB مصرف میکند؛ توصیه ما 1 GB برای یک ربات کوچک است و اگر همزمان در سرورهای زیادی پخش کند، بیشتر.
بگذارید موسیقی ادامه پیدا کند
Lavalink یا ربات خود را روی میزبانی ربات Discord در HytHost اجرا کنید، با هفت محیط اجرا، پایگاه داده MySQL و نسخه پشتیبان — از €0.89 در ماه.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursاین راهنما برایتان مفید بود؟