Compare commits

...

36 Commits

Author SHA1 Message Date
43a34ffd75
remove favicon background 2025-08-10 20:50:16 +03:00
f50ea15354 Merge pull request 'feature-23-permission-improvements' (#20) from feature-23 into develop
Some checks failed
/ build-docker (push) Has been cancelled
Reviewed-on: #20
2025-08-10 17:48:01 +00:00
e9a975996d
add bmmarker permissions to admin role 2025-08-10 20:45:03 +03:00
e0e65dfae1
remove open ender chest permission from moderator role
due to the bug in the used plugin version (5.1.2), ender chest not displaying contents properly in view-only mode

fixed in 5.1.6 https://github.com/Jikoo/OpenInv/releases/tag/5.1.6
2025-08-10 20:43:34 +03:00
fe9c92e558
rename track "staff" to "roles" 2025-08-10 20:43:34 +03:00
62675bf7aa
add "eye" clan 2025-08-10 20:43:34 +03:00
f9a03bc26c
fix players' inability to set skins by url 2025-08-10 20:43:34 +03:00
86282257f5 Merge pull request 'feature-42-fix-unicode' (#19) from feature-42 into develop
All checks were successful
/ build-docker (push) Successful in 9m21s
Reviewed-on: #19
2025-08-06 18:57:22 +00:00
3fa160365c
add unicode locale generation to Dockerfile
before the change, unicode characters were displayed in console as question marks
2025-08-06 21:54:52 +03:00
83dcc565d8 Merge pull request 'feature-23-command-whitelist' (#18) from feature-23 into develop
All checks were successful
/ build-docker (push) Successful in 3m48s
Reviewed-on: #18
Reviewed-by: oznobys <oznobys@noreply.localhost>
2025-08-04 15:28:51 +00:00
b9969e22c1
add and configure CommandWhitelist
allows to forbid certain command execution and hide their completion
2025-08-03 22:30:23 +03:00
922c7dffee
add initial luckperms state
compress with gzip, then import with /lpv import luckperms.json.gz
2025-08-03 22:28:26 +03:00
54cd553199 Merge pull request 'color update' (#17) from tab-config into develop
All checks were successful
/ build-docker (push) Successful in 5m12s
Reviewed-on: #17
Reviewed-by: cuqmbr <me@cuqmbr.xyz>
2025-07-28 20:44:09 +00:00
7df8cd9e5d color update 2025-07-28 23:36:51 +03:00
af726a7e61 Merge pull request 'configure-motd' (#16) from motd-config into develop
All checks were successful
/ build-docker (push) Successful in 5m25s
Reviewed-on: #16
Reviewed-by: cuqmbr <me@cuqmbr.xyz>
2025-07-26 18:30:45 +00:00
e20f6a19d8 Merge pull request 'change-prefix-ordering' (#15) from tab-config into develop
Some checks failed
/ build-docker (push) Has been cancelled
Reviewed-on: #15
Reviewed-by: cuqmbr <me@cuqmbr.xyz>
2025-07-26 18:30:03 +00:00
dcdcadf2e4 configure motd 2025-07-26 20:19:44 +03:00
b3f3c3a480 remove staff>clans 2025-07-26 19:39:08 +03:00
853857e1c3 Merge pull request 'feature-46-unifiedmetrics' (#14) from feature-46 into develop
All checks were successful
/ build-docker (push) Successful in 5m13s
Reviewed-on: #14
2025-07-25 18:21:14 +00:00
40ea78c2d9 Merge pull request 'tab-ignore-limbo' (#13) from tab-config into develop
All checks were successful
/ build-docker (push) Successful in 5m5s
Reviewed-on: #13
Reviewed-by: cuqmbr <me@cuqmbr.xyz>
2025-07-25 16:14:38 +00:00
d40d544e05 ignore limbo 2025-07-25 18:58:31 +03:00
9da6b3c3d4
add and configure UnifiedMetrics prometheus exporter 2025-07-25 17:55:53 +03:00
7373d9a99b Merge pull request 'tab-configуре' (#12) from tab-config into develop
All checks were successful
/ build-docker (push) Successful in 5m13s
Reviewed-on: #12
Reviewed-by: cuqmbr <services@cuqmbr.xyz>
2025-07-24 15:55:37 +00:00
0bdaa39911 delete TAB 2025-07-24 18:48:33 +03:00
38443e14e3 configure tab with lp 2025-07-24 18:24:12 +03:00
43522a498e rename TAB>tab TAB to tab 2025-07-23 21:07:43 +03:00
88e905e7af Merge pull request 'feature-34-antibot' (#6) from feature-34 into develop
All checks were successful
/ build-docker (push) Successful in 3m57s
Reviewed-on: #6
2025-07-22 19:25:59 +00:00
ca007a8c66
Merge branch 'develop' into feature-34 2025-07-22 22:25:31 +03:00
69422189fb Merge pull request 'feature-62-ViaVersion' (#11) from feature-62 into develop
All checks were successful
/ build-docker (push) Successful in 3m56s
Reviewed-on: #11
Reviewed-by: apathy <zloiyudin@gmail.com>
2025-07-21 14:55:52 +00:00
25ec263f2f Merge pull request 'feature-60-emotecraft' (#10) from feature-60 into develop
All checks were successful
/ build-docker (push) Successful in 4m20s
Reviewed-on: #10
Reviewed-by: apathy <zloiyudin@gmail.com>
2025-07-21 14:36:46 +00:00
7811414d4e
add and configure ViaVersion 2025-07-20 23:24:22 +03:00
53ae9513a5
add emotecraft 2025-07-20 21:43:25 +03:00
dc50bdf135 Merge pull request 'feature-25-tab' (#9) from feature-25 into develop
All checks were successful
/ build-docker (push) Successful in 4m32s
Reviewed-on: #9
Reviewed-by: cuqmbr <services@cuqmbr.xyz>
2025-07-16 19:12:05 +00:00
ea15db2b50 Merge pull request 'feature-26-server-list' (#7) from feature-26 into develop
Some checks failed
/ build-docker (push) Has been cancelled
Reviewed-on: #7
Reviewed-by: cuqmbr <services@cuqmbr.xyz>
2025-07-16 19:09:06 +00:00
42c3aa4fc5 feature-25-tab 2025-07-16 13:31:22 +03:00
85dcfb342a
add and configure sonar antibot 2025-07-07 14:38:35 +03:00
28 changed files with 2272 additions and 10 deletions

View File

@ -7,4 +7,6 @@ src/plugins/luckperms/libs
.crowdin
src/plugins/pv-addon-groups/groups.json
src/plugins/sonar/lib
src/plugins/advancedserverlist/playercache.json

2
.gitignore vendored
View File

@ -9,4 +9,6 @@ src/plugins/luckperms/libs
.crowdin
src/plugins/pv-addon-groups/groups.json
src/plugins/sonar/lib
src/plugins/advancedserverlist/playercache.json

View File

@ -15,6 +15,13 @@ RUN touch ${DATA_PATH}/pv-groups.json && \
ln -sf ${DATA_PATH}/pv-groups.json \
${CONFIG_PATH}/plugins/pv-addon-groups/groups.json
# Generate unicode locale so that cyrillic characters display properly
RUN apt-get update -y && apt-get install -y locales && \
echo en_US.UTF-8 UTF-8 > /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales
ENV LANG en_US.UTF-8
VOLUME ${DATA_PATH}
@ -47,6 +54,12 @@ ENV SKINSRESTORER_DB_PASSWORD=0000
ENV VOICE_SECRET=00000000-0000-0000-0000-000000000000
ENV VOICE_SERVERS=lobby="lobby:25565";survival="survival:25565"
ENV SONAR_DB_HOST=127.0.0.1
ENV SONAR_DB_PORT=3306
ENV SONAR_DB_NAME=sonar_db
ENV SONAR_DB_USERNAME=sonar
ENV SONAR_DB_PASSWORD=0000
WORKDIR ${WORKDIR_PATH}/config
EXPOSE 25565/tcp
@ -95,4 +108,11 @@ CMD \
# 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 && \
# Add database info to sonar config
sed -i "s/_SONAR_DB_HOST_/${SONAR_DB_HOST}/g" plugins/sonar/config.yml && \
sed -i "s/_SONAR_DB_PORT_/${SONAR_DB_PORT}/g" plugins/sonar/config.yml && \
sed -i "s/_SONAR_DB_NAME_/${SONAR_DB_NAME}/g" plugins/sonar/config.yml && \
sed -i "s/_SONAR_DB_USERNAME_/${SONAR_DB_USERNAME}/g" plugins/sonar/config.yml && \
sed -i "s/_SONAR_DB_PASSWORD_/${SONAR_DB_PASSWORD}/g" plugins/sonar/config.yml && \
java -Xms${MEMORY} -Xmx${MEMORY} -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -jar *.jar

BIN
src/plugins/CommandWhitelist-Velocity-2.12.0.jar (Stored with Git LFS) Normal file

Binary file not shown.

BIN
src/plugins/Sonar-Velocity.jar (Stored with Git LFS) Normal file

Binary file not shown.

BIN
src/plugins/TAB v5.2.4.jar (Stored with Git LFS) Normal file

Binary file not shown.

BIN
src/plugins/VelocityScoreboardAPI-1.0.0.jar (Stored with Git LFS) Normal file

Binary file not shown.

BIN
src/plugins/ViaVersion-5.4.1.jar (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 KiB

View File

@ -33,10 +33,40 @@ condition: ''
# Read more: https://asl.andre601.ch/profiles/#profiles
#
profiles:
- motd: ['<aqua>Welcome to the club Bebrashield:re', '<gold>your mom is pretty']
- motd:
- '<aqua>Bebrashield 2.0 also try Bebrashield:re'
- '<gold>you look like Billy'
- "<#4cd964>❤</#4cd964> <gradient:#4cd964:#34c759><bold>Bebrashield</bold></gradient> <gray>> New era"
- "<#e6c67a><bold>🔧</bold> А чё, когда барьер расширять будете? "
- motd:
- "<#4cd964>❤</#4cd964> <gradient:#4cd964:#34c759><bold>Bebrashield</bold></gradient> <gray>> New era"
- "<#e6c67a><bold>🔧</bold> Колёса крутятся алмазы мутятся! "
- motd:
- "<#4cd964>❤</#4cd964> <gradient:#4cd964:#34c759><bold>Bebrashield</bold></gradient> <gray>> New era"
- "<#e6c67a><bold>🔧</bold> А там точно не лазуритный блок? "
- motd:
- "<#4cd964>❤</#4cd964> <gradient:#4cd964:#34c759><bold>Bebrashield</bold></gradient> <gray>> New era"
- "<#e6c67a><bold>🔧</bold> О, что это за берёза? "
- motd:
- "<#4cd964>❤</#4cd964> <gradient:#4cd964:#34c759><bold>Bebrashield</bold></gradient> <gray>> New era"
- "<#e6c67a><bold>🔧</bold> Стойте! Проходите! Стойте! А ты уходи! "
- motd:
- "<#4cd964>❤</#4cd964> <gradient:#4cd964:#34c759><bold>Bebrashield</bold></gradient> <gray>> New era"
- "<#e6c67a><bold>🔧</bold> Нюхай бебру! "
- motd:
- "<#4cd964>❤</#4cd964> <gradient:#4cd964:#34c759><bold>Bebrashield</bold></gradient> <gray>> New era"
- "<#e6c67a><bold>🔧</bold> Ну это 100% соя. "
- motd:
- "<#4cd964>❤</#4cd964> <gradient:#4cd964:#34c759><bold>Bebrashield</bold></gradient> <gray>> New era"
- "<#e6c67a><bold>🔧</bold> Лес летающих деревьев... "
- motd:
- "<#4cd964>❤</#4cd964> <gradient:#4cd964:#34c759><bold>Bebrashield</bold></gradient> <gray>> New era"
- "<#e6c67a><bold>🔧</bold> О погоде - в Византии сегодня потоп! "
- motd:
- "<#4cd964>❤</#4cd964> <gradient:#4cd964:#34c759><bold>Bebrashield</bold></gradient> <gray>> New era"
- "<#e6c67a><bold>🔧</bold> Чё, когда бан пикси? "
- motd:
- "<#4cd964>❤</#4cd964> <gradient:#4cd964:#34c759><bold>Bebrashield</bold></gradient> <gray>> New era"
- "<#e6c67a><bold>🔧</bold> Я князь тьмы! Нет, ты сясь тьома. "
#
# Set the "Message of the day" to display.
@ -82,7 +112,7 @@ motd:
# This should only happen for the first ping of a player and subsequent pings should display the favicon, if the
# pings are done within the configured cache time (See 'faviconCacheTime' in the config.yml).
#
favicon: ''
favicon: 'logo.png'
#
# Contains options for modifying the player count (Text displaying <online>/<max>).
@ -119,8 +149,8 @@ playerCount:
# Read more: https://asl.andre601.ch/profiles/#hover
#
hover:
- '<aqua>Чё'
- '<yellow>Вылупился'
- '<white>Чё вылупился?'
- '<white>Заходи!'
#
# Set the text that should be displayed instead of the default '<online>/<max>' text.
#

View File

@ -0,0 +1,41 @@
# Messages use MiniMessage formatting (https://docs.adventure.kyori.net/minimessage/format)
messages:
prefix: ''
command_denied: ''
subcommand_denied: ''
no_permission: ''
no_such_subcommand: ''
config_reloaded: <yellow>Configuration reloaded.
added_to_whitelist: <yellow>Whitelisted command <gold>%s <yellow>for permission
<gold>%s
removed_from_whitelist: <yellow>Removed command <gold>%s <yellow>from permission
<gold>%s
group_doesnt_exist: <red>Group doesn't exist or error occured
# Valid message types are CHAT and ACTIONBAR. Does nothing on velocity.
message_type: CHAT
groups:
default:
commands:
- server
- register
- login
- changepassword
- premium
- confirmpremium
- cracked
- groups
- skin
subcommands: []
role_moder:
commands:
- vmute
- vunmute
- vmutelist
subcommands: []
role_admin:
commands:
- send
- vbroadcastproxy
subcommands: []

BIN
src/plugins/emotecraft-2.4.10-velocity.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -403,11 +403,12 @@ auto-install-translations: true
meta-formatting:
prefix:
format:
- "highest"
- highest_on_track_roles
- highest_on_track_clans
duplicates: first-only
start-spacer: "["
middle-spacer: " "
end-spacer: "]"
start-spacer: "<dark_grey>[</dark_grey>"
middle-spacer: "<dark_grey>]</dark_grey> <dark_grey>[</dark_grey>"
end-spacer: "<dark_grey>] </dark_grey>"
suffix:
format:
- "highest"

View File

@ -0,0 +1,955 @@
{
"metadata": {
"generatedBy": "Console@proxy",
"generatedAt": "0000-00-00 00:00:00 EEST"
},
"groups": {
"role_admin": {
"nodes": [
{
"type": "permission",
"key": "bmarker.command.markers",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "bmarker.command.sets",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "coreprotect.restore",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "coreprotect.rollback",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "coreprotect.status",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "openinv.access.offline",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "openinv.enderchest.edit.other",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "openinv.inventory.edit.other",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "openinv.search.container",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "openinv.search.inventory",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "pv.addon.broadcast.*",
"value": true
},
{
"type": "permission",
"key": "commandwhitelist.group.role_admin",
"value": true
},
{
"type": "inheritance",
"key": "group.role_moder",
"value": true
},
{
"type": "permission",
"key": "luckperms.listgroups",
"value": true
},
{
"type": "permission",
"key": "luckperms.user.info",
"value": true
},
{
"type": "permission",
"key": "luckperms.user.parent.add",
"value": true
},
{
"type": "permission",
"key": "luckperms.user.parent.addtemp",
"value": true
},
{
"type": "permission",
"key": "luckperms.user.parent.clear",
"value": true
},
{
"type": "permission",
"key": "luckperms.user.parent.remove",
"value": true
},
{
"type": "permission",
"key": "luckperms.user.parent.removetemp",
"value": true
},
{
"type": "permission",
"key": "luckperms.user.parent.set",
"value": true
},
{
"type": "permission",
"key": "libertybans.ban.dur.perm",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.mute.dur.perm",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "prefix",
"key": "prefix.40.<red>Админ</red>",
"value": true
},
{
"type": "permission",
"key": "pv.activation.broadcast",
"value": true
},
{
"type": "permission",
"key": "velocity.command.send",
"value": true
},
{
"type": "weight",
"key": "weight.40",
"value": true
}
]
},
"role_moder": {
"nodes": [
{
"type": "permission",
"key": "minecraft.command.gamemode.spectator",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "minecraft.command.gamemode.survival",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "minecraft.command.teleport",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "coreprotect.co",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "coreprotect.coreprotect",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "coreprotect.inspect",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "coreprotect.lookup",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "grim.alerts",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "grim.history",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "grim.profile",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.alts.accounthistory.list",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.alts.command",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.ban.do.target.uuid",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.ban.do.target.ip",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.ban.do.target.both",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.ban.dur.14d",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.ban.undo.target.uuid",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.ban.undo.target.ip",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.ban.undo.target.both",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.commands",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.kick.do.target.uuid",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.kick.do.target.ip",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.kick.do.target.both",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.list.banlist",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.list.history",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.list.mutelist",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.list.warns",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.mute.do.target.uuid",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.mute.do.target.ip",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.mute.do.target.both",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.mute.dur.14d",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.mute.undo.target.uuid",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.mute.undo.target.ip",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.mute.undo.target.both",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.warn.do.target.uuid",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.warn.dur.28d",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "libertybans.warn.undo.target.uuid",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "openinv.access.crossworld",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "openinv.access.online",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "openinv.inventory.open.other",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "sv.joinvanished",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "sv.see",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "sv.silentchest",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "sv.use",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "commandwhitelist.group.role_moder",
"value": true
},
{
"type": "inheritance",
"key": "group.role_elder",
"value": true
},
{
"type": "prefix",
"key": "prefix.30.<gold>Модер</gold>",
"value": true
},
{
"type": "permission",
"key": "pv.mute",
"value": true
},
{
"type": "permission",
"key": "pv.mutelist",
"value": true
},
{
"type": "permission",
"key": "pv.unmute",
"value": true
},
{
"type": "permission",
"key": "skinsrestorer.command.set.other",
"value": true
},
{
"type": "weight",
"key": "weight.30",
"value": true
}
]
},
"role_elder": {
"nodes": [
{
"type": "permission",
"key": "commandwhitelist.group.role_elder",
"value": true
},
{
"type": "inheritance",
"key": "group.default",
"value": true
},
{
"type": "prefix",
"key": "prefix.20.<blue>Старейшина</blue>",
"value": true
},
{
"type": "weight",
"key": "weight.20",
"value": true
}
]
},
"clan_apathy": {
"nodes": [
{
"type": "prefix",
"key": "prefix.10.<aqua>Апатия 💰</aqua>",
"value": true
}
]
},
"clan_kam": {
"nodes": [
{
"type": "prefix",
"key": "prefix.10.<dark_red>KAM ⚒</dark_red>",
"value": true
}
]
},
"clan_eye": {
"nodes": [
{
"type": "prefix",
"key": "prefix.10.<black>ОКО 👁</black>",
"value": true
}
]
},
"default": {
"nodes": [
{
"type": "permission",
"key": "carbon.channel.global.see",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "carbon.channel.global.speak",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "carbon.channel.local.see",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "carbon.channel.local.speak",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "carbon.chatlinks",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "carbon.ignore",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "carbon.ignore.unignore",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "carbon.togglemsg",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "carbon.whisper.message",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "carbon.whisper.reply",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "discordsrv.discord",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "discordsrv.unlink",
"value": true,
"context": {
"server": "survival"
}
},
{
"type": "permission",
"key": "carbon.channel.global.see",
"value": true,
"context": {
"server": "lobby"
}
},
{
"type": "permission",
"key": "carbon.channel.global.speak",
"value": true,
"context": {
"server": "lobby"
}
},
{
"type": "permission",
"key": "carbon.chatlinks",
"value": true,
"context": {
"server": "lobby"
}
},
{
"type": "permission",
"key": "carbon.whisper.message",
"value": true,
"context": {
"server": "lobby"
}
},
{
"type": "permission",
"key": "carbon.whisper.reply",
"value": true,
"context": {
"server": "lobby"
}
},
{
"type": "permission",
"key": "spawn.use",
"value": true,
"context": {
"server": "lobby"
}
},
{
"type": "permission",
"key": "zmenu.links",
"value": true,
"context": {
"server": "lobby"
}
},
{
"type": "permission",
"key": "zmenu.main",
"value": true,
"context": {
"server": "lobby"
}
},
{
"type": "permission",
"key": "zmenu.servers",
"value": true,
"context": {
"server": "lobby"
}
},
{
"type": "permission",
"key": "*",
"value": false
},
{
"type": "permission",
"key": "commandwhitelist.group.default",
"value": true
},
{
"type": "inheritance",
"key": "group.default",
"value": true
},
{
"type": "prefix",
"key": "prefix.0.<gray>Игрок</gray>",
"value": true
},
{
"type": "permission",
"key": "pv.activation.groups",
"value": true
},
{
"type": "permission",
"key": "pv.activation.proximity",
"value": true
},
{
"type": "permission",
"key": "pv.activation.whisper",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.ban.owner",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.browse",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.create",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.delete.owner",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.flag.name",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.flag.password",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.info.member",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.invite.member",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.join",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.kick.owner",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.leave",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.set.owner",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.transfer.owner",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.unban",
"value": true
},
{
"type": "permission",
"key": "pv.addon.groups.unset.owner",
"value": true
},
{
"type": "permission",
"key": "skinsrestorer.command.clear",
"value": true
},
{
"type": "permission",
"key": "skinsrestorer.command.set",
"value": true
},
{
"type": "permission",
"key": "skinsrestorer.command.set.url",
"value": true
},
{
"type": "permission",
"key": "velocity.command.server",
"value": true
},
{
"type": "weight",
"key": "weight.0",
"value": true
}
]
}
},
"tracks": {
"clans": {
"groups": [
"clan_kam",
"clan_apathy",
"clan_eye"
]
},
"roles": {
"groups": [
"role_admin",
"role_moder",
"role_elder",
"default"
]
}
},
"users": {}
}

View File

@ -0,0 +1,213 @@
#
# /$$$$$$
# /$$__ $$
# | $$ \__/ /$$$$$$ /$$$$$$$ /$$$$$$ /$$$$$$
# | $$$$$$ /$$__ $$| $$__ $$ |____ $$ /$$__ $$
# \____ $$| $$ \ $$| $$ \ $$ /$$$$$$$| $$ \__/
# /$$ \ $$| $$ | $$| $$ | $$ /$$__ $$| $$
# | $$$$$$/| $$$$$$/| $$ | $$| $$$$$$$| $$
# \______/ \______/ |__/ |__/ \_______/|__/
#
# Need help or have questions? https://jonesdev.xyz/discord
# Source code: https://github.com/jonesdevelopment/sonar
# Documentation: https://docs.jonesdev.xyz/administration/configuring-sonar
# Copyright Jones Development and Sonar Contributors, licensed under GPL-3.0
#
# General settings for Sonar
general:
# Should Sonar automatically check for new updates?
# Sonar uses the GitHub API to check if the current version is outdated
check-for-updates: true
# Should Sonar log players' IP addresses in console?
log-player-addresses: true
# Maximum number of players online with the same IP address
max-online-per-ip: 3
# Sensitivity settings for the attack tracker
# Only edit this if you know what you're doing
attack-tracker:
# Minimum number of new players in order for an attack to be detected
min-players-for-attack: 8
# Amount of time that has to pass in order for an attack to be over
# (This value represents the time in milliseconds: 1 second = 1000 milliseconds)
min-attack-duration: 30000
# Number of times an incident has to be reported to be acknowledged as an attack
# This number acts as a buffer to filter out false attack notifications
min-attack-threshold: 2
# Amount of time that has to pass in order for a new attack to be detected
# (This value represents the time in milliseconds: 1 second = 1000 milliseconds)
attack-cooldown-delay: 3000
# You can connect Sonar to a database to keep verified players even after restarting your server
# Note: IP addresses are saved in plain text. You are responsible for keeping your database safe!
database:
# Type of database Sonar uses to store verified players
# Possible types: NONE, MYSQL, MARIADB, H2
type: MARIADB
# File in Sonar's plugin directory used for the H2 database
filename: verified_players
# Host address for authenticating with the SQL database
host: _SONAR_DB_HOST_
# Port for authenticating with the SQL database
port: _SONAR_DB_PORT_
# Name of the SQL database
name: _SONAR_DB_NAME_
# Username for authenticating with the SQL database
username: _SONAR_DB_USERNAME_
# Password for authenticating with the SQL database
password: '_SONAR_DB_PASSWORD_'
# How many days should Sonar keep verified players in the database?
maximum-age: 5
# Every new login request will be queued to avoid spam join attacks
# The queue is updated every 1 second (20 ticks)
queue:
# Number of concurrent queue polls per 1 second
max-polls: 30
# Every new player that joins for the first time will be sent to
# a lightweight limbo server where advanced bot checks are performed
verification:
# When should Sonar verify new players?
# Possible types: ALWAYS, DURING_ATTACK
# - ALWAYS: New players will always be checked (Recommended)
# - DURING_ATTACK: New players will only be checked during an attack
timing: ALWAYS
checks:
# Checks if the players' falling motion is following Minecraft's gravity formula
# All predicted motions are precalculated to save performance
gravity:
# Should Sonar check for valid client gravity? (Recommended)
enabled: true
# Should Sonar make the player solve a CAPTCHA if they fail the gravity check?
captcha-on-fail: false
# The number of ticks the player has to fall to be allowed to hit the platform
max-movement-ticks: 8
# Checks if the player is colliding with blocks spawned below them
collision:
# Should Sonar check if the player collides with blocks? (Recommended)
enabled: true
# Checks if the client sends proper packets when entering a boat
vehicle:
# Should Sonar check if the player properly enters a boat?
enabled: true
# Minimum number of packets sent by the client
minimum-packets: 2
# Make the player type a code from a virtual map in chat
map-captcha:
# When should Sonar make the player solve a CAPTCHA?
# Possible types: ALWAYS, DURING_ATTACK, NEVER
# - ALWAYS: New players will always receive a CAPTCHA
# - DURING_ATTACK: New players will only receive a CAPTCHA during an attack
# - NEVER: New players will never receive a CAPTCHA (Recommended)
timing: NEVER
# Path to the background image Sonar uses for the CAPTCHA
# If the image isn't found, a noise will be used as the default background.
# You can put the name of the file here if the file is in Sonar's plugin directory
background: ''
# Style of the map CAPTCHA (Default: 'modern').
# To use the old design, set this to 'legacy'.
style: modern
# How many CAPTCHA answers should Sonar prepare?
# This task happens asynchronously in the background
precompute: 500
# How long should Sonar wait until the player fails the CAPTCHA?
# (This value represents the time in milliseconds: 1 second = 1000 milliseconds)
max-duration: 30000
# How many times must a player fail the CAPTCHA before failing the verification?
max-tries: 3
# Characters (letters/numbers) that are allowed to appear in the answer to the CAPTCHA
# It is not recommended to add numbers or letters that might look like one another.
# You should only edit this if you know what you're doing
alphabet: abcdefhjkmnoprstuxyz
# Checks if the players are sending a valid client brand to the server
client-brand:
# Should Sonar check for valid client brands? (Recommended)
enabled: true
# Regex for validating client brands during verification
valid-regex: ^[!-~ ]+$
# Maximum client brand length during verification
max-length: 64
# Regex for validating usernames during verification
valid-name-regex: ^[a-zA-Z0-9_]+$
# Regex for validating client locale during verification
valid-locale-regex: ^[a-zA-Z_]+$
# If enabled, the player will be transferred back to the origin server
# after successfully passing the bot verification.
# This feature was introduced by Mojang in Minecraft version 1.20.5
# https://docs.jonesdev.xyz/administration/configuring-sonar/configuring-the-verification/using-1.20.5+-transfers
transfer:
# Should Sonar transfer the player to the origin server (instead of kicking them)?
# For this to work, you must enable the feature in your server's configuration.
# Additionally, you might want to reduce the amount of login rate-limiting
# performed by Velocity or other proxies/plugins, as this might prevent the
# player from being transferred correctly.
# If your server allows Bedrock players to join via Geyser, make sure to set up
# TransferTool for Geyser, so Bedrock players are redirected to the correct server.
# https://github.com/onebeastchris/TransferTool
enabled: false
# Which server should Sonar transfer the player to when the verification is passed?
# Please enter the server IP used by players to normally connect to your server.
# For example, you can put "mc.hypixel.net" or a direct IP like "1.1.1.1"
destination-host: play.my-server.com
# Which port should Sonar use when transferring the player to the origin server?
# If your server does not need a port to connect to, you can leave this as 25565.
destination-port: 25565
# The gamemode of the player during verification
# Possible types: SURVIVAL, CREATIVE, ADVENTURE
# - SURVIVAL: all UI components are visible
# - CREATIVE: health and hunger are hidden
# - ADVENTURE: all UI components are visible
gamemode: ADVENTURE
# Daylight time in the verification world
# You can find all daylight times here:
# https://minecraft.wiki/w/Daylight_cycle
# This is only a visual setting and does not change the verification process!
# If this value is set to 1000, the packet will not be sent.
time-of-day: 1000
# Sonar caches most packets it sends to the client, including the LoginSuccess packet.
# Which username should Sonar use for the LoginSuccess packet?
# The username will not be visible to the player without client modifications
cached-username: Sonar
# Should Sonar log new verification attempts?
log-connections: true
# Should Sonar log new verification attempts during attacks?
log-during-attack: false
# Should Sonar log every single movement/position change during verification?
# This is not recommended for production servers but can be helpful for spotting errors.
debug-xyz-positions: false
# Should Sonar also check Geyser (Bedrock) players?
# This feature is experimental and might cause issues
# If this is disabled, Bedrock players will be skipped
check-geyser-players: false
# The time since the player stopped sending packets before disconnecting
# (This value represents the time in milliseconds: 1 second = 1000 milliseconds)
read-timeout: 8000
# The time since the server stopped sending packets before disconnecting the player
# (This value represents the time in milliseconds: 1 second = 1000 milliseconds)
write-timeout: 10000
# How long should a player wait before reconnecting during verification
# (This value represents the time in milliseconds: 1 second = 1000 milliseconds)
rejoin-delay: 5000
# How long should Sonar remember the number of failed verifications for a player?
# (This value represents the time in milliseconds: 1 second = 1000 milliseconds)
remember-time: 120000
# How long should an IP address be denied from logging in when failing the verification too often?
# (This value represents the time in milliseconds: 1 second = 1000 milliseconds)
blacklist-time: 600000
# How often does a player have to fail the verification in order to be blacklisted?
# (Set this value to 0 to disable the blacklist entirely)
blacklist-threshold: 2
# List of protocol IDs which are unable to join the server at all
# You can find the full list of all protocol IDs here:
# https://wiki.vg/Protocol_version_numbers
# For example, Minecraft 1.20 has the ID 763.
blacklisted-protocols: []

View File

@ -0,0 +1,29 @@
#
# /$$$$$$
# /$$__ $$
# | $$ \__/ /$$$$$$ /$$$$$$$ /$$$$$$ /$$$$$$
# | $$$$$$ /$$__ $$| $$__ $$ |____ $$ /$$__ $$
# \____ $$| $$ \ $$| $$ \ $$ /$$$$$$$| $$ \__/
# /$$ \ $$| $$ | $$| $$ | $$ /$$__ $$| $$
# | $$$$$$/| $$$$$$/| $$ | $$| $$$$$$$| $$
# \______/ \______/ |__/ |__/ \_______/|__/
#
# Need help or have questions? https://jonesdev.xyz/discord
# Source code: https://github.com/jonesdevelopment/sonar
# Copyright Jones Development and Sonar Contributors, licensed under GPL-3.0
#
# Which language should Sonar use for all configurations?
# For this to take effect, restart your server or reload Sonar.
#
# Values will not be translated if you change your language
# when all configuration files already exist.
# If you still want all configuration files to be translated,
# you have to reset the configuration, messages, and webhook settings.
#
# You can view a full list of existing translations here:
# https://docs.jonesdev.xyz/sonar/translations
# If a translation does not exist yet, Sonar will use English (en)
#
# If you set this option to "system", Sonar will use the system language.
language=system

View File

@ -0,0 +1,320 @@
#
# /$$$$$$
# /$$__ $$
# | $$ \__/ /$$$$$$ /$$$$$$$ /$$$$$$ /$$$$$$
# | $$$$$$ /$$__ $$| $$__ $$ |____ $$ /$$__ $$
# \____ $$| $$ \ $$| $$ \ $$ /$$$$$$$| $$ \__/
# /$$ \ $$| $$ | $$| $$ | $$ /$$__ $$| $$
# | $$$$$$/| $$$$$$/| $$ | $$| $$$$$$$| $$
# \______/ \______/ |__/ |__/ \_______/|__/
#
# Need help or have questions? https://jonesdev.xyz/discord
# Source code: https://github.com/jonesdevelopment/sonar
# Copyright Jones Development and Sonar Contributors, licensed under GPL-3.0
#
# Placeholder for every '<prefix>' in this configuration file
prefix: <b><yellow>Bebrashield Bot Protection</b> <gray>» <white>
# Placeholder for every '<support-url>' in this configuration file
support-url: https://discord.gg/xsyy7d8RfG
# Placeholder for every '<header>' in this configuration file
header:
- <b><yellow>Sonar</b><reset>
- ''
# Placeholder for every '<footer>' in this configuration file
footer:
- <gray>If you believe that this is an error, contact an administrator.
# Disconnect message that is shown when someone joins, but there are too many online players with their IP address
too-many-online-per-ip:
- <header>
- <red>There are too many players online with your IP address.
- <footer>
# Translations for commands
commands:
# Message shown when a player tries running /sonar without permission
no-permission: <prefix><red>You do not have permission to execute this command.
# Message shown when someone uses a command incorrectly
incorrect-usage: '<prefix><red>Usage: /sonar <subcommand-usage>'
# Message shown when someone provides an invalid IP address (Invalid format)
invalid-ip-address: <prefix>The IP address you provided seems to be invalid.
# Message shown when the console runs a command that is player-only
player-only: <prefix><red>You can only execute this command as a player.
# Message shown when a player runs a command that is console-only
console-only: <prefix><red>For security reasons, you can only execute this command
through console.
# Message shown when a player does not have permission to execute a certain subcommand
subcommand-no-permission: <prefix><red>You do not have permission to execute this
subcommand. <gray>(<permission>)
# Translations for '/sonar'
main:
# Informational message that is shown above everything when running the main command
header:
- <yellow>Running <b>Sonar</b> <version> on <platform>.
- <gray><click:open_url:'https://github.com/jonesdevelopment/sonar'>(C) <copyright-year>
Jones Development and Sonar Contributors</click>
- ''
- <gray>Need help or have any questions?
- <white><click:open_url:'https://jonesdev.xyz/discord/'><hover:show_text:'(Click
to open Discord)'>Open a ticket on the Discord </hover></click><click:open_url:'https://github.com/jonesdevelopment/sonar/issues'><hover:show_text:'(Click
to open GitHub)'>or open a new issue on GitHub.
- ''
# Formatting of the list of subcommands shown when running the main command
subcommands: '<suggest-subcommand><hover:show_text:''<gray>Only players: </gray><only-players><br><gray>Require
console: </gray><only-console><br><gray>Permission: </gray><white><permission><br><gray>Aliases:
</gray><aliases>''><dark_aqua> ▪ <gray>/sonar <subcommand> <white><description></hover></suggest-subcommand>'
# Formatting for yes (tick) and no (cross) values in the subcommands hover text
tick: <green>✔</green>
cross: <red>✗</red>
# Formatting for the version information
outdated-version: ' <red><click:open_url:''https://github.com/jonesdevelopment/sonar/releases/latest''><hover:show_text:''(Click
to download the latest version of Sonar)''>(Outdated)</hover></click></red>'
unstable-version: ' <gold>(Unstable)</gold>'
api-error: ' <dark_red><hover:show_text:''Check the server logs for more information''>(API
error)</hover></dark_red>'
# Translations for '/sonar reload'
reload:
# Description for this subcommand
description: Reload all configurations
# Message shown when someone starts reloading Sonar
start: <prefix>Reloading Sonar...
# Message shown when Sonar has finished reloading
finish: <prefix><green>Successfully reloaded <gray>(<time-taken>ms)
# Translations for '/sonar verbose'
verbose:
# Description for this subcommand
description: Enable or disable Sonar verbose
# Message shown when a player subscribes to Sonar verbose
subscribe: <prefix>You are now viewing Sonar verbose.
# Message shown when a player unsubscribes from Sonar verbose
unsubscribe: <prefix>You are no longer viewing Sonar verbose.
# Translations for '/sonar notify'
notify:
# Description for this subcommand
description: Enable or disable attack notifications
# Message shown when a player subscribes to Sonar attack notifications
subscribe: <prefix>You are now viewing Sonar attack notifications.
# Message shown when a player unsubscribes from Sonar attack notifications
unsubscribe: <prefix>You are no longer viewing Sonar attack notifications.
# Translations for '/sonar blacklist'
blacklist:
# Description for this subcommand
description: Manage blacklisted IP addresses
# Message shown when someone tries clearing the blacklist but is empty
empty: <prefix>The blacklist is currently empty. Therefore, no IP addresses were
removed from the blacklist.
# Message shown when someone clears the blacklist
clear: <prefix>You successfully removed a total of <amount> IP address(es) from
the blacklist.
# Message shown when someone checks the size of the blacklist
size: <prefix>The blacklist currently contains <amount> IP address(es).
# Message shown when someone removes an IP address from the blacklist
remove: <prefix>Successfully removed <ip> from the blacklist.
# Message shown when someone adds an IP address to the blacklist
add: <prefix>Successfully added <ip> to the blacklist.
# Message shown when someone adds an IP address to the blacklist, but it is already blacklisted
ip-duplicate: <prefix>The IP address you provided is already blacklisted.
# Message shown when someone removes an IP address from the blacklist, but it is not blacklisted
ip-not-found: <prefix>The IP address you provided is not blacklisted.
# Translations for '/sonar verified'
verified:
# Description for this subcommand
description: Manage verified IP addresses
# Message shown when someone tries clearing the list of verified players but is empty
empty: <prefix>The list of verified players is currently empty. Therefore, no
players were unverified.
# Message shown when someone clears the list of verified players
clear: <prefix>You successfully unverified a total of <amount> unique player(s).
# Message shown when someone checks the size of the list of verified players
size: <prefix>There are currently <amount> unique player(s) verified.
# Message shown when someone un-verifies an IP address
remove: <prefix>Successfully unverified <ip>.
# Message shown when someone verifies an IP address
add: <prefix>Successfully verified <ip>.
# Message shown when someone tries to verify an IP address/UUID that are already verified
already: <prefix>The IP address and UUID you provided are already verified.
# Message shown when someone un-verifies an IP address, but it is not verified
ip-not-found: <prefix>The IP address you provided is not verified.
# Message shown when someone looks up the verification history of an IP address
history: '<prefix><yellow>Previous UUIDs for <ip>:'
history-entry: ' <gray>▪ <white><uuid>'
# Translations for '/sonar statistics'
statistics:
# Description for this subcommand
description: Show session statistics of this server
# Informational message that is shown above everything when viewing the statistics
header: '<prefix>Showing <statistics-type> statistics for this session:'
# Message shown when a player tries viewing an unknown statistic
unknown-type: '<prefix><red>Unknown statistics type! Available statistics: <gray><statistics>'
# Format of the general statistics message
general:
- ' <dark_aqua>▪ <gray>Verified IP addresses: <white><verified>'
- ' <dark_aqua>▪ <gray>Verifying IP addresses: <white><verifying>'
- ' <dark_aqua>▪ <gray>Blacklisted IP addresses: <white><blacklisted>'
- ' <dark_aqua>▪ <gray>Currently queued logins: <white><queued>'
- ' <dark_aqua>▪ <gray>Total non-unique joins: <white><total-joins>'
- ' <dark_aqua>▪ <gray>Total verification attempts: <white><total-attempts>'
- ' <dark_aqua>▪ <gray>Total failed verifications: <white><total-failed>'
- ' <dark_aqua>▪ <gray>Server uptime: <white><server-uptime>'
# Format of the CPU statistics message
cpu:
- ' <dark_aqua>▪ <gray>Process CPU usage right now: <white><process-cpu>%'
- ' <dark_aqua>▪ <gray>System CPU usage right now: <white><system-cpu>%'
- ' <dark_aqua>▪ <gray>Per-core process CPU usage: <white><average-process-cpu>%'
- ' <dark_aqua>▪ <gray>Per-core system CPU usage: <white><average-system-cpu>%'
- ' <dark_aqua>▪ <gray>Total amount of virtual cpus: <white><virtual-core-count>'
# Format of the memory statistics message
memory:
- ' <dark_aqua>▪ <gray>Total free memory: <white><free-memory>'
- ' <dark_aqua>▪ <gray>Total used memory: <white><used-memory>'
- ' <dark_aqua>▪ <gray>Total maximum memory: <white><max-memory>'
- ' <dark_aqua>▪ <gray>Total allocated memory: <white><total-memory>'
# Format of the network statistics message
network:
- ' <dark_aqua>▪ <gray>Current incoming used bandwidth: <white><incoming-traffic>'
- ' <dark_aqua>▪ <gray>Current outgoing used bandwidth: <white><outgoing-traffic>'
- ' <dark_aqua>▪ <gray>Total incoming used bandwidth: <white><incoming-traffic-ttl>'
- ' <dark_aqua>▪ <gray>Total outgoing used bandwidth: <white><incoming-traffic-ttl>'
# Translations for '/sonar dump'
dump:
# Description for this subcommand
description: Print developer information
# Format of the information sent to console
log: 'Generated dump: <dumped-json-data>'
# Translations for all messages during the verification process
verification:
# Translations for all debug messages during the verification
logs:
# Message logged to console whenever a new player joins the server
connection: <username>/<ip> (<protocol>) has connected.
# Message logged to console whenever a player fails verification
failed: '<username>/<ip> (<protocol>) has failed the bot check for: <reason>'
# Message logged to console whenever a player is blacklisted
blacklisted: <username>/<ip> (<protocol>) was blacklisted for too many failed
attempts
# Message logged to console whenever a player is verified
successful: <username> has been verified successfully (<time-taken>s!).
# Messages that are shown to the player when they are supposed to enter the CAPTCHA
captcha:
# Message shown to the player when they have to enter the answer to the CAPTCHA
enter: <prefix><green>Please enter the text in chat that is displayed on the map.
# Message shown to the player when they enter the wrong answer in chat
incorrect: <prefix><red>You have entered a wrong answer! Please try again.
# Message shown to the player when they are being verified
# Set this to '' to disable the welcome message entirely
welcome: <prefix><green>You are being verified. Please do not move; this is an automatic
process.
# Disconnect message that is shown when someone joins while the captcha hasn't been prepared yet
currently-preparing:
- <header>
- <yellow>Your anti-bot data has not been prepared yet.
- <gray>Please wait a few seconds before trying to verify again.
- <footer>
# Disconnect message that is shown when someone joins with an unsupported Minecraft version
unsupported-version:
- <header>
- <red>This server does not support your version of Minecraft.
- <footer>
# Disconnect message that is shown when someone rejoins too fast during verification
too-fast-reconnect:
- <header>
- <gold>You reconnected too fast, try again later.
- <gray>Please wait a few seconds before trying to verify again.
- <footer>
# Disconnect message that is shown when someone joins but is already verifying
already-verifying:
- <header>
- <red>Your IP address is currently being verified.
- <red>Please wait a few seconds before trying to verify again.
- <footer>
# Disconnect message that is shown when someone joins but is already queued for verification
already-queued:
- <header>
- <red>Your IP address is currently queued for verification.
- <red>Please wait a few minutes before trying to verify again.
- <footer>
# Disconnect message that is shown when someone joins but is temporarily blacklisted
blacklisted:
- <header>
- <red>You are currently denied from entering the server.
- <red>Please wait a few minutes to be able to join the server again.
- <gold>False positive? <gray><support-url>
- <footer>
# Disconnect message that is shown when someone joins with an invalid username
invalid-username:
- <header>
- <red>Your username contains invalid characters.
- <footer>
# Disconnect message that is shown when someone joins with a blacklisted version
blacklisted-protocol:
- <header>
- <red>You are using a version that is not allowed on our server.
- <gold>Need help logging in? <gray><support-url>
- <footer>
# Disconnect message that is shown when someone verifies successfully
success:
- <header>
- <green>You have successfully passed the verification.
- <white>You are now able to play on the server when you reconnect.
# Disconnect message that is shown when someone fails verification
failed:
- <header>
- <red>You have failed the bot verification.
- <gray>Please wait a few seconds before trying to verify again.
- <gold>Need help logging in? <gray><support-url>
- <footer>
# Translations for Sonar's actionbar verbose messages
verbose:
layout:
# Layout for Sonar's actionbar verbose
normal: <prefix><gray>CPS <white><connections-per-second> <dark_aqua>╺ <gray>Logins/s
<white><logins-per-second> <dark_aqua>╺ <gray>Verifying <white><verifying> <dark_aqua>|
<green>⬆ <white><outgoing-traffic>/s <red>⬇ <white><incoming-traffic>/s <green><bold><animation>
# Layout for Sonar's actionbar verbose during an attack
attack: <prefix><gray>CPS <white><connections-per-second> <dark_aqua>╺ <gray>Logins/s
<white><logins-per-second> <dark_aqua>╺ <gray>Queue <white><queued> <dark_aqua>╺
<gray>Verifying <white><verifying> <dark_aqua>╺ <gray>Duration <white><attack-duration>
<dark_aqua>| <green>⬆ <white><outgoing-traffic>/s <red>⬇ <white><incoming-traffic>/s <green><bold><animation>
# Animation for the action bar
# Alternatives:
# - ▙, ▛, ▜, ▟
# - ⬈, ⬊, ⬋, ⬉
animation:
-
-
-
-
# Translations for Sonar's attack notification messages
notifications:
# Layout for Sonar's attack notification title
title: <yellow><b>Sonar<reset>
# Layout for Sonar's attack notification subtitle
subtitle: <gray>A bot attack has been detected
# Layout for Sonar's attack notification in chat
chat:
- ''
- <yellow><b>Sonar<reset>
- ''
- <gray>A bot attack has been detected.
- ' <dark_aqua>▪ <gray>Logins per second: <white><logins-per-second>'
- ' <dark_aqua>▪ <gray>Verifying players: <white><verifying>'
- ' <dark_aqua>▪ <gray>Queued players: <white><queued>'
- ''
- <gray>View more information using <white><click:run_command:'/sonar verbose'><hover:show_text:'(Click
to run)'>/sonar verbose</hover></click><gray> or <white><click:run_command:'/sonar
stats'><hover:show_text:'(Click to run)'>/sonar stats</hover></click><gray>.
- ''

View File

@ -0,0 +1,60 @@
#
# /$$$$$$
# /$$__ $$
# | $$ \__/ /$$$$$$ /$$$$$$$ /$$$$$$ /$$$$$$
# | $$$$$$ /$$__ $$| $$__ $$ |____ $$ /$$__ $$
# \____ $$| $$ \ $$| $$ \ $$ /$$$$$$$| $$ \__/
# /$$ \ $$| $$ | $$| $$ | $$ /$$__ $$| $$
# | $$$$$$/| $$$$$$/| $$ | $$| $$$$$$$| $$
# \______/ \______/ |__/ |__/ \_______/|__/
#
# Need help or have questions? https://jonesdev.xyz/discord
# Source code: https://github.com/jonesdevelopment/sonar
# Copyright Jones Development and Sonar Contributors, licensed under GPL-3.0
#
# Bot attack notifications can also be sent to your Discord server using webhooks
webhook:
# URL of the Discord webhook (Set this to '' to disable webhooks)
url: ''
# Username of the Discord webhook sender
username: Sonar
# URL to the avatar of the Discord webhook sender (Set this to '' to disable)
avatar-url: ''
# Content of the Discord webhook message (Set this to '' to disable)
# You can use this to e.g. ping staff members using <@userId>
# If you want to ping roles, you will need to use <@&roleId>
content: ''
# Embed Discord webhook message that is sent when an attack has stopped
embed:
# Small footer message of the Discord webhook embed
footer:
# Content of the footer message of the Discord webhook embed
text: © Jones Development and Sonar Contributors
# URL of the footer message icon of the Discord webhook embed
icon-url: ''
# Title of the Discord webhook embed
title: ':white_check_mark: Attack mitigated'
# Clickable URL of the title of the Discord webhook embed
title-url: ''
# Description (content) of the Discord webhook embed
description:
- The attack on your server has been mitigated.
- ''
- 'Attack start: <t:<start-timestamp>:T>'
- 'Attack end: <t:<end-timestamp>:T>'
- 'Attack duration: <attack-duration>'
- ''
- 'Peak process CPU usage during the attack: <peak-cpu>%'
- 'Peak process memory usage during the attack: <peak-memory>'
- 'Peak bots per second during the attack: <peak-bps>'
- ''
- 'Blacklisted IP addresses during the attack: <total-blacklisted>'
- 'Failed verifications during the attack: <total-failed>'
- 'Successful verifications during the attack: <total-success>'
# RGB colors of the Discord webhook embed
# Color picker: https://www.rapidtables.com/web/color/RGB_Color.html
color:
red: 0
green: 255
blue: 0

View File

@ -0,0 +1,16 @@
GachiWelcome:
change-interval: 4000
texts:
- "<gradient:#4cd964:#e6c67a><bold>Нажми на кнопочку.</bold></gradient>"
- "<gradient:#e6c67a:#4cd964><bold>Струячим дальше!</bold></gradient>"
- "<gradient:#4cd964:#e6c67a><bold>Оооооооо...</bold></gradient>"
- "<gradient:#e6c67a:#4cd964><bold>ПОИХАЛИ</bold></gradient>"
- "<gradient:#4cd964:#e6c67a><bold>Я посрал!</bold></gradient>"
- "<gradient:#e6c67a:#4cd964><bold>Ясно. Бан.</bold></gradient>"
- "<gradient:#4cd964:#e6c67a><bold>Ооо, щас мы тебя прокачаем</bold></gradient>"
- "<gradient:#e6c67a:#4cd964><bold>АСФУРИЛЛАХ.</bold></gradient>"
- "<gradient:#4cd964:#e6c67a><bold>Бисмастер Бивлакарта?</bold></gradient>"
- "<gradient:#e6c67a:#4cd964><bold>Тошик где мой редстоун?</bold></gradient>"
- "<gradient:#4cd964:#e6c67a><bold>Тьома я зробив ферму свекли!</bold></gradient>"
- "<gradient:#e6c67a:#4cd964><bold>АРА, во всём виновата курица.</bold></gradient>"
- "<gradient:#4cd964:#e6c67a><bold>Мама твоя...</bold></gradient>"

238
src/plugins/tab/config.yml Normal file
View File

@ -0,0 +1,238 @@
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Header-&-Footer
header-footer:
enabled: true
disable-condition: '%server%=limbo'
header:
- "<gradient:#4cd964:#e6c67a>&m </gradient>"
- "<gradient:#4cd964:#e6c67a><bold>BEBRASHIELD RELOAD</bold></gradient>"
- "%animation:GachiWelcome%"
- ""
footer:
- ""
- ""
- "<#e6c67a>TPS:<#4cd964> %server_tps_1%<dark_gray> | </dark_gray><#e6c67a>Ping:<#4cd964> %ping% ms"
- "<#e6c67a>Онлайн: <#4cd964>%server_online%"
- ""
- "<gradient:#4cd964:#e6c67a> bebrashield.net </gradient>"
- "<gradient:#e6c67a:#4cd964>&m </gradient>"
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Tablist-name-formatting
tablist-name-formatting:
enabled: true
disable-condition: '%world%=disabledworld'
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Nametags
scoreboard-teams:
enabled: false
enable-collision: false
invisible-nametags: false
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Sorting-players-in-tablist
sorting-types:
- "GROUPS:owner,clans,admin,mod,helper,builder,vip,default"
- "PLACEHOLDER_A_TO_Z:%player%"
case-sensitive-sorting: true
can-see-friendly-invisibles: false
disable-condition: '%world%=disabledworld'
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Playerlist-Objective
playerlist-objective:
enabled: false
value: "%ping%"
fancy-value: "&7Ping: %ping%"
title: "TAB" # Only visible on Bedrock Edition
render-type: INTEGER
disable-condition: '%world%=disabledworld'
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Belowname
belowname-objective:
enabled: false
value: "%health%"
title: "&cHealth"
fancy-value: "&c%health%"
fancy-value-default: "NPC"
disable-condition: '%world%=disabledworld'
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Spectator-fix
prevent-spectator-effect:
enabled: false
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Bossbar
bossbar:
enabled: false
toggle-command: /bossbar
remember-toggle-choice: false
hidden-by-default: false
bars:
ServerInfo:
style: "PROGRESS" # for 1.9+: PROGRESS, NOTCHED_6, NOTCHED_10, NOTCHED_12, NOTCHED_20
color: "%animation:barcolors%" # for 1.9+: BLUE, GREEN, PINK, PURPLE, RED, WHITE, YELLOW
progress: "100" # in %
text: "&fWebsite: &bwww.domain.com"
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Scoreboard
scoreboard:
enabled: false
toggle-command: /sb
remember-toggle-choice: false
hidden-by-default: false
use-numbers: true
static-number: 0
delay-on-join-milliseconds: 0
scoreboards:
scoreboard-1.20.3+:
title: "<#E0B11E>MyServer</#FF0000>"
display-condition: "%player-version-id%>=765;%bedrock%=false" # Only display it to players using 1.20.3+ AND NOT bedrock edition
lines: []
scoreboard:
title: "<#E0B11E>MyServer</#FF0000>"
lines: []
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Layout
layout:
enabled: false
direction: COLUMNS
default-skin: mineskin:383747683
enable-remaining-players-text: true
remaining-players-text: '... and %s more'
empty-slot-ping-value: 1000
layouts:
default:
fixed-slots: []
groups:
staff:
condition: permission:tab.staff
slots:
- 24-40
players:
slots:
- 44-80
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Ping-Spoof
ping-spoof:
enabled: false
value: 0
placeholders:
date-format: "dd.MM.yyyy"
time-format: "[HH:mm:ss / h:mm a]"
time-offset: 0
register-tab-expansion: false
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Placeholder-output-replacements
placeholder-output-replacements:
"%essentials_vanished%":
"yes": "&7| Vanished"
"no": ""
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Conditional-placeholders
conditions:
nick: # use it with %condition:nick%
conditions:
- "%player%=%essentials_nickname%"
yes: "%player%"
no: "~%essentials_nickname%"
placeholder-refresh-intervals:
default-refresh-interval: 500
"%server_uptime%": 1000
"%server_tps_1_colored%": 1000
"%server_unique_joins%": 5000
"%player_health%": 200
"%player_ping%": 1000
"%vault_prefix%": 1000
"%rel_factionsuuid_relation_color%": 1000
# assigning groups by permission nodes instead of taking them from permission plugin
assign-groups-by-permissions: false
# if the option above is true, all groups are taken based on permissions and the one higher in this list is used as primary
# Warning! This is not sorting list and has nothing to do with sorting players in tablist!
primary-group-finding-list:
- Owner
- Admin
- Mod
- Helper
- default
# Refresh interval (in milliseconds) of:
# - Permission checks in conditions / sorting
# - Group retrieving from permission plugin for sorting / per-group properties
# - Prefix/suffix placeholders taking data from permission plugin
permission-refresh-interval: 1000
# Unlocks extra console messages
debug: false
# https://github.com/NEZNAMY/TAB/wiki/MySQL
mysql:
enabled: false
host: 127.0.0.1
port: 3306
database: tab
username: user
password: password
useSSL: true
proxy-support:
enabled: true
# Supported types: PLUGIN, REDIS, RABBITMQ
type: PLUGIN
plugin:
# Compatible plugins: RedisBungee
# If enabled and compatible plugin is found, hook is enabled to work with proxied players
name: RedisBungee
redis:
url: 'redis://:password@localhost:6379/0'
rabbitmq:
exchange: 'plugin'
url: 'amqp://guest:guest@localhost:5672/%2F'
########################################################################
# BUKKIT ONLY - THE FOLLOWING SECTION IS ONLY FOR BACKEND INSTALLATION #
########################################################################
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Per-world-playerlist
per-world-playerlist:
enabled: false
# players with tab.staff will always see all players
allow-bypass-permission: false
# players in these worlds will always see all players
ignore-effect-in-worlds:
- ignoredworld
- build
shared-playerlist-world-groups:
lobby:
- lobby1
- lobby2
minigames:
- paintball
- bedwars
compensate-for-packetevents-bug: false
#####################################################################
# PROXY ONLY - THE FOLLOWING SECTION IS ONLY FOR PROXY INSTALLATION #
#####################################################################
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Global-playerlist
global-playerlist:
enabled: false
display-others-as-spectators: false
display-vanished-players-as-spectators: true
isolate-unlisted-servers: false
update-latency: false
spy-servers: []
server-groups:
servers:
- lobby
- survival
# Take permissions and groups from backend server instead of proxy
use-bukkit-permissions-manager: false
# Sometimes server might be using offline uuids in tablist instead of online, such as disabling waterfall's tablist rewrite option
# If you experience tablist formatting not working, toggle this option (set it to opposite value)
# Only affects proxies with online mode enabled
use-online-uuid-in-tablist: false

View File

@ -0,0 +1,6 @@
_DEFAULT_:
tabprefix: "%luckperms-prefix%"
tagprefix: "%luckperms-prefix%"
customtabname: "%player%"
tabsuffix: "%luckperms-suffix%"
tagsuffix: "%luckperms-suffix%"

View File

@ -0,0 +1,73 @@
announce-command-usage: "Usage: /tab announce <type> <name> <length>\nCurrently supported types: &lbar, scoreboard"
bossbar-feature-not-enabled: "&cThis command requires the bossbar feature to be enabled."
bossbar-announce-command-usage: "Usage: /tab announce bar <bar name> <length>"
bossbar-not-found: "&cNo bossbar found with the name \"%name%\""
bossbar-already-announced: "&cThis bossbar is already being announced"
group-data-removed: "&3[TAB] All data has been successfully removed from group &e%group%"
group-value-assigned: "&3[TAB] %property% '&r%value%&r&3' has been successfully assigned to group &e%group%"
group-value-removed: "&3[TAB] %property% has been successfully removed from group &e%group%"
user-data-removed: "&3[TAB] All data has been successfully removed from player &e%player%"
user-value-assigned: "&3[TAB] %property% '&r%value%&r&3' has been successfully assigned to player &e%player%"
user-value-removed: "&3[TAB] %property% has been successfully removed from player &e%player%"
parse-command-usage: "Usage: /tab parse <player> <placeholder>"
send-command-usage: "Usage: /tab send <type> <player> <bar name> <length>\nCurrently supported types: &lbar"
send-bar-command-usage: "Usage: /tab send bar <player> <bar name> <length>"
team-feature-required: "This command requires scoreboard teams feature enabled"
collision-command-usage: "Usage: /tab setcollision <player> <true/false>"
no-permission: "&cI'm sorry, but you do not have permission to perform this command. Please contact the server administrators if you believe that this is in error."
command-only-from-game: "&cThis command must be ran from the game"
player-not-online: "&cNo online player found with the name \"%player%\""
invalid-number: "\"%input%\" is not a number!"
scoreboard-feature-not-enabled: "&4This command requires the scoreboard feature to be enabled."
scoreboard-announce-command-usage: "Usage: /tab scoreboard announce <scoreboard name> <length>"
scoreboard-not-found: "&cNo scoreboard found with the name \"%name%\""
reload-success: "&3[TAB] Successfully reloaded"
reload-fail-file: "&3[TAB] &4Failed to reload, file %file% has broken syntax. Check console for more info."
scoreboard-toggle-on: "&2Scoreboard enabled"
scoreboard-toggle-off: "&7Scoreboard disabled"
bossbar-toggle-on: "&2Bossbar is now visible"
bossbar-toggle-off: "&7Bossbar is no longer visible. Magic!"
scoreboard-show-usage: "Usage: /tab scoreboard show <scoreboard> [player]"
bossbar-not-marked-as-announcement: "&cThis bossbar is not marked as an announcement bar and is therefore already displayed permanently (if display condition is met)"
bossbar-announcement-success: "&aAnnouncing bossbar &6%bossbar% &afor %length% seconds."
bossbar-send-success: "&aSending bossbar &6%bossbar% &ato player &6%player% &afor %length% seconds."
help-menu:
- "&m "
- " &8>> &3&l/tab reload"
- " - &7Reloads plugin and config"
- " &8>> &3&l/tab &9group&3/&9player &3<name> &9<property> &3<value...>"
- " - &7Do &8/tab group/player &7to show properties"
- " &8>> &3&l/tab parse <player> <placeholder> "
- " - &7Test if a placeholder works"
- " &8>> &3&l/tab debug [player]"
- " - &7displays debug information about player"
- " &8>> &3&l/tab cpu"
- " - &7shows CPU usage of the plugin"
- " &8>> &3&l/tab group/player <name> remove"
- " - &7Clears all data about player/group"
- "&m "
mysql-help-menu:
- "&6/tab mysql upload - uploads data from files to mysql"
- "&6/tab mysql download - downloads data from mysql to files"
mysql-fail-not-enabled: "&cCannot download/upload data from/to MySQL, because it's disabled."
mysql-fail-error: "MySQL download failed due to an error. Check console for more info."
mysql-download-success: "&aMySQL data downloaded successfully."
mysql-upload-success: "&aMySQL data uploaded successfully."
scoreboard-help-menu:
- "/tab scoreboard [on/off/toggle] [player] [options]"
- "/tab scoreboard show <name> [player]"
- "/tab scoreboard announce <name> <length>"
bossbar-help-menu:
- "/tab bossbar [on/off/toggle] [player] [options]"
- "/tab bossbar send <name> [player]"
- "/tab bossbar announce <name> <length>"
nametag:
help-menu:
- "/tab nametag <show/hide/toggle> [player] [-s] - Toggles nametag of specified player"
- "/tab nametag <showview/hideview/toggleview> [player] [viewer] [-s] - Toggles nametag VIEW of specified player on other player(s)"
feature-not-enabled: "&cThis command requires nametag feature to be enabled."
view-hidden: "&aNametags of all players were hidden to you"
view-shown: "&aNametags of all players were shown to you"
player-hidden: "&aYour nametag was hidden"
player-shown: "&aYour nametag was shown"
no-arg-from-console: "&cYou need to specify player if running this command from the console"

View File

BIN
src/plugins/unifiedmetrics-platform-velocity-0.3.8.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,14 @@
server:
name: "proxy"
metrics:
enabled: true
driver: "prometheus"
collectors:
systemGc: true
systemMemory: true
systemProcess: true
systemThread: true
server: true
world: true
tick: true
events: true

View File

@ -0,0 +1,16 @@
mode: "HTTP"
http:
host: "0.0.0.0"
port: 9100
authentication:
scheme: "NONE"
username: "username"
password: "password"
pushGateway:
job: "unifiedmetrics"
url: "http://pushgateway:9091"
authentication:
scheme: "NONE"
username: "username"
password: "password"
interval: 10

View File

@ -0,0 +1,13 @@
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
# ┃ VelocityScoreboardAPI ┃
# ┃ Config File ┃
# ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
# ┃ This file is used to configure the VelocityScoreboardAPI plugin.
# ┃ This plugin is intended to be used with Velocity player list plugins such as TAB or Velocitab,
# ┃ and should be installed on your Velocity proxy server alongside one of those plugins.
# ┗╸ GitHub: https://github.com/NEZNAMY/VelocityScoreboardAPI/
# Whether scoreboard API events should be fired
call_scoreboard_events: true
# Whether to log invalid packets received from downstream servers
print_invalid_downstream_packet_warnings: true

View File

@ -0,0 +1,192 @@
# Thanks for downloading ViaVersion
# Ensure you look through all these options
# If you need help:
# Discord - https://viaversion.com/discord
# Docs - https://docs.viaversion.com
#
#----------------------------------------------------------#
# GLOBAL OPTIONS #
#----------------------------------------------------------#
#
# Should ViaVersion check for updates?
# The following option will delay the tab complete request in x ticks if greater than 0, if other tab-complete is received, the previous is cancelled
1_13-tab-complete-delay: 0
# If the above is true, should we automatically team players until you do?
auto-team: true
# Change the blocked disconnect message
block-disconnect-msg: You are using an unsupported Minecraft version!
# Block specific Minecraft protocol version numbers.
# List of all Minecraft protocol versions: https://minecraft.wiki/w/Protocol_version, or use a generator: https://via.krusic22.com
block-protocols: []
# Easier to configure alternative to 'block-protocols'. Uses readable version strings with possible '<' and '>' prefixes.
# An example to block 1.16.4, everything below 1.16, as well as everything above 1.17.1 would be: ["<1.16", "1.16.4", ">1.17.1"]
# You can use both this and the block-protocols option at the same time as well.
block-versions:
- <1.21
# If your boss bar flickers on 1.9+, set this to 'true'. It will keep all boss bars on 100% (not recommended)
bossbar-anti-flicker: false
# Should we patch boss bars so they work? (Default: true, disable if you're having issues)
bossbar-patch: true
#
# Caches light until chunks are unloaded to allow later chunk update packets as opposed to instantly uncaching when the first chunk data is sent.
# Only disable this if you know what you are doing.
cache-1_17-light: true
# Tries to cancel block break/place sounds sent by 1.8 servers to 1.9+ clients to prevent them from playing twice
cancel-block-sounds: true
check-for-updates: true
# Fix 1.9+ clients not rendering the far away chunks and improve chunk rendering when moving fast (Increases network usage and decreases client fps slightly)
chunk-border-fix: false
# 1.13 introduced new auto complete which can trigger "Kicked for spamming" for servers older than 1.13, the following option will disable it completely.
disable-1_13-auto-complete: false
#
# Determines the value sent to 1.19+ clients on join if currently not accessible by ViaVersion.
# It is not recommended to fake this value if your server is running 1.19 or later, as 1.20.5 have stricter chat handling and may get kicked otherwise.
enforce-secure-chat: false
# Fixes walk animation not shown when health is set to Float.NaN
fix-1_14-health-nan: true
#
# Fixes 1.21+ clients on 1.20.5 servers placing water/lava buckets at the wrong location when moving fast, NOTE: This may cause issues with anti-cheat plugins.
fix-1_21-placement-rotation: true
# Infested blocks are instantly breakable for 1.13+ clients, resulting in them being unable to break them on sub 1.13 servers. This remaps them to their normal stone variants
fix-infested-block-breaking: true
# For 1.13 clients the smallest (1 layer) snow doesn't have collisions, this will send these as 2 snowlayers for 1.13+ clients to prevent them bugging through them
fix-low-snow-collision: false
# Fixes 1.14+ clients on sub 1.14 servers having a light value of 0 for non-full blocks.
fix-non-full-blocklight: true
# When activated with serverside-blockconnections, flower parts with blocks above will be sent as stems
# Useful for lobbyservers where users can't build and those stems are used decoratively
flowerstem-when-block-above: false
#
# Force 1.17+ client to accept the server resource pack; they will automatically disconnect if they decline.
forced-use-1_17-resource-pack: false
#
# Handles items with invalid count values (higher than max stack size) on 1.20.3 servers.
handle-invalid-item-count: false
#
# Hides scoreboard numbers for 1.20.3+ clients on older server versions.
hide-scoreboard-numbers: false
# Should we enable our hologram patch?
# If they're in the wrong place, enable this
hologram-patch: false
# This is the offset, should work as default when enabled.
hologram-y: -0.96
#
# Ignores incoming plugin channel messages of 1.16+ clients with channel names longer than 32 characters.
# CraftBukkit had this limit hardcoded until 1.16, so we have to assume any server/proxy might have this arbitrary check present.
ignore-long-1_16-channel-names: true
# Allows 1.9+ left-handedness (main hand) on 1.8 servers
left-handed-handling: true
#
# Get the world names which should be returned for each vanilla dimension
map-1_16-world-names:
overworld: minecraft:overworld
nether: minecraft:the_nether
end: minecraft:the_end
#
#----------------------------------------------------------#
# GLOBAL PACKET LIMITER #
#----------------------------------------------------------#
# THIS FEATURE IS DISABLED ON 1.17.1+ PAPER SERVERS, SINCE IT HAS A BETTER PACKET-LIMITER INBUILT
#
# Packets Per Second (PPS) limiter (Use -1 on max-pps and tracking-period to disable)
# Clients by default send around 20-90 packets per second.
#
# What is the maximum per second a client can send (Use %pps to display their pps)
# Use -1 to disable.
max-pps: 800
max-pps-kick-msg: You are sending too many packets!
# If this setting is active, the main hand is used instead of the off-hand to trigger the blocking of the player.
# With the main hand, the blocking starts way faster.
# (Requires "show-shield-when-sword-in-hand" to be disabled)
no-delay-shield-blocking: false
# Should we disable piston animation for 1.11/1.11.1 clients?
# In some cases, when firing lots of pistons, it crashes them.
piston-animation-patch: false
#
#----------------------------------------------------------#
# 1.9+ CLIENTS ON 1.8 SERVERS OPTIONS #
#----------------------------------------------------------#
#
# No collide options, these allow you to configure how collision works.
# Do you want us to prevent collision?
prevent-collision: true
# When activated, only the most important blocks are stored in the blockstorage. (fences, glass panes etc. won't connect to solid blocks)
reduce-blockstorage-memory: false
# If you use ProtocolLib, we can't reload without kicking the players.
# (We don't suggest using reload either, use a plugin manager)
# You can customize the message we kick people with if you use ProtocolLib here.
reload-disconnect-msg: Server reload, please rejoin!
# Should we replace extended pistons to fix 1.10.1 (Only on chunk loading)?
replace-pistons: false
# What id should we replace with, default is air. (careful of players getting stuck standing on them)
replacement-piston-id: 0
# The message to be displayed at the prompt when the 1.17+ client receives the server resource pack.
resource-pack-1_17-prompt: ''
# Send the supported versions with the Status (Ping) response packet
send-supported-versions: false
#
# Enable serverside block-connections for 1.13+ clients - all the options in this section are built around this option
serverside-blockconnections: true
# When enabled, 1.9+ will be able to block by using shields
shield-blocking: true
# If this setting is active, the shield will appear immediately for 1.9+ when you hold a sword in your main hand.
# The shield disappears when you switch to another item.
# (Requires "shield-blocking" to be enabled)
show-shield-when-sword-in-hand: false
# Enable player tick simulation, this fixes eating, drinking, nether portals.
simulate-pt: true
# We warn when there's an error converting item/block or component/nbt data over versions, should we suppress these? (Only suggested if spamming)
suppress-conversion-warnings: false
# When enabled if certain entity data can't be read, we won't tell you about it
suppress-metadata-errors: false
# This can be disabled for debugging purposes if text in chat/entities/items shows an error tag.
suppress-text-component-conversion-warnings: true
# Should we use prefix for team color on 1.13 and above clients?
team-colour-fix: true
# The kick message sent if the user hits the max packets per second.
tracking-max-kick-msg: You are sending too many packets, :(
# How many warnings over the interval can we have
# This can never be higher than "tracking-period"?
tracking-max-warnings: 4
#
# We can also kick them if over a period they send over a threshold a certain amount of times.
#
# Period to track (in seconds)
# Use -1 to disable.
tracking-period: 6
# How many packets per second count as a warning?
tracking-warning-pps: 120
#
# If disabled, tamed cats will be displayed as ocelots to 1.14+ clients on 1.13 servers. Otherwise, ocelots (tamed and untamed) will be displayed as cats.
translate-ocelot-to-cat: false
# In 1.14 the client page limit has been upped to 100 (from 50). Some anti-exploit plugins ban when clients go higher than 50. This option cuts edited books to 50 pages.
truncate-1_14-books: false
# Should 1.15+ clients respawn instantly / without showing a death screen?
use-1_15-instant-respawn: false
# This will show the new effect indicator in the top-right corner for 1.9+ players.
use-new-effect-indicator: true
#
#----------------------------------------------------------#
# VELOCITY OPTIONS #
#----------------------------------------------------------#
#
# Velocity allows you to have different server versions inside.
# Instead of you entering all the versions of these servers, we can ping them.
#
# What interval would you like us to ping at? (in seconds)
# Use -1 to disable.
velocity-ping-interval: 60
# If the above is enabled, should we save the info to the config (in the section below)
velocity-ping-save: true
# To get a server's protocol, ViaVersion will do the following:
# Look for the server in the following section, then look for the last ping if velocity-ping is enabled
# otherwise use default.
#
# The format for the following is:
# servername: protocolversion
# You can find protocol ids on https://minecraft.wiki/w/Protocol_version
# It will fall back to the default option if none found.
velocity-servers:
default: 393
# Vines that are not connected to blocks will be mapped to air, else 1.13+ would still be able to climb up on them.
vine-climb-fix: false