From d4a3173d15e057711aeffc7576a7acb53e9d4f40 Mon Sep 17 00:00:00 2001 From: cuqmbr Date: Wed, 18 Jun 2025 17:58:09 +0300 Subject: [PATCH 1/2] add and configure Plasmo Voice --- .dockerignore | 2 + .gitignore | 2 + Dockerfile | 9 +- src/plugins/PlasmoVoice-Velocity-2.1.4.jar | 3 + src/plugins/plasmovoice/config.toml | 14 +++ src/plugins/plasmovoice/forwarding-secret | 1 + src/plugins/pv-addon-broadcast-1.1.0.jar | 3 + src/plugins/pv-addon-broadcast/config.toml | 7 ++ .../pv-addon-broadcast/languages/en_us.toml | 11 ++ .../pv-addon-broadcast/languages/es_es.toml | 11 ++ .../pv-addon-broadcast/languages/fr_fr.toml | 11 ++ .../pv-addon-broadcast/languages/he_il.toml | 11 ++ .../pv-addon-broadcast/languages/ko_kr.toml | 11 ++ .../pv-addon-broadcast/languages/pl_pl.toml | 11 ++ .../pv-addon-broadcast/languages/pt_br.toml | 11 ++ .../pv-addon-broadcast/languages/ru_ru.toml | 11 ++ .../pv-addon-broadcast/languages/tt_ru.toml | 11 ++ .../pv-addon-broadcast/languages/uk_ua.toml | 11 ++ .../pv-addon-broadcast/languages/zh_cn.toml | 11 ++ .../pv-addon-broadcast/languages/zh_tw.toml | 11 ++ src/plugins/pv-addon-groups-1.1.0.jar | 3 + src/plugins/pv-addon-groups/groups.json | 1 + src/plugins/pv-addon-groups/groups.toml | 5 + .../pv-addon-groups/languages/en_us.toml | 114 ++++++++++++++++++ .../pv-addon-groups/languages/es_es.toml | 97 +++++++++++++++ .../pv-addon-groups/languages/ko_kr.toml | 97 +++++++++++++++ .../pv-addon-groups/languages/pl_pl.toml | 88 ++++++++++++++ .../pv-addon-groups/languages/pt_br.toml | 97 +++++++++++++++ .../pv-addon-groups/languages/ru_ru.toml | 114 ++++++++++++++++++ .../pv-addon-groups/languages/tt_ru.toml | 114 ++++++++++++++++++ .../pv-addon-groups/languages/zh_cn.toml | 97 +++++++++++++++ .../pv-addon-groups/languages/zh_tw.toml | 97 +++++++++++++++ 32 files changed, 1095 insertions(+), 2 deletions(-) create mode 100644 src/plugins/PlasmoVoice-Velocity-2.1.4.jar create mode 100644 src/plugins/plasmovoice/config.toml create mode 100644 src/plugins/plasmovoice/forwarding-secret create mode 100644 src/plugins/pv-addon-broadcast-1.1.0.jar create mode 100644 src/plugins/pv-addon-broadcast/config.toml create mode 100644 src/plugins/pv-addon-broadcast/languages/en_us.toml create mode 100644 src/plugins/pv-addon-broadcast/languages/es_es.toml create mode 100644 src/plugins/pv-addon-broadcast/languages/fr_fr.toml create mode 100644 src/plugins/pv-addon-broadcast/languages/he_il.toml create mode 100644 src/plugins/pv-addon-broadcast/languages/ko_kr.toml create mode 100644 src/plugins/pv-addon-broadcast/languages/pl_pl.toml create mode 100644 src/plugins/pv-addon-broadcast/languages/pt_br.toml create mode 100644 src/plugins/pv-addon-broadcast/languages/ru_ru.toml create mode 100644 src/plugins/pv-addon-broadcast/languages/tt_ru.toml create mode 100644 src/plugins/pv-addon-broadcast/languages/uk_ua.toml create mode 100644 src/plugins/pv-addon-broadcast/languages/zh_cn.toml create mode 100644 src/plugins/pv-addon-broadcast/languages/zh_tw.toml create mode 100644 src/plugins/pv-addon-groups-1.1.0.jar create mode 100644 src/plugins/pv-addon-groups/groups.json create mode 100644 src/plugins/pv-addon-groups/groups.toml create mode 100644 src/plugins/pv-addon-groups/languages/en_us.toml create mode 100644 src/plugins/pv-addon-groups/languages/es_es.toml create mode 100644 src/plugins/pv-addon-groups/languages/ko_kr.toml create mode 100644 src/plugins/pv-addon-groups/languages/pl_pl.toml create mode 100644 src/plugins/pv-addon-groups/languages/pt_br.toml create mode 100644 src/plugins/pv-addon-groups/languages/ru_ru.toml create mode 100644 src/plugins/pv-addon-groups/languages/tt_ru.toml create mode 100644 src/plugins/pv-addon-groups/languages/zh_cn.toml create mode 100644 src/plugins/pv-addon-groups/languages/zh_tw.toml diff --git a/.dockerignore b/.dockerignore index 9e0bfdc..f0ea9a9 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1,3 @@ */logs + +.crowdin diff --git a/.gitignore b/.gitignore index 9e0bfdc..f0ea9a9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ */logs + +.crowdin diff --git a/Dockerfile b/Dockerfile index 5ce3ed5..3e60c9a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,10 +16,13 @@ VOLUME ${DATA_PATH} ENV MEMORY=4G -ENV PROXY_SECRET=change_me +ENV PROXY_SECRET=00000000-0000-0000-0000-000000000000 ENV SERVERS=lobby="lobby:25565";survival="survival:25565" ENV TRY=lobby;survival +ENV VOICE_SECRET=00000000-0000-0000-0000-000000000000 +ENV VOICE_SERVERS=lobby="lobby:25565";survival="survival:25565" + WORKDIR ${WORKDIR_PATH}/config EXPOSE 25565/tcp @@ -28,6 +31,8 @@ EXPOSE 25565/tcp # TODO: Use one call to awk to perform substitutions CMD \ sed -i "s/_PROXY_SECRET_/${PROXY_SECRET}/g" forwarding.secret && \ - awk -v servers_str="${SERVERS}" '{ count=split(servers_str,servers_arr,";"); servers_fmt_str = ""; for (i = 1; i <= count; i++) servers_fmt_str = servers_fmt_str servers_arr[i] "\n"; sub(/_SERVERS_/,servers_fmt_str); print }' velocity.toml > velocity.toml.tmp && mv -T -f velocity.toml.tmp velocity.toml &&\ + cat plugins/plasmovoice/forwarding-secret | sed "s/00000000-0000-0000-0000-000000000000/${VOICE_SECRET}/g" | tr -d '\n' > plugins/plasmovoice/forwarding-secret.tmp && mv -T -f plugins/plasmovoice/forwarding-secret.tmp plugins/plasmovoice/forwarding-secret && \ + awk -v servers_str="${VOICE_SERVERS}" '{ count=split(servers_str,servers_arr,";"); servers_fmt_str = ""; for (i = 1; i <= count; i++) servers_fmt_str = servers_fmt_str servers_arr[i] "\n"; sub(/_SERVERS_/,servers_fmt_str); print }' plugins/plasmovoice/config.toml > plugins/plasmovoice/config.toml.tmp && mv -T -f plugins/plasmovoice/config.toml.tmp plugins/plasmovoice/config.toml && \ + awk -v servers_str="${SERVERS}" '{ count=split(servers_str,servers_arr,";"); servers_fmt_str = ""; for (i = 1; i <= count; i++) servers_fmt_str = servers_fmt_str servers_arr[i] "\n"; sub(/_SERVERS_/,servers_fmt_str); print }' velocity.toml > velocity.toml.tmp && mv -T -f velocity.toml.tmp velocity.toml && \ awk -v try_str="${TRY}" '{ count=split(try_str,try_arr,";"); try_fmt_str = ""; for (i = 1; i <= count; i++) try_fmt_str = try_fmt_str "\"" try_arr[i] "\"" ",\n "; sub(/_TRY_/,try_fmt_str); print }' velocity.toml > velocity.toml.tmp && mv -T -f velocity.toml.tmp velocity.toml && \ java -Xms${MEMORY} -Xmx${MEMORY} -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -jar *.jar diff --git a/src/plugins/PlasmoVoice-Velocity-2.1.4.jar b/src/plugins/PlasmoVoice-Velocity-2.1.4.jar new file mode 100644 index 0000000..4cd91ac --- /dev/null +++ b/src/plugins/PlasmoVoice-Velocity-2.1.4.jar @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab1c610e33059d480d44dc6af98ec6a52fa1f9a65f0f6f1751e1d4a9b79e7e5e +size 8186109 diff --git a/src/plugins/plasmovoice/config.toml b/src/plugins/plasmovoice/config.toml new file mode 100644 index 0000000..f25ccf2 --- /dev/null +++ b/src/plugins/plasmovoice/config.toml @@ -0,0 +1,14 @@ +default_language = "en_us" +debug = false +use_crowdin_translations = true +check_for_updates = true +# The MTU size on the proxy only needs to create Opus encoders using the API +mtu_size = 1024 + +[servers] +_SERVERS_ + + +[host] +ip = "0.0.0.0" +port = 0 diff --git a/src/plugins/plasmovoice/forwarding-secret b/src/plugins/plasmovoice/forwarding-secret new file mode 100644 index 0000000..fee6f32 --- /dev/null +++ b/src/plugins/plasmovoice/forwarding-secret @@ -0,0 +1 @@ +00000000-0000-0000-0000-000000000000 \ No newline at end of file diff --git a/src/plugins/pv-addon-broadcast-1.1.0.jar b/src/plugins/pv-addon-broadcast-1.1.0.jar new file mode 100644 index 0000000..d20f7ef --- /dev/null +++ b/src/plugins/pv-addon-broadcast-1.1.0.jar @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c4e39582d7b7236129a9cca42412d5faefd1ba54f2e637ed1027c0791f31d08 +size 58461 diff --git a/src/plugins/pv-addon-broadcast/config.toml b/src/plugins/pv-addon-broadcast/config.toml new file mode 100644 index 0000000..b78f62e --- /dev/null +++ b/src/plugins/pv-addon-broadcast/config.toml @@ -0,0 +1,7 @@ +# Available values: +# ACTION_BAR - show current broadcast-wide in action bar +# CHAT - show current broadcast-wide in chat +# HIDDEN - don't show current broadcast-wide +show_current_broadcast_wide = "ACTION_BAR" +activation_weight = 12 +source_line_weight = 12 diff --git a/src/plugins/pv-addon-broadcast/languages/en_us.toml b/src/plugins/pv-addon-broadcast/languages/en_us.toml new file mode 100644 index 0000000..b335a21 --- /dev/null +++ b/src/plugins/pv-addon-broadcast/languages/en_us.toml @@ -0,0 +1,11 @@ +[server.pv.addon.broadcast] +broadcasting_specific = "Broadcasting to %s" +broadcasting_wide = "Broadcasting to %s-wide" + +[server.pv.addon.broadcast.command] +server_usage = "Usage: /vbroadcastproxy server " +proxy_set = "Set broadcast with mode proxy" +usage = "Usage: /vbroadcastproxy " +server_set = "Set broadcast with mode server to %s" +[client.pv.activation] +broadcast = "Broadcast" diff --git a/src/plugins/pv-addon-broadcast/languages/es_es.toml b/src/plugins/pv-addon-broadcast/languages/es_es.toml new file mode 100644 index 0000000..d4e1ec0 --- /dev/null +++ b/src/plugins/pv-addon-broadcast/languages/es_es.toml @@ -0,0 +1,11 @@ +[server.pv.addon.broadcast] +broadcasting_specific = "Transmitiendo a %s" +broadcasting_wide = "Transmitiendo a %s-wide" + +[server.pv.addon.broadcast.command] +server_usage = "Uso: /vbroadcastproxy server " +proxy_set = "Establecer transmisión con el modo proxy" +usage = "Uso: /vbroadcastproxy " +server_set = "Establecer transmisión con el modo de servidor a %s" +[client.pv.activation] +broadcast = "Transmisión" diff --git a/src/plugins/pv-addon-broadcast/languages/fr_fr.toml b/src/plugins/pv-addon-broadcast/languages/fr_fr.toml new file mode 100644 index 0000000..15ed01b --- /dev/null +++ b/src/plugins/pv-addon-broadcast/languages/fr_fr.toml @@ -0,0 +1,11 @@ +[server.pv.addon.broadcast] +broadcasting_specific = "Diffuser à %s" +broadcasting_wide = "Broadcasting to %s-wide" + +[server.pv.addon.broadcast.command] +server_usage = "Usage: /vbroadcastproxy server " +proxy_set = "Set broadcast with mode proxy" +usage = "Utilisation : /vbroadcastproxy " +server_set = "Set broadcast with mode server to %s" +[client.pv.activation] +broadcast = "Diffusion" diff --git a/src/plugins/pv-addon-broadcast/languages/he_il.toml b/src/plugins/pv-addon-broadcast/languages/he_il.toml new file mode 100644 index 0000000..f82b451 --- /dev/null +++ b/src/plugins/pv-addon-broadcast/languages/he_il.toml @@ -0,0 +1,11 @@ +[server.pv.addon.broadcast] +broadcasting_specific = "משדר ל-%s" +broadcasting_wide = "משדר ל %s-רחב" + +[server.pv.addon.broadcast.command] +server_usage = "שימוש: Date: Wed, 18 Jun 2025 18:54:06 +0300 Subject: [PATCH 2/2] make groups.json persistent --- .dockerignore | 1 + .gitignore | 1 + Dockerfile | 3 +++ src/plugins/pv-addon-groups/groups.json | 1 - 4 files changed, 5 insertions(+), 1 deletion(-) delete mode 100644 src/plugins/pv-addon-groups/groups.json diff --git a/.dockerignore b/.dockerignore index f0ea9a9..b54dec4 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,4 @@ */logs .crowdin +src/plugins/pv-addon-groups/groups.json diff --git a/.gitignore b/.gitignore index f0ea9a9..b54dec4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ */logs .crowdin +src/plugins/pv-addon-groups/groups.json diff --git a/Dockerfile b/Dockerfile index 3e60c9a..6ad2ba9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,6 +11,9 @@ RUN mkdir ${DATA_PATH} RUN mkdir ${DATA_PATH}/logs && \ ln -sf ${DATA_PATH}/logs ${CONFIG_PATH} +RUN touch ${DATA_PATH}/pv-groups.json && \ + ln -sf ${DATA_PATH}/pv-groups.json \ + ${CONFIG_PATH}/plugins/pv-addon-groups/groups.json VOLUME ${DATA_PATH} diff --git a/src/plugins/pv-addon-groups/groups.json b/src/plugins/pv-addon-groups/groups.json deleted file mode 100644 index 3b91e0a..0000000 --- a/src/plugins/pv-addon-groups/groups.json +++ /dev/null @@ -1 +0,0 @@ -{"groups":[],"groupByPlayer":{}} \ No newline at end of file -- 2.45.2