Skip to content

Commit 30bedca

Browse files
authored
release v4.0.0-beta.2 (#923)
1 parent afbb146 commit 30bedca

File tree

6 files changed

+40
-17
lines changed

6 files changed

+40
-17
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
Each release usually includes various fixes and improvements.
44
The most noteworthy of these, as well as any features and breaking changes, are listed here.
55

6+
## 4.0.0-beta.2
7+
* Update lavaplayer to [`08cfbc0`](https://github.com/Walkyst/lavaplayer-fork/commit/08cfbc05953128f3cf727ea3bcbe41dabcd1c7db) - Fixed ogg streaming
8+
* Add JDA-NAS support for musl (`x86-64`, `aarch64`) based systems (most notably `alpine`)
9+
* New config option to specify the directory to load plugins from. `lavalink.pluginsDir` (defaults to `./plugins`)
10+
611
## 4.0.0-beta.1
712
* New Lavalink now requires Java 17 or higher to run
813
* **Removal of all websocket messages sent by the client. Everything is now done via [REST](IMPLEMENTATION.md#rest-api)**

LavalinkServer/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ tasks {
137137
archiveFileName.set("Lavalink-musl.jar")
138138
// Exclude base dependency jar
139139
exclude {
140-
it.name.contains("lavaplayer-natives-fork") || it.name.contains("udpqueue-native-")
140+
it.name.contains("lavaplayer-natives-fork") || (it.name.contains("udpqueue-native-") && !it.name.contains("musl"))
141141
}
142142

143143
// Add custom jar

LavalinkServer/docker/alpine.Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
FROM azul/zulu-openjdk-alpine:17-jre-headless-latest
22

3+
RUN apk add --no-cache libgcc
4+
35
# Run as non-root user
46
RUN addgroup -g 322 -S lavalink && \
57
adduser -u 322 -S lavalink lavalink

LavalinkServer/src/main/java/lavalink/server/config/KoeConfiguration.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ class KoeConfiguration(val serverConfig: ServerConfig) {
2020
SystemType(DefaultArchitectureTypes.X86_32, DefaultOperatingSystemTypes.LINUX),
2121
SystemType(DefaultArchitectureTypes.ARMv8_64, DefaultOperatingSystemTypes.LINUX),
2222

23+
SystemType(DefaultArchitectureTypes.X86_64, DefaultOperatingSystemTypes.LINUX_MUSL),
24+
SystemType(DefaultArchitectureTypes.ARMv8_64, DefaultOperatingSystemTypes.LINUX_MUSL),
25+
2326
SystemType(DefaultArchitectureTypes.X86_64, DefaultOperatingSystemTypes.WINDOWS),
2427
SystemType(DefaultArchitectureTypes.X86_32, DefaultOperatingSystemTypes.WINDOWS),
2528

README.md

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ A [basic example bot](Testbot) is available.
1919

2020
- [Features](#features)
2121
- [Requirements](#requirements)
22+
- [Hardware Support](#hardware-support)
2223
- [Changelog](#changelog)
2324
- [Versioning policy](#versioning-policy)
2425
- [Client libraries](#client-libraries)
@@ -49,19 +50,28 @@ A [basic example bot](Testbot) is available.
4950
* Java 17 LTS or newer required. (we recommend running the latest LTS version or newer)
5051
* OpenJDK or Zulu running on Linux AMD64 is officially supported.
5152

52-
Support for Darwin (Mac), Windows AMD64, and Linux ARM (Raspberry Pi) is provided on a best-effort basis. This is dependent on Lavaplayer's native libraries.
53-
54-
Lavaplayer currently supports following architectures:
55-
56-
`Darwin (M1 & Intel)`, `Linux aarch32`, `Linux aarch64`, `Linux ARMv7+ 32/64`, `Linux ARMHF(v6) 32`, `Linux i386 32`, `Linux x86 64`, `Windows i386 32` and `Windows x86 64`
57-
58-
JDA-NAS(Native Audio Buffer) & the Timescale filter are currently not supported on following architectures:
59-
60-
`Linux ARMHF(v6) 32` and `Linux aarch32`
61-
62-
6353
Support for other JVMs is also best-effort. Periodic CPU utilization stats are prone not to work everywhere.
6454

55+
## Hardware Support
56+
57+
Lavalink also runs on other hardware, but support is best-effort.
58+
Here is a list of known working hardware:
59+
60+
| Operating System | Architecture | Lavaplayer | JDA-NAS | Timescale | AVX2 |
61+
|------------------|--------------|------------|---------|-----------|------|
62+
| linux | x86-64 |||||
63+
| linux | x86 |||||
64+
| linux | arm |||||
65+
| linux | armhf |||||
66+
| linux | aarch32 |||||
67+
| linux | aarch64 |||||
68+
| linux-musl | x86-64 |||||
69+
| linux-musl | aarch64 |||||
70+
| windows | x86-64 |||||
71+
| Windows | x86 |||||
72+
| darwin | x86-64 |||||
73+
| darwin | aarch64e |||||
74+
6575
## Changelog
6676

6777
Please see [here](CHANGELOG.md)
@@ -146,6 +156,8 @@ LAVALINK_PLUGINS_0_REPOSITORY
146156
LAVALINK_PLUGINS_1_DEPENDENCY
147157
LAVALINK_PLUGINS_1_REPOSITORY
148158
159+
LAVALINK_PLUGINS_DIR
160+
149161
LAVALINK_SERVER_PASSWORD
150162
LAVALINK_SERVER_SOURCES_YOUTUBE
151163
LAVALINK_SERVER_SOURCES_BANDCAMP
@@ -261,19 +273,20 @@ WantedBy=multi-user.target
261273
```
262274

263275
To initiate the service, run
276+
264277
```shell
265278
sudo systemctl daemon-reload
266279
sudo systemctl enable lavalink
267280
sudo systemctl start lavalink
268281
```
282+
269283
In addition to the usual log files, you can also view the log with `sudo journalctl -u lavalink`.
284+
270285
### Docker
271286

272287
Docker images can be found under [packages](https://github.com/lavalink-devs/Lavalink/pkgs/container/lavalink) with old builds prior to `v3.7.4` being available on [Docker Hub](https://hub.docker.com/r/fredboat/lavalink/).
273288
There are 2 image variants `Ubuntu` and `Alpine`, the `Alpine` variant is smaller and can be used with the `-alpine` suffix, for example `ghcr.io/lavalink-devs/lavalink:3-alpine`.
274289

275-
---
276-
277290
Install [Docker](https://docs.docker.com/engine/install/) & [Docker Compose](https://docs.docker.com/compose/install/)
278291

279292
Create a `docker-compose.yml` with the following content:

settings.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ fun VersionCatalogBuilder.spring() {
3636
}
3737

3838
fun VersionCatalogBuilder.voice() {
39-
version("lavaplayer", "17c75f5")
39+
version("lavaplayer", "08cfbc0595")
4040

4141
library("lavaplayer", "com.github.walkyst.lavaplayer-fork", "lavaplayer").versionRef("lavaplayer")
4242
library("lavaplayer-ip-rotator", "com.github.walkyst.lavaplayer-fork", "lavaplayer-ext-youtube-rotator").versionRef("lavaplayer")
@@ -45,8 +45,8 @@ fun VersionCatalogBuilder.voice() {
4545
library("koe", "moe.kyokobot.koe", "core").version("2.0.0-rc1")
4646
library("koe-udpqueue", "moe.kyokobot.koe", "ext-udpqueue").version("2.0.0-rc1")
4747

48-
version("udpqueue", "0.2.6")
49-
val platforms = listOf("linux-x86-64", "linux-x86", "linux-aarch64", "linux-arm", "win-x86-64", "win-x86", "darwin")
48+
version("udpqueue", "0.2.7")
49+
val platforms = listOf("linux-x86-64", "linux-x86", "linux-aarch64", "linux-arm", "linux-musl-x86-64", "linux-musl-aarch64", "win-x86-64", "win-x86", "darwin")
5050
platforms.forEach {
5151
library("udpqueue-native-$it", "club.minnced", "udpqueue-native-$it").versionRef("udpqueue")
5252
}

0 commit comments

Comments
 (0)