Syntax
Yönetici
- Katılım
- 31 May 2022
- Mesajlar
- 48
- Konu Yazar
- #1
Lavalink, Discord müzik botları için bir ses sunucusu. Linux üzerinde Lavalink kurmak için öncelikle Java ve Git gibi önkoşulları sağlamalısınız. Biz burada Ubuntu 22 sürümüne kurulum yapacağız.
Gereksinimler
Donanım Desteklerini görmek için aşağıdaki Github deposuna gidebilirsiniz.
https://github.com/lavalink-devs/Lavalink#hardware-support
İlk önce aşağıdaki kodu yazarak başlayalım
OpenJDK 18 sürümünü kuralım
Java versiyonumuzu kontrol edelim
Eğer başarılı bir şekilde kuruldu ise bu şekilde gözükecektir
lavalink adında bir klasör oluşturalım ve klasöre giriş yapalım
Github deposundan en son Lavalink.jar dosyamızı sunucuya indirelim
Yapılandırma dosyamızı oluşturalım ve aşağıdaki kodu içerisine yapıştıralım ve kaydedelim
Lavalink hazır. Şimdi java ile lavalink'i başlatalım
Gereksinimler
Java 17 LTS veya daha yeni bir sürüm gereklidir. (en son LTS sürümünü veya daha yenisini çalıştırmanızı öneririz)
Linux AMD64 üzerinde çalışan OpenJDK veya Zulu resmi olarak desteklenmektedir.
Donanım Desteklerini görmek için aşağıdaki Github deposuna gidebilirsiniz.
https://github.com/lavalink-devs/Lavalink#hardware-support
İlk önce aşağıdaki kodu yazarak başlayalım
Bash:
sudo apt-update -y
OpenJDK 18 sürümünü kuralım
Bash:
sudo apt install openjdk-18-jre-headless
Java versiyonumuzu kontrol edelim
Bash:
java --version
Eğer başarılı bir şekilde kuruldu ise bu şekilde gözükecektir
Bash:
openjdk 18.0.2-ea 2022-07-19
OpenJDK Runtime Environment (build 18.0.2-ea+9-Ubuntu-222.04)
OpenJDK 64-Bit Server VM (build 18.0.2-ea+9-Ubuntu-222.04, mixed mode, sharing)
lavalink adında bir klasör oluşturalım ve klasöre giriş yapalım
Bash:
mkdir lavalink && cd lavalink
Github deposundan en son Lavalink.jar dosyamızı sunucuya indirelim
Bash:
wget https://github.com/lavalink-devs/Lavalink/releases/download/4.0.4/Lavalink.jar
Yapılandırma dosyamızı oluşturalım ve aşağıdaki kodu içerisine yapıştıralım ve kaydedelim
Bash:
nano application.yml
Kod:
server: # REST and WS server
port: 2333
address: 0.0.0.0
http2:
enabled: false # Whether to enable HTTP/2 support
plugins:
# name: # Name of the plugin
# some_key: some_value # Some key-value pair for the plugin
# another_key: another_value
lavalink:
plugins:
# - dependency: "com.github.example:example-plugin:1.0.0" # required, the coordinates of your plugin
# repository: "https://maven.example.com/releases" # optional, defaults to the Lavalink releases repository by default
# snapshot: false # optional, defaults to false, used to tell Lavalink to use the snapshot repository instead of the release repository
# pluginsDir: "./plugins" # optional, defaults to "./plugins"
# defaultPluginRepository: "https://maven.lavalink.dev/releases" # optional, defaults to the Lavalink release repository
# defaultPluginSnapshotRepository: "https://maven.lavalink.dev/snapshots" # optional, defaults to the Lavalink snapshot repository
server:
password: "youshallnotpass"
sources:
youtube: true
bandcamp: true
soundcloud: true
twitch: true
vimeo: true
http: true
local: false
filters: # All filters are enabled by default
volume: true
equalizer: true
karaoke: true
timescale: true
tremolo: true
vibrato: true
distortion: true
rotation: true
channelMix: true
lowPass: true
bufferDurationMs: 400 # The duration of the NAS buffer. Higher values fare better against longer GC pauses. Duration <= 0 to disable JDA-NAS. Minimum of 40ms, lower values may introduce pauses.
frameBufferDurationMs: 5000 # How many milliseconds of audio to keep buffered
opusEncodingQuality: 10 # Opus encoder quality. Valid values range from 0 to 10, where 10 is best quality but is the most expensive on the CPU.
resamplingQuality: LOW # Quality of resampling operations. Valid values are LOW, MEDIUM and HIGH, where HIGH uses the most CPU.
trackStuckThresholdMs: 10000 # The threshold for how long a track can be stuck. A track is stuck if does not return any audio data.
useSeekGhosting: true # Seek ghosting is the effect where whilst a seek is in progress, the audio buffer is read from until empty, or until seek is ready.
youtubePlaylistLoadLimit: 6 # Number of pages at 100 each
playerUpdateInterval: 5 # How frequently to send player updates to clients, in seconds
youtubeSearchEnabled: true
soundcloudSearchEnabled: true
gc-warnings: true
#ratelimit:
#ipBlocks: ["1.0.0.0/8", "..."] # list of ip blocks
#excludedIps: ["...", "..."] # ips which should be explicit excluded from usage by lavalink
#strategy: "RotateOnBan" # RotateOnBan | LoadBalance | NanoSwitch | RotatingNanoSwitch
#searchTriggersFail: true # Whether a search 429 should trigger marking the ip as failing
#retryLimit: -1 # -1 = use default lavaplayer value | 0 = infinity | >0 = retry will happen this numbers times
#youtubeConfig: # Required for avoiding all age restrictions by YouTube, some restricted videos still can be played without.
#email: "" # Email of Google account
#password: "" # Password of Google account
#httpConfig: # Useful for blocking bad-actors from ip-grabbing your music node and attacking it, this way only the http proxy will be attacked
#proxyHost: "localhost" # Hostname of the proxy, (ip or domain)
#proxyPort: 3128 # Proxy port, 3128 is the default for squidProxy
#proxyUser: "" # Optional user for basic authentication fields, leave blank if you don't use basic auth
#proxyPassword: "" # Password for basic authentication
metrics:
prometheus:
enabled: false
endpoint: /metrics
sentry:
dsn: ""
environment: ""
# tags:
# some_key: some_value
# another_key: another_value
logging:
file:
path: ./logs/
level:
root: INFO
lavalink: INFO
request:
enabled: true
includeClientInfo: true
includeHeaders: false
includeQueryString: true
includePayload: true
maxPayloadLength: 10000
logback:
rollingpolicy:
max-file-size: 1GB
max-history: 30
Lavalink hazır. Şimdi java ile lavalink'i başlatalım
Bash:
java -jar Lavalink.jar
Eğer Lavalink sorunsuz bir şekilde yapılandırıldı ve başlatıldıysa java komutundan sonra "Lavalink is ready to accept connections." yazıyorsa sorunsuz bir şekilde çalışıyor demektir.
NOT: application.yml dosyasından kendiniz istediğiniz gibi yapılandırma yapabilirsiniz. Lavalink şifresini değiştirmek için "password: "youshallnotpass"" bölümüne bakabilirsiniz.