diff --git a/.dockerignore b/.dockerignore index 19e463e..5f45035 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,3 +3,6 @@ src/librelogin.db src/plugins/luckperms/libs + +.crowdin +src/plugins/pv-addon-groups/groups.json diff --git a/.gitignore b/.gitignore index 93198c2..bb9ca75 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ src/plugins/librelogin/LICENSE.txt src/librelogin.db src/plugins/luckperms/libs + +.crowdin +src/plugins/pv-addon-groups/groups.json diff --git a/Dockerfile b/Dockerfile index 3f8967c..6699e09 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,13 +11,16 @@ 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} 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 @@ -41,6 +44,9 @@ ENV SKINSRESTORER_DB_NAME=skinsrestorer_db ENV SKINSRESTORER_DB_USERNAME=skinsrestorer ENV SKINSRESTORER_DB_PASSWORD=0000 +ENV VOICE_SECRET=00000000-0000-0000-0000-000000000000 +ENV VOICE_SERVERS=lobby="lobby:25565";survival="survival:25565" + WORKDIR ${WORKDIR_PATH}/config EXPOSE 25565/tcp @@ -50,9 +56,11 @@ EXPOSE 25565/tcp CMD \ # Add proxy secret sed -i "s/_PROXY_SECRET_/${PROXY_SECRET}/g" forwarding.secret && \ + # Substitute librelogin database path sed -i "s~../../librelogin.db~../../../..${DATA_PATH}/librelogin.db~g" plugins/librelogin/config.conf && \ - # Add servers to velocity.toml + + # Add server list to velocity.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 && \ # Add try servers to 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 && \ @@ -82,4 +90,9 @@ CMD \ sed -i "s/_SKINSRESTORER_DB_USERNAME_/${SKINSRESTORER_DB_USERNAME}/g" plugins/skinsrestorer/config.yml && \ sed -i "s/_SKINSRESTORER_DB_PASSWORD_/${SKINSRESTORER_DB_PASSWORD}/g" plugins/skinsrestorer/config.yml && \ + # Add Plasmo Voice proxy secret + 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 && \ + # Add server list to Plasmo Voice config + 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 && \ + 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 = "שימוש: