Compare commits

..

67 Commits

Author SHA1 Message Date
c0cad02e1f
configure bmmarker sets and markers amount and permissions 2025-08-10 20:42:50 +03:00
cd1b05b42b Merge pull request 'feature-23-track-rename' (#39) from feature-23 into develop
All checks were successful
/ build-docker (push) Successful in 10m45s
Reviewed-on: #39
2025-08-10 16:56:07 +00:00
207521b638
rename track "staff" to "roles" 2025-08-07 00:23:27 +03:00
d240a44602 Merge pull request 'feature-32-change-DiscordSRV-storage-backend' (#38) from feature-32 into develop
All checks were successful
/ build-docker (push) Successful in 12m52s
Reviewed-on: #38
Reviewed-by: oznobys <oznobys@noreply.localhost>
2025-08-06 19:58:18 +00:00
66681a9bf1
change DiscordSRV storage backend from file to database 2025-08-06 22:55:28 +03:00
78f3df715b Merge pull request 'feature-42-fix-unicode' (#37) from feature-42 into develop
All checks were successful
/ build-docker (push) Successful in 12m55s
Reviewed-on: #37
2025-08-06 18:57:29 +00:00
314bd15a51
add unicode locale generation to Dockerfile
before the change, unicode characters were displayed in console as question marks
2025-08-06 21:55:19 +03:00
94cc77340a Merge pull request 'feature-27-database-and-duration-permission-fix' (#35) from feature-27 into develop
All checks were successful
/ build-docker (push) Successful in 7m2s
Reviewed-on: #35
Reviewed-by: oznobys <oznobys@noreply.localhost>
2025-08-04 15:28:40 +00:00
f47a370c7a Merge pull request 'feature-23-command-whitelist' (#36) from feature-23 into develop
Some checks failed
/ build-docker (push) Has been cancelled
Reviewed-on: #36
Reviewed-by: oznobys <oznobys@noreply.localhost>
2025-08-04 15:24:05 +00:00
fb6a0c0602 Merge branch 'develop' into feature-23 2025-08-04 15:12:02 +00:00
7b6b6a2b4d Merge pull request 'feature-32-fix-discord-role-authorization' (#34) from feature-32 into develop
All checks were successful
/ build-docker (push) Successful in 6m37s
Reviewed-on: #34
Reviewed-by: cuqmbr <me@cuqmbr.xyz>
2025-08-04 08:55:19 +00:00
067f2c4a6a
change DiscordSRV subscribe role kick message 2025-08-04 11:54:18 +03:00
6ae358a2ac
add and configure CommandWhitelist
allows to forbid certain command execution and hide their completion
2025-08-03 22:58:00 +03:00
f93a2208fd
disable prefix in LibertyBans messages 2025-08-03 22:55:01 +03:00
7da0770b58
disable mute commands in CarbonChat
before the change, CarbonChat mute command overrided LibertyBans mute command, player could not execute it
2025-08-03 13:10:26 +03:00
266e1b6a22
enable duration permissions in LibertyBans 2025-08-03 13:07:25 +03:00
7741c86fc7
add website link to ban description in russian localization 2025-08-03 13:06:16 +03:00
2b7054c519
fix database strings substitution
before the change file database was used although mariadb was supposed to be used
2025-08-03 10:50:37 +03:00
00e84cf168 Обновление ID каналов и проработка аунтефикации 2025-08-03 10:07:12 +03:00
17b3fc2590 Merge pull request 'feature-32-DiscordSRV' (#33) from feature-32 into develop
All checks were successful
/ build-docker (push) Successful in 11m27s
Reviewed-on: #33
Reviewed-by: cuqmbr <me@cuqmbr.xyz>
2025-07-31 17:58:10 +00:00
260d6d55d9 feature-32-DiscordSRV 2025-07-31 19:51:33 +03:00
f7f078580f Merge pull request 'feature-23-fix-luckperms-server-name' (#32) from feature-23 into develop
All checks were successful
/ build-docker (push) Successful in 7m58s
Reviewed-on: #32
2025-07-31 12:26:42 +00:00
eefbd02291
fix: change LuckPerms server name from lobby to survival 2025-07-31 15:25:02 +03:00
dd989b0ad6
Merge branch 'develop' into feature-23 2025-07-31 15:24:31 +03:00
7c36f42e08 Merge pull request 'feature-24-chat-whisper-formatting' (#31) from carbonchat-config into develop
All checks were successful
/ build-docker (push) Successful in 7m13s
Reviewed-on: #31
Reviewed-by: cuqmbr <me@cuqmbr.xyz>
2025-07-30 17:09:25 +00:00
2217532da3 whisper config 2025-07-30 20:02:50 +03:00
24b85ba095 Merge pull request 'chat-role-clan-tags' (#30) from carbonchat-config into develop
All checks were successful
/ build-docker (push) Successful in 7m24s
Reviewed-on: #30
Reviewed-by: cuqmbr <me@cuqmbr.xyz>
2025-07-28 21:51:51 +00:00
dfb2d46036 add tags for chat 2025-07-29 00:49:16 +03:00
d5dbcac5fb Merge pull request 'chunky' (#29) from chunky into develop
Some checks failed
/ build-docker (push) Has been cancelled
Reviewed-on: #29
2025-07-28 21:47:37 +00:00
dedfcf542f
add Chunky symlinking to Dockerfile 2025-07-29 00:46:27 +03:00
9e9b3d2bef Merge pull request 'chunky' (#28) from chunky into develop
Some checks failed
/ build-docker (push) Failing after 3m59s
Reviewed-on: #28
2025-07-28 20:56:34 +00:00
77fe0950b2
add Chunky symlinking to Dockerfile 2025-07-28 21:36:18 +03:00
9ac1f451c0
add and configure Chunky plugin 2025-07-28 21:34:39 +03:00
69105ba34f Merge pull request 'max-players-to-50' (#27) from feature-63 into develop
All checks were successful
/ build-docker (push) Successful in 7m56s
Reviewed-on: #27
2025-07-27 19:16:07 +00:00
11ad282ebe
change max players to 50 2025-07-27 22:14:47 +03:00
f1681d14b4 Merge pull request 'fix-mob-cap' (#26) from feature-63 into develop
All checks were successful
/ build-docker (push) Successful in 6m50s
Reviewed-on: #26
2025-07-27 18:40:38 +00:00
38769b1c59
fix: set mob spawn cap per player to vanilla values 2025-07-27 21:39:41 +03:00
a4fe107708 Merge pull request 'fix-skinsrestorer-db' (#25) from fix-skinsrestorer-db into develop
All checks were successful
/ build-docker (push) Successful in 7m21s
Reviewed-on: #25
2025-07-27 17:54:01 +00:00
1f826781a9
enable database use by SkinsRestorer 2025-07-27 20:52:57 +03:00
1097bd297c
fix formatting in Dockerfile 2025-07-27 20:51:06 +03:00
37fc716efa Merge pull request 'new-chat-formatting' (#24) from carbonchat-config into develop
All checks were successful
/ build-docker (push) Successful in 7m5s
Reviewed-on: #24
Reviewed-by: cuqmbr <me@cuqmbr.xyz>
2025-07-26 18:38:05 +00:00
790806d3a9 new format 2025-07-26 20:02:52 +03:00
7f400d9965 Merge pull request 'feature-46-unifiedmetrics' (#23) from feature-46 into develop
All checks were successful
/ build-docker (push) Successful in 7m11s
Reviewed-on: #23
2025-07-25 18:22:10 +00:00
f93afc1709
add and configure UnifiedMetrics prometheus exporter 2025-07-25 17:58:51 +03:00
f12993b85a Merge pull request 'feature-63-core-settings' (#22) from feature-63 into develop
All checks were successful
/ build-docker (push) Successful in 5m37s
Reviewed-on: #22
2025-07-24 19:34:00 +00:00
f5dbe68a4c
configure server to be as vanilla as possible 2025-07-24 20:11:10 +03:00
d2cf6753fb Merge pull request 'disable-nether-end' (#21) from disable-nether-end into develop
All checks were successful
/ build-docker (push) Successful in 6m51s
Reviewed-on: #21
2025-07-24 16:32:16 +00:00
84bda15088
disabled nether in server.properties and end in bukkit.yml 2025-07-23 23:59:26 +03:00
cddab7bca4 Merge pull request 'feature-34-anticheat' (#9) from feature-34 into develop
All checks were successful
/ build-docker (push) Successful in 6m4s
Reviewed-on: #9
2025-07-22 19:23:25 +00:00
aa8fcae03f
Merge branch 'develop' into feature-34 2025-07-22 22:22:47 +03:00
5b947a0a8b Merge pull request 'feature-27-moderation' (#20) from feature-27 into develop
Some checks failed
/ build-docker (push) Has been cancelled
Reviewed-on: #20
Reviewed-by: cuqmbr <services@cuqmbr.xyz>
2025-07-22 19:20:02 +00:00
27c45fac56
Merge branch 'develop' into feature-27 2025-07-22 22:18:00 +03:00
f1ba8bb552
add LibertyBans secret substitution 2025-07-22 22:14:58 +03:00
a41d43cf19 feature-27-LibertyBans 2025-07-21 23:05:59 +03:00
f5b61aeb23 feature-27-LibertyBans 2025-07-21 23:02:41 +03:00
afac6ba448 Merge pull request 'feature-61-no-chat-signing' (#17) from feature-61 into develop
All checks were successful
/ build-docker (push) Successful in 5m27s
Reviewed-on: #17
Reviewed-by: apathy <zloiyudin@gmail.com>
2025-07-21 14:57:06 +00:00
6e190d8569 Merge pull request 'feature-62-ViaVersion' (#19) from feature-62 into develop
Some checks failed
/ build-docker (push) Has been cancelled
Reviewed-on: #19
Reviewed-by: apathy <zloiyudin@gmail.com>
2025-07-21 14:55:45 +00:00
c204973963 Merge pull request 'patpat' (#18) from patpat into develop
All checks were successful
/ build-docker (push) Successful in 5m14s
Reviewed-on: #18
Reviewed-by: apathy <zloiyudin@gmail.com>
2025-07-21 14:37:35 +00:00
0033bd0f11
add and configure ViaVersion 2025-07-20 23:25:04 +03:00
a8da779add
add and configure FreedomChat 2025-07-20 22:12:45 +03:00
fd3e06a456
add patpat 2025-07-20 21:48:02 +03:00
a87c3cd1c9 Merge pull request 'feature-55-worldmap' (#16) from feature-55 into develop
All checks were successful
/ build-docker (push) Successful in 7m43s
Reviewed-on: #16
Reviewed-by: apathy <zloiyudin@gmail.com>
2025-07-19 21:16:34 +00:00
f25aec9c8a Merge pull request 'feature-40-armor-poser' (#15) from feature-40 into develop
Some checks failed
/ build-docker (push) Has been cancelled
Reviewed-on: #15
Reviewed-by: apathy <zloiyudin@gmail.com>
2025-07-19 21:13:49 +00:00
b5880e43de
add ArmorPoser 2025-07-19 14:37:35 +03:00
59090de3b3
add and configure LightningGrim anticheat 2025-07-07 14:41:54 +03:00
3c7e1b1146
add and configure orebfuscator anti x-ray 2025-07-07 14:40:56 +03:00
bc98bef7f8
add and configure luckperms 2025-06-17 14:52:43 +03:00
52 changed files with 3013 additions and 109 deletions

View File

@ -18,6 +18,12 @@
src/plugins/spark/tmp
.crowdin
src/plugins/PlasmoVoice/voice_mutes.json
src/orebfuscator_cache
src/plugins/GrimAC/violations.sqlite
src/plugins/LuckPerms/libs
src/plugins/ImageFrame/data
@ -25,9 +31,6 @@ src/plugins/ImageFrame/players
src/plugins/ImageFrame/upload
src/map-color-cache.dat
.crowdin
src/plugins/PlasmoVoice/voice_mutes.json
src/plugins/SuperVanish/data.yml
src/plugins/CustomizablePlayerModels
@ -41,3 +44,7 @@ src/plugins/BlueMap/data/web/maps
src/plugins/BlueMap/data/logs
src/plugins/BlueMap/data/minecraft-client-1.21.jar
src/plugins/BMMarker/data
src/plugins/LibertyBans/internal
src/plugins/Chunky/tasks

13
.gitignore vendored
View File

@ -18,6 +18,12 @@
src/plugins/spark/tmp
.crowdin
src/plugins/PlasmoVoice/voice_mutes.json
src/orebfuscator_cache
src/plugins/GrimAC/violations.sqlite
src/plugins/LuckPerms/libs
src/plugins/ImageFrame/data
@ -25,9 +31,6 @@ src/plugins/ImageFrame/players
src/plugins/ImageFrame/upload
src/map-color-cache.dat
.crowdin
src/plugins/PlasmoVoice/voice_mutes.json
src/plugins/SuperVanish/data.yml
src/plugins/CustomizablePlayerModels
@ -41,3 +44,7 @@ src/plugins/BlueMap/data/web/maps
src/plugins/BlueMap/data/logs
src/plugins/BlueMap/data/minecraft-client-1.21.jar
src/plugins/BMMarker/data
src/plugins/LibertyBans/internal
src/plugins/Chunky/tasks

View File

@ -61,12 +61,6 @@ RUN mkdir -p ${DATA_PATH}/CustomizablePlayerModels && \
ln -sf ${DATA_PATH}/CustomizablePlayerModels/ \
${CONFIG_PATH}/plugins/CustomizablePlayerModels
# Add symlinks to DiscordSRV files
RUN mkdir -p ${DATA_PATH}/DiscordSRV && \
touch ${DATA_PATH}/DiscordSRV/accounts.aof && \
ln -sf ${DATA_PATH}/DiscordSRV/accounts.aof \
${CONFIG_PATH}/plugins/DiscordSRV/accounts.aof
# Add symlinks to BlueMap files
RUN mkdir -p ${DATA_PATH}/BlueMap/maps && \
mkdir -p ${DATA_PATH}/BlueMap/logs && \
@ -78,6 +72,17 @@ RUN mkdir -p ${DATA_PATH}/BMMarker/data && \
ln -sf ${DATA_PATH}/BMMarker/data \
${CONFIG_PATH}/plugins/BMMarker/data
# Add symlinks to Chunky files
RUN mkdir -p ${DATA_PATH}/Chunky/tasks && \
ln -sf ${DATA_PATH}/Chunky/tasks \
${CONFIG_PATH}/plugins/Chunky/tasks
# 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}
@ -87,20 +92,44 @@ ENV PROXY_SECRET=00000000-0000-0000-0000-000000000000
ENV VOICE_SECRET=00000000-0000-0000-0000-000000000000
ENV LUCKPERMS_DB_HOST=127.0.0.1
ENV LUCKPERMS_DB_PORT=3306
ENV LUCKPERMS_DB_NAME=luckperms_db
ENV LUCKPERMS_DB_USERNAME=luckperms
ENV LUCKPERMS_DB_PASSWORD=0000
ENV SKINSRESTORER_DB_HOST=127.0.0.1
ENV SKINSRESTORER_DB_PORT=3306
ENV SKINSRESTORER_DB_NAME=skinsrestorer_db
ENV SKINSRESTORER_DB_USERNAME=skinsrestorer
ENV SKINSRESTORER_DB_PASSWORD=0000
ENV COREPROTECT_DB_HOST=127.0.0.1
ENV COREPROTECT_DB_PORT=3306
ENV COREPROTECT_DB_NAME=coreprotect_db
ENV COREPROTECT_DB_USERNAME=coreprotect
ENV COREPROTECT_DB_PASSWORD=0000
ENV LUCKPERMS_DB_HOST=127.0.0.1
ENV LUCKPERMS_DB_PORT=3306
ENV LUCKPERMS_DB_NAME=luckperms
ENV LUCKPERMS_DB_USERNAME=luckperms
ENV LUCKPERMS_DB_PASSWORD=0000
ENV LIBERTYBANS_DB_HOST=127.0.0.1
ENV LIBERTYBANS_DB_PORT=3306
ENV LIBERTYBANS_DB_NAME=libertybans_db
ENV LIBERTYBANS_DB_USERNAME=libertybans
ENV LIBERTYBANS_DB_PASSWORD=0000
ENV GRIM_DB_HOST=127.0.0.1
ENV GRIM_DB_PORT=3306
ENV GRIM_DB_NAME=luckperms
ENV GRIM_DB_USERNAME=luckperms
ENV GRIM_DB_PASSWORD=0000
ENV DISCORDSRV_BOT_TOKEN=dummy-token
ENV DISCORDSRV_DB_HOST=127.0.0.1
ENV DISCORDSRV_DB_PORT=3306
ENV DISCORDSRV_DB_NAME=discordsrv_db
ENV DISCORDSRV_DB_USERNAME=discordsrv
ENV DISCORDSRV_DB_PASSWORD=0000
WORKDIR ${WORKDIR_PATH}/config
# Minecraft
@ -122,6 +151,13 @@ CMD \
sed -i "s/_LUCKPERMS_DB_USERNAME_/${LUCKPERMS_DB_USERNAME}/g" plugins/LuckPerms/config.yml && \
sed -i "s/_LUCKPERMS_DB_PASSWORD_/${LUCKPERMS_DB_PASSWORD}/g" plugins/LuckPerms/config.yml && \
# Add database info to skinsrestorer config
sed -i "s/_SKINSRESTORER_DB_HOST_/${SKINSRESTORER_DB_HOST}/g" plugins/SkinsRestorer/config.yml && \
sed -i "s/_SKINSRESTORER_DB_PORT_/${SKINSRESTORER_DB_PORT}/g" plugins/SkinsRestorer/config.yml && \
sed -i "s/_SKINSRESTORER_DB_NAME_/${SKINSRESTORER_DB_NAME}/g" plugins/SkinsRestorer/config.yml && \
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 coreprotect database secrets
sed -i "s/_COREPROTECT_DB_HOST_/${COREPROTECT_DB_HOST}/g" plugins/CoreProtect/config.yml && \
sed -i "s/_COREPROTECT_DB_PORT_/${COREPROTECT_DB_PORT}/g" plugins/CoreProtect/config.yml && \
@ -129,8 +165,29 @@ CMD \
sed -i "s/_COREPROTECT_DB_USERNAME_/${COREPROTECT_DB_USERNAME}/g" plugins/CoreProtect/config.yml && \
sed -i "s/_COREPROTECT_DB_PASSWORD_/${COREPROTECT_DB_PASSWORD}/g" plugins/CoreProtect/config.yml && \
# Add grim database secrets
sed -i "s/_GRIM_DB_HOST_/${GRIM_DB_HOST}/g" plugins/GrimAC/config.yml && \
sed -i "s/_GRIM_DB_PORT_/${GRIM_DB_PORT}/g" plugins/GrimAC/config.yml && \
sed -i "s/_GRIM_DB_NAME_/${GRIM_DB_NAME}/g" plugins/GrimAC/config.yml && \
sed -i "s/_GRIM_DB_USERNAME_/${GRIM_DB_USERNAME}/g" plugins/GrimAC/config.yml && \
sed -i "s/_GRIM_DB_PASSWORD_/${GRIM_DB_PASSWORD}/g" plugins/GrimAC/config.yml && \
# Add libertybans database secrets
sed -i "s/_LIBERTYBANS_DB_HOST_/${LIBERTYBANS_DB_HOST}/g" plugins/LibertyBans/sql.yml && \
sed -i "s/_LIBERTYBANS_DB_PORT_/${LIBERTYBANS_DB_PORT}/g" plugins/LibertyBans/sql.yml && \
sed -i "s/_LIBERTYBANS_DB_NAME_/${LIBERTYBANS_DB_NAME}/g" plugins/LibertyBans/sql.yml && \
sed -i "s/_LIBERTYBANS_DB_USERNAME_/${LIBERTYBANS_DB_USERNAME}/g" plugins/LibertyBans/sql.yml && \
sed -i "s/_LIBERTYBANS_DB_PASSWORD_/${LIBERTYBANS_DB_PASSWORD}/g" plugins/LibertyBans/sql.yml && \
# Add DiscordSRV bot token
sed -i "s/_DISCORDSRV_BOT_TOKEN_/${DISCORDSRV_BOT_TOKEN}/g" plugins/DiscordSRV/config.yml && \
# Add database info to DiscordSRV config
sed -i "s/_DISCORDSRV_DB_HOST_/${DISCORDSRV_DB_HOST}/g" plugins/DiscordSRV/config.yml && \
sed -i "s/_DISCORDSRV_DB_PORT_/${DISCORDSRV_DB_PORT}/g" plugins/DiscordSRV/config.yml && \
sed -i "s/_DISCORDSRV_DB_NAME_/${DISCORDSRV_DB_NAME}/g" plugins/DiscordSRV/config.yml && \
sed -i "s/_DISCORDSRV_DB_USERNAME_/${DISCORDSRV_DB_USERNAME}/g" plugins/DiscordSRV/config.yml && \
sed -i "s/_DISCORDSRV_DB_PASSWORD_/${DISCORDSRV_DB_PASSWORD}/g" plugins/DiscordSRV/config.yml && \
# Launch
java -Xms${MEMORY} -Xmx${MEMORY} -jar *.jar -nogui

View File

@ -1,5 +1,6 @@
# https://bukkit.fandom.com/wiki/Bukkit.yml
settings:
allow-end: true
allow-end: false
warn-on-overload: true
permissions-file: permissions.yml
update-folder: update
@ -21,12 +22,12 @@ spawn-limits:
chunk-gc:
period-in-ticks: 600
ticks-per:
animal-spawns: 400
monster-spawns: 1
water-spawns: 1
water-ambient-spawns: 1
water-underground-creature-spawns: 1
axolotl-spawns: 1
ambient-spawns: 1
animal-spawns: -1
monster-spawns: -1
water-spawns: -1
water-ambient-spawns: -1
water-underground-creature-spawns: -1
axolotl-spawns: -1
ambient-spawns: -1
autosave: 6000
aliases: now-in-commands.yml

View File

@ -122,14 +122,15 @@ timings:
url: https://timings.aikar.co/
verbose: true
unsupported-settings:
allow-headless-pistons: false
allow-permanent-block-break-exploits: false
allow-piston-duplication: false
allow-tripwire-disarming-exploits: false
allow-unsafe-end-portal-teleportation: false
allow-headless-pistons: true
allow-permanent-block-break-exploits: true
allow-piston-duplication: true
allow-tripwire-disarming-exploits: true
allow-unsafe-end-portal-teleportation: true
compression-format: ZLIB
perform-username-validation: true
perform-username-validation: false
skip-vanilla-damage-tick-when-shield-blocked: false
update-equipment-on-player-actions: false
watchdog:
early-warning-delay: 10000
early-warning-every: 5000

View File

@ -56,7 +56,7 @@ anticheat:
hide-itemmeta-with-visual-effects: false
chunks:
auto-save-interval: default
delay-chunk-unloads-by: 10s
delay-chunk-unloads-by: 0s
entity-per-chunk-save-limit:
arrow: -1
ender_pearl: -1
@ -65,14 +65,14 @@ chunks:
small_fireball: -1
snowball: -1
fixed-chunk-inhabited-time: -1
flush-regions-on-save: false
max-auto-save-chunks-per-tick: 24
flush-regions-on-save: true
max-auto-save-chunks-per-tick: 200
prevent-moving-into-unloaded-chunks: false
collisions:
allow-player-cramming-damage: false
allow-player-cramming-damage: true
allow-vehicle-collisions: true
fix-climbing-bypassing-cramming-rule: false
max-entity-collisions: 8
max-entity-collisions: 4096
only-players-collide: false
command-blocks:
force-follow-perm-level: true
@ -80,8 +80,10 @@ command-blocks:
entities:
armor-stands:
do-collision-entity-lookups: true
tick: true
tick: false
behavior:
cooldown-failed-beehive-releases: false
only-merge-items-horizontally: true
allow-spider-world-border-climbing: true
baby-zombie-movement-modifier: 0.5
disable-chest-cat-detection: false
@ -105,9 +107,9 @@ entities:
skeletons: false
zombies: false
nerf-pigmen-from-nether-portals: false
parrots-are-unaffected-by-player-movement: false
parrots-are-unaffected-by-player-movement: true
phantoms-do-not-spawn-on-creative-players: true
phantoms-only-attack-insomniacs: true
phantoms-only-attack-insomniacs: false
phantoms-spawn-attempt-max-seconds: 119
phantoms-spawn-attempt-min-seconds: 60
piglins-guard-chests: true
@ -173,13 +175,8 @@ entities:
duplicate-uuid:
mode: SAFE_REGEN
safe-regen-delete-range: 32
filter-bad-tile-entity-nbt-from-falling-blocks: true
filtered-entity-tag-nbt-paths:
- Pos
- Motion
- SleepingX
- SleepingY
- SleepingZ
filter-bad-tile-entity-nbt-from-falling-blocks: false
filtered-entity-tag-nbt-paths: []
iron-golems-can-spawn-in-air: false
monster-spawn-max-light-level: default
non-player-arrow-despawn-rate: default
@ -241,7 +238,7 @@ environment:
max-block-ticks: 65536
max-fluid-ticks: 65536
nether-ceiling-void-damage-height: disabled
optimize-explosions: false
optimize-explosions: true
portal-create-radius: 16
portal-search-radius: 128
portal-search-vanilla-dimension-scaling: true
@ -257,14 +254,14 @@ fishing-time-range:
maximum: 600
minimum: 100
fixes:
disable-unloaded-chunk-enderpearl-exploit: true
disable-unloaded-chunk-enderpearl-exploit: false
falling-block-height-nerf: disabled
fix-items-merging-through-walls: false
prevent-tnt-from-moving-in-water: false
split-overstacked-loot: true
tnt-entity-height-nerf: disabled
hopper:
cooldown-when-full: true
cooldown-when-full: false
disable-move-event: false
ignore-occluding-blocks: false
lootables:
@ -293,7 +290,7 @@ misc:
redstone-implementation: VANILLA
shield-blocking-delay: 5
show-sign-click-command-failure-msgs-to-player: false
update-pathfinding-on-block-update: true
update-pathfinding-on-block-update: false
scoreboards:
allow-non-player-entities-on-scoreboards: true
use-vanilla-world-scoreboard-name-coloring: false
@ -312,5 +309,5 @@ tick-rates:
secondarypoisensor: 40
wet-farmland: 1
unsupported-settings:
disable-world-ticking-when-empty: false
disable-world-ticking-when-empty: true
fix-invulnerable-end-crystal-exploit: true

BIN
src/plugins/ArmorPoser-Plugin-1.0.2.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,5 +1,5 @@
{
"language": "en",
"maxUserSets": 1,
"maxUserMarker": 5
}
"maxUserSets": 100,
"maxUserMarker": 1000
}

View File

@ -20,7 +20,7 @@ format {
# }
#
basic {
"default_format"="<dark_gray>[</dark_gray><color:#00ffff>G</color><dark_gray>]</dark_gray> %luckperms_prefix% <gray><username>: <message></gray>"
"default_format"="<dark_grey>[<color:#4cd964>Global</color>]</dark_grey> %luckperms_prefix%<white><username> <grey>></grey> <message></white>"
discord="<message>"
console="[G] <username>: <message>"
}

View File

@ -20,7 +20,7 @@ format {
# }
#
basic {
"default_format"="<dark_gray>[</dark_gray><gray>L</gray><dark_gray>]</dark_gray> %luckperms_prefix% <gray><username>: <message></gray>"
"default_format"="<dark_grey>[<#e6c67a>Local</#e6c67a>]</dark_grey> %luckperms_prefix%<grey><username></grey> <dark_grey>></dark_grey> <grey><message></grey>"
discord="<message>"
console="[<channel>] <username>: <message>"
}

View File

@ -43,7 +43,7 @@ settings {
]
}
"carbon:unmute" {
enabled=true
enabled=false
name=unmute
aliases=[]
}
@ -100,7 +100,7 @@ settings {
]
}
"carbon:muteinfo" {
enabled=true
enabled=false
name=muteinfo
aliases=[
muted
@ -114,7 +114,7 @@ settings {
]
}
"carbon:mute" {
enabled=true
enabled=false
name=mute
aliases=[]
}

View File

@ -153,10 +153,10 @@ reply.target.self=<red>You cannot whisper to yourself
whisper.console=<gold>[<green><sender_display_name></green>] -> [<green><recipient_display_name></green>] <message>
whisper.continue.target_missing=<red>You have no one to whisper
whisper.error=<red>Failed to send private message
whisper.from=<click\:suggest_command\:'/whisper <sender_username> '><hover\:show_text\:'Click to start a reply'><gold>[<green><sender_display_name></green>] -> [<green>You</green>] <message>
whisper.from=<click\:suggest_command\:'/whisper <sender_username> '><hover\:show_text\:'Click to start a reply'><dark_grey>[<grey><sender_display_name></grey>] -> [<grey>You</grey>] <grey>></grey> <message>
whisper.ignored_by_target=<red><target> <red>is ignoring you
whisper.ignoring_all=<red>You cannot send messages while they are ignored\!
whisper.ignoring_target=<red>You are ignoring <target>
whisper.to=<click\:suggest_command\:'/whisper <recipient_username> '><hover\:show_text\:'Click to start another message to <recipient_display_name>'><gold>[<green>You</green>] -> [<green><recipient_display_name></green>] <message>
whisper.to=<click\:suggest_command\:'/whisper <recipient_username> '><hover\:show_text\:'Click to start another message to <recipient_display_name>'><dark_grey>[<grey>You</grey>] -> [<grey><recipient_display_name></grey>] <grey>></grey> <message>
whisper.toggled.off=No longer receiving private messages.
whisper.toggled.on=Now receiving private messages.

BIN
src/plugins/Chunky-Bukkit-1.4.40.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,9 @@
# Chunky Configuration
# https://github.com/pop4959/Chunky/wiki/Configuration
version: 2
language: en
continue-on-restart: false
force-load-existing-chunks: false
silent: false
update-interval: 5

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

Binary file not shown.

View File

@ -0,0 +1,80 @@
# 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
# Do not enable if you don't have issues with aliased commands.
# This requires server restart to take effect.
use_protocollib: false
# Valid message types are CHAT and ACTIONBAR. Does nothing on velocity.
message_type: CHAT
groups:
default:
commands:
- tell
- reply
- ignore
- unignore
- discord
subcommands:
- discord ?
- discord help
- discord link
- discord linked
- discord clearlinked
role_moder:
commands:
- ban
- unban
- ipban
- unbanip
- banlist
- mute
- unmute
- ipmute
- unmuteip
- mutelist
- warn
- unwarn
- ipwarn
- unwarnip
- warns
- history
- alts
- kick
- ipkick
- blame
- vanish
- openender
- openinv
- grim
- coreprotect
- vmute
- vunmute
- vmutelist
- gamemode
- tp
subcommands:
- gamemode adventure
- gamemode creative
role_admin:
commands:
- luckperms
- searchender
- searchenchant
- searchcontainer
- bmarker
- bmarker-setup
- bmarker-setup-set
subcommands: []

View File

@ -27,22 +27,22 @@ BotToken: "_DISCORDSRV_BOT_TOKEN_"
#
# Первая часть пар каналов не является названием канала Discord!
# Выполните "/discord reload" после изменения этого опции для применения
Channels: {"global": "1394245250096173076"}
Channels: {"carbon:global": "1401248428087836803"}
# Канал для вывода сообщений Консоли (НЕ ИМЯ); оставьте пустым, чтобы отключить консольный канал
DiscordConsoleChannelId: ""
# Ссылка на приглашение, отображаемая игрокам при использовании /discord, и в сообщении, отображаемом несвязанным игрокам при обязательной привязке.
DiscordInviteLink: "https://discord.gg/xsyy7d8RfG"
DiscordInviteLink: "https://discord.gg/5ZnJD4yDBq"
# Эксперименты
# Эти функции не полностью оптимизированы; Используйте на свой риск
# JDBC (MySQL/MariaDB)
Experiment_JdbcAccountLinkBackend: "jdbc:mysql://HOST:PORT/NAME?autoReconnect=true&useSSL=false"
Experiment_JdbcTablePrefix: ""
Experiment_JdbcUsername: ""
Experiment_JdbcPassword: ""
Experiment_JdbcAccountLinkBackend: "jdbc:mysql://_DISCORDSRV_DB_HOST_:_DISCORDSRV_DB_PORT_/_DISCORDSRV_DB_NAME_?autoReconnect=true&useSSL=false"
Experiment_JdbcTablePrefix: "discordsrv"
Experiment_JdbcUsername: "_DISCORDSRV_DB_USERNAME_"
Experiment_JdbcPassword: "_DISCORDSRV_DB_PASSWORD_"
# Webhook Delivery
Experiment_WebhookChatMessageDelivery: false
@ -72,7 +72,7 @@ MaximumAttemptsForSystemDNSBeforeUsingFallbackDNS: 3
TimestampFormat: EEE, d. MMM yyyy HH:mm:ss z
DateFormat: yyyy-MM-dd
# https://docs.discordsrv.com/config/#Timezone
Timezone: default
Timezone: Europe/Kiev
# MinecraftMentionSound: Должен ли звук посылаться игроку в Minecraft при упоминании из Discord
MinecraftMentionSound: true
@ -101,7 +101,7 @@ UseModernPaperChatEvent: false
# StatusUpdateRateInMinutes: Как часто (в минутах) менять статус (если их несколько)
DiscordGameStatus: ["Синхронизирует Бебру"]
DiscordOnlineStatus: ONLINE
StatusUpdateRateInMinutes: 2
StatusUpdateRateInMinutes: 1
# Настройка канала чата
# Канал чата предназначен для вывода всех внутриигровых сообщений, а также всех публичных сообщений, которыми обмениваются игроки
@ -128,14 +128,14 @@ StatusUpdateRateInMinutes: 2
# DiscordChatChannelRolesSelection: список ролей, которые должны быть отфильтрованы по всем ролям пользователя.
# DiscordChatChannelRoleAliases: список псевдонимов ролей (альтернативные имена для ролей для использования в сообщениях Minecraft)
#
DiscordChatChannelDiscordToMinecraft: true
DiscordChatChannelMinecraftToDiscord: true
DiscordChatChannelDiscordToMinecraft: false
DiscordChatChannelMinecraftToDiscord: false
DiscordChatChannelTruncateLength: 256
DiscordChatChannelTranslateMentions: true
DiscordChatChannelAllowedMentions: [user, channel, emote]
DiscordChatChannelEmojiBehavior: "name"
DiscordChatChannelEmoteBehavior: "name"
DiscordChatChannelPrefixRequiredToProcessMessage: ""
DiscordChatChannelPrefixRequiredToProcessMessage: "#"
DiscordChatChannelPrefixActsAsBlacklist: false
DiscordChatChannelRolesAllowedToUseColorCodesInChat: ["Developer", "Owner", "Admin", "Moderator"]
DiscordChatChannelBroadcastDiscordMessagesToConsole: true
@ -299,7 +299,7 @@ DiscordCannedResponses: {"!ip": "bebrashield.net", "!site": "https://bebrashield
#
MinecraftDiscordAccountLinkedConsoleCommands: ["", "", ""]
MinecraftDiscordAccountUnlinkedConsoleCommands: ["", "", ""]
MinecraftDiscordAccountLinkedRoleNameToAddUserTo: "Бебра"
MinecraftDiscordAccountLinkedRoleNameToAddUserTo: "1399136491090739210"
MinecraftDiscordAccountLinkedAllowRelinkBySendingANewCode: true
MinecraftDiscordAccountLinkedUsePM: true
MinecraftDiscordAccountLinkedMessageDeleteSeconds: 0

View File

@ -14,7 +14,7 @@ Require linked account to play:
# Если вы не знаете, что это такое - не трогайте.
# Ники в Minecraft, которые могут заходить на сервер без подписки/привязки?
Bypass names: [Scarsz, Vankka]
Bypass names: []
# Имеют ли люди из ванильного вайтлиста право входить на сервер без подписки/привязки?
Whitelisted players bypass check: true
# Разрешить или запретить игрокам из бан-листа VANILLA связывать свои аккаунты
@ -26,7 +26,7 @@ Require linked account to play:
# Используйте {BOT} в качестве заполнителя для имени бота
# Используйте {CODE} в качестве заполнителя для кода, который надо отправить боту
# Используйте {INVITE} в качестве заполнителя для ссылки-приглашения, которая необходима людям для присоединения к серверу Discord (использует DiscordInviteLink, настроенный в config.yml)
Not linked message: "&7Вы должны связать свою учетную запись &9Discord&7, чтобы играть.\n\n&7Отправьте сообщение боту &b{BOT}&7 на сервере Discord с кодом &b{CODE}&7, чтобы привязать аккаунт.\n\n&7Ссылка-приглашение » &b{INVITE}"
Not linked message: "&7Вы должны связать свою учетную запись &9Discord&7, чтобы играть.\n\n&7Отправьте сообщение боту &#e6c67a{BOT}&7 на сервере Discord с кодом &#e6c67a{CODE}&7, чтобы привязать аккаунт."
# Если включено, игрокам нужно будет не только связать свои аккаунты, но и потребуется
# быть участником сервера Discord, на котором находится бот.
@ -44,10 +44,10 @@ Require linked account to play:
# Можно требовать не только привязку аккаунта, но и наличие специальной роли, например Twitch
Subscriber role:
Require subscriber role to join: false
Subscriber roles: ["00000000000000000", "00000000000000000", "00000000000000000"]
Require subscriber role to join: true
Subscriber roles: ["1399048944482259135", "1399048955291111495", "1399048958147301407", "1371492083281563728", ""]
Require all of the listed roles: false # при значении false требуется только одна из указанных выше ролей, при true - все роли.
Kick message: "&cВы должны быть подписаны на Twitch, чтобы иметь возможность играть."
Kick message: "&cВы должны пройти верификацию модерации на сервере Discord, чтобы иметь возможность играть."
Messages:
DiscordSRV still starting: "&cВ настоящее время невозможно проверить состояние ссылки, поскольку сервер все еще подключается к Discord.\n\nПопробуйте еще раз через минуту."

View File

@ -367,7 +367,7 @@ MinecraftPlayerAchievementMessage:
# %tps%: средний TPS сервера
# Также поддерживаются PlaceholderAPI шаблоны
#
ChannelTopicUpdaterChatChannelTopicFormat: "%playercount%/%playermax% игроков онлайн | %totalplayers% уникальных игроков | Сервер запущен уже %uptimemins% минут | Обновлено: %date%"
ChannelTopicUpdaterChatChannelTopicFormat: "%playercount% игроков онлайн | %totalplayers% игроков было всего | Сервер запущен уже %uptimemins% минут | Обновлено: %date%"
ChannelTopicUpdaterConsoleChannelTopicFormat: "TPS: %tps% | Mem: %usedmemorygb%GB исп/%freememorygb%GB своб/%maxmemorygb%GB макс | %serverversion%"
# AtServerShutdownFormats поддерживает только %totalplayers%, %serverversion%, & %date% / %time%
ChannelTopicUpdaterChatChannelTopicAtServerShutdownFormat: "Сервер отключён | %totalplayers% уникальных игроков"

View File

@ -33,7 +33,7 @@ NicknameSynchronizationFormat: "%displayname%"
# GroupRoleSynchronizationCycleTime: Время (в минутах) - как часто DiscordSRV будет синхронизировать роли и группы игроков.
# GroupRoleSynchronizationCycleCompletely: должна ли синхронизация, запущенная по таймеру, синхронизировать каждого участника на серверах Discord ботов
#
GroupRoleSynchronizationGroupsAndRolesToSync: {"player": "1371491528786182216"}
GroupRoleSynchronizationGroupsAndRolesToSync: {"role_player": "1399136491090739210"}
GroupRoleSynchronizationMinecraftIsAuthoritative: true
GroupRoleSynchronizationOneWay: false
GroupRoleSynchronizationEnableDenyPermission: false

BIN
src/plugins/FreedomChat-Paper-1.7.0.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,17 @@
# Whether FreedomChat should replace player (signed or unsigned) chat with
# system messages. This is what makes chat not reportable.
rewrite-chat: true
# Whether FreedomChat should claim to clients that secure chat is enforced.
# With this set to true, the "Chat messages can't be verified" toast will not
# be shown. This is, in default configurations, unrelated to allowing clients
# not signing their messages join. In modern versions, clients also
# require a valid access token to be present for the toast to be hidden.
# That being said, you may still see the toast even if this option is enabled.
claim-secure-chat-enforced: true
# Whether to report the server as secure (disabling chat reporting) to the
# NoChatReports client mod. This displays a green icon on the server list
# screen and if enforce-secure-profiles is disabled the open chat screen
# for users of the client-side mod.
send-prevents-chat-reports-to-client: true

View File

@ -0,0 +1,218 @@
# GrimAC main configuration
# Source code: https://github.com/MWHunter/Grim
# Copyright 2025 DefineOutside and contributors, Licensed under GPLv3.
# Modified binaries, or plugins with copied grim code, must be private,
# or with full source code available to buyers at no additional cost.
alerts:
# In addition to broadcasting alerts to players, should they also be sent to the console?
print-to-console: true
# This controls whether/how alerts are shared between servers connected to your proxy.
# You must have 'bungee-plugin-message-channel' enabled in your Velocity's configuration if Velocity is in use.
proxy:
# Should alerts be sent to other servers connected to your proxy?
send: false
# Should the alerts received from other servers be announced to this server?
receive: false
verbose:
print-to-console: false
check-for-updates: true
client-brand:
# This means it won't broadcast their brand to operators if the brand matches the following regexes
ignored-clients:
- "^vanilla$"
# - "^fabric$"
# - "^lunarclient:v\\d+\\.\\d+\\.\\d+-\\d{4}$"
# - "^Feather Fabric$"
# - "^labymod$"
spectators:
# Hide all spectators with the grim.spectator permission regardless if they are actually actively spectating
hide-regardless: false
# Will make spectators hidden only in these worlds, keep blank to allow all worlds
allowed-worlds:
- ""
# How long should players have until we kick them for timing out? Default = 60 seconds
max-transaction-time: 60
# Should the duplicate movement packet be cancelled?
# Mojang has fixed this issue in 1.21. This was their attempt to fix the "bucket desync". https://bugs.mojang.com/browse/MC-12363
# This setting only applies to 1.17-1.20.5 clients on 1.8 servers.
cancel-duplicate-packet: true
# Whether or not to ignore the rotation in duplicate packets
ignore-duplicate-packet-rotation: false
Simulation:
# How much should we multiply total advantage by when the player is legit
# This is what the default config looks like (x axis = seconds, y axis = 1/1000 block): https://www.desmos.com/calculator/d4ufgxrxer
setback-decay-multiplier: 0.999
# How large of an offset from the player's movement should we create a violation for?
# Measured in blocks from the possible movement
# We account for Optifine by switching trig tables but dropping this to 0.001 will reduce FastMath
# flagging the anticheat if this compensation doesn't work...
threshold: 0.001
# How large of a violation in a tick before the player gets immediately setback?
# -1 to disable
immediate-setback-threshold: 0.1
# How large of an advantage over all ticks before we start to setback?
# -1 to disable
max-advantage: 1
# After 50 seconds with default config, the player will go from 4 blocks -> 1 block of advantage
# This is to stop the player from gathering too many violations and never being able to clear them all
# Default advantage ceiling (x axis = seconds, y axis = 1/1000 block): https://www.desmos.com/calculator/4lovswdarj
max-ceiling: 4
# Violation level threshold for setback
# 1 for old behavior
setback-violation-threshold: 1
# Checks to see if a player entered a block during a movement
Phase:
setbackvl: 1 # Glitching into blocks can allow wall climbing, plus this check is relatively stable
decay: 0.005
AirLiquidPlace:
cancelvl: 0
FabricatedPlace:
cancelvl: 5
FarPlace:
cancelvl: 5
PositionPlace:
cancelvl: 5
RotationPlace:
cancelvl: 5
# Prediction-based no slow check
# Grim accounts for buggy netcode here... hard to false even when spamming right click and offhand button
# Much more stable than other anticheats, but please report any falses... I have fixed a ton of netcode issues here.
NoSlow:
# How much of an offset is "cheating"
# By default this is lower than other offs
# Flags by 0.03-0.2 consistently with NoSlow on
threshold: 0.001
# Setback fast on the first item to remove any advantage NoSlow gives
setbackvl: 5
# Decay's when the player uses an item AND is slowed by it
decay: 0.05
Knockback:
# How much should we multiply total advantage by when the player is legit
setback-decay-multiplier: 0.999
# How large of an offset from the player's velocity should we create a violation for?
# Measured in blocks from the possible velocity
threshold: 0.001
# How large of a violation in a tick before the player gets immediately setback?
# -1 to disable
immediate-setback-threshold: 0.1
# How large of an advantage over all ticks before we start to setback?
# -1 to disable
max-advantage: 1
# This is to stop the player from gathering too many violations and never being able to clear them all
max-ceiling: 4
Explosion:
threshold: 0.001
setbackvl: 3
TimerA:
setbackvl: 10
# Milliseconds that the player can accumulate for later use when they fall behind
# Could potentially allow 1.8 fast use/fast heal/fast bow bypasses if set too high, 120 ms seems like a good balance
drift: 120
# Ping at which the check will start to limit timer balance, to prevent abuse.
# Can cause some setbacks for legitimate players but only if they are over this ping threshold.
# -1 to disable
ping-abuse-limit-threshold: 1000
NegativeTimer:
# Number of milliseconds lost while moving before we should start flagging
drift: 1200
# Same check method as TimerA, but for vehicles
TimerVehicle:
# Target 1.005 timer
setbackvl: 10
PacketOrderI:
# enable if players are getting flagged for using 1.7 animations mods
exempt-placing-while-digging: false
Reach:
# How much should we expand hitboxes by? 0.0005 should detect 3.0005+ reach
#
# There is 0.03 forced expansion with 1.9-1.18.1 (not 1.18.2), or some client/server combinations due to
# protocol changes and limitations. This check is most powerful with 1.7/1.8 clients on 1.8 servers.
threshold: 0.0005
# Should we cancel hits that we know are impossible?
# 3.00-3.03 hits may go through but still be flagged, due to packet order limitations
block-impossible-hits: true
# This will send an additional packet at the end of every tick to increase the likelihood of catching cheats
# This injects into server's connection list to send a final packet just before the server flushes
# Enabling this will increase bandwidth usage for all players
# This will not decrease overall server performance
# Enabling this will catch more cheaters.
# Leaving this disabled will still catch cheaters and will not cause false positives
# Unless you are a 1.8 PvP focused server, this additional packet is not recommended
enable-post-packet: false
exploit:
# You can gain high speeds when sprint jumping with an elytra, this prevents the exploit when set to false
# Mojang screwed up netcode by making elytra start client sided and elytra end server sided
# Elytras take 0.99 horizontal friction, so constantly adding 0.2 horizontal speeds results in very high speeds.
allow-sprint-jumping-when-using-elytra: true
# This option mitigates the player's placement on ghostblocks by resynchronizing the player when it happens
allow-building-on-ghostblocks: true
# This setting, influenced by the boolean above defines the distance to check for ghost blocks
# Its valid range is limited from 2 to 4
distance-to-check-if-ghostblocks: 2
# Enable logging plugins who have injected into netty on join to debug compatibility issues
debug-pipeline-on-join: false
# Enables experimental checks
experimental-checks: false
reset-item-usage-on-item-update: true
reset-item-usage-on-attack: true
reset-item-usage-on-slot-change: true
# Grim sometimes cancels illegal packets such as with timer, after X packets in a second cancelled, when should
# we simply kick the player? This is required as some packet limiters don't count packets cancelled by grim.
packet-spam-threshold: 100
# Enable this to print a stacktrace when a player is kicked due to packet-spam-threshold
debug-packet-cancel: false
# Grim is able to enforce that a player set out of flying state cannot have more than X milliseconds of ping
# This is due to Grim not currently checking flying players
# To disable, use -1
max-ping-out-of-flying: 1000
# Maximum ping when a firework boost is removed from the player.
# This prevents high latency players from being able to use 1 firework boost with an elytra forever.
max-ping-firework-boost: 1000
history:
enabled: true
# How many entries should be shown for each page with /grim history <player>
entries-per-page: 15
# What should the inserted server name be for the history command? This is useful if you use the same database for multiple servers
server-name: survival
database:
# Use SQLITE for local storage, use MYSQL if you have an external MySQL database. This is only updated on server restart
type: SQLITE
# MySQL connection details
host: _GRIM_DB_HOST_
port: _GRIM_DB_PORT_
database: _GRIM_DB_NAME_
username: _GRIM_DB_USERNAME_
password: '_GRIM_DB_PASSWORD_'
config-version: 9

View File

@ -0,0 +1,12 @@
enabled: false
webhook: ""
embed-title: "**Grim Alert**"
embed-color: "#00FFFF"
violation-content:
- "**Player**: %player%"
- "**Check**: %check%"
- "**Violations**: %violations%"
- "**Client Version**: %version%"
- "**Brand**: %brand%"
- "**Ping**: %ping%"
- "**TPS**: %tps%"

View File

@ -0,0 +1,71 @@
# \u00BB is » (double >>), ANSI and UTF-8 interpret this differently... you may even see ? due to this
prefix: "&bGrim &8\u00BB"
alerts-enabled: "%prefix% &fAlerts enabled"
alerts-disabled: "%prefix% &fAlerts disabled"
verbose-enabled: "%prefix% &fVerbose enabled"
verbose-disabled: "%prefix% &fVerbose disabled"
brands-enabled: "%prefix% &fBrands enabled"
brands-disabled: "%prefix% &fBrands disabled"
client-brand-format: "%prefix% &f%player% joined using %brand%"
console-specify-target: "%prefix% &cYou must specify a target as the console!"
reloading: "%prefix% &7Reloading config..."
reloaded: "%prefix% &fConfig has been reloaded."
reload-failed: "%prefix% &cFailed to reload config."
player-not-found: "%prefix% &cPlayer is exempt or offline!"
player-not-this-server: "%prefix% &cPlayer is not on this server!"
spectate-return: "<click:run_command:/grim stopspectating><hover:show_text:\"/grim stopspectating\">\n%prefix% &fClick here to return to previous location\n</hover></click>"
cannot-spectate-return: "%prefix% &cYou can only do this after spectating a player"
cannot-run-on-self: "%prefix% &cYou cannot use this command on yourself!"
upload-log: "%prefix% &fUploaded debug to: %url%"
upload-log-start: "%prefix% &fUploading log... please wait"
upload-log-not-found: "%prefix% &cUnable to find that log"
upload-log-upload-failure: "%prefix% &cSomething went wrong while uploading this log, see console for more info"
disconnect:
timeout: "<lang:disconnect.timeout>"
closed: "<lang:disconnect.closed>"
run-as-player: "%prefix% &cThis command can only be used by players!"
run-as-player-or-console: "%prefix% &cThis command can only be used by players or the console!"
# Valid placeholders:
# %prefix%
# %player%
# %check_name%
# %description%
# %experimental%
# %vl% - violations
# %verbose% - extra information from the check such as offsets, not all checks will add information
alerts-format: "%prefix% &f%player% &bfailed &f%check_name%%experimental% &f(x&c%vl%&f) &7%verbose%"
alerts-format-proxy: "%prefix% &f[&cproxy&f] &f%player% &bfailed &f%check_name%%experimental% &f(x&c%vl%&f) &7%verbose%"
experimental-symbol: "*"
profile:
- "&7======================"
- "%prefix% &bProfile for &f%player%"
- "&bPing: &f%ping%"
- "&bVersion: &f%version%"
- "&bClient Brand: &f%brand%"
- "&bHorizontal Sensitivity: &f%h_sensitivity%%"
- "&bVertical Sensitivity: &f%v_sensitivity%%"
- "&bFastMath Enabled: &f%fast_math%"
- "&7======================"
help:
- "&7======================"
- "/grim alerts &f- &7Toggle alerts"
- "/grim brands &f- &7Toggle brands"
- "/grim profile <player> &f- &7View player info"
- "/grim help &f- &7View this help message"
- "/grim debug <player> &f- &7Developer Prediction output"
- "/grim perf &f- &7Developer ms/prediction"
- "/grim reload &f- &7Reloads the config"
- "/grim spectate <player> &f- &7Spectate a player"
- "/grim verbose &f- &7Shows every flag to you, without buffers"
- "/grim log [0-255] &f- &7Uploads a debug log for prediction flags"
- "/grim history <player> [page] &f- &7Shows previous alerts for the player"
- "&7======================"
grim-history-disabled: "%prefix% &cHistory subsystem is disabled!"
# Valid placeholders: %prefix% %player% %page% %maxPages%
grim-history-header: "%prefix% &bShowing logs for &f%player% (&f%page%&b/&f%maxPages%&f)"
# Valid placeholders: %prefix% %check% %vl% %verbose% %timeago% %server%
grim-history-entry: "%prefix% &8[&f%server%&8] &bFailed &f%check% (x&c%vl%&f) &7%verbose% (&b%timeago% ago&7)"

View File

@ -0,0 +1,143 @@
# # %check_name% - name of the check
# # %description% - description of the check
# # %vl% - violations
# # %verbose% - extra information
# # %player% - player name
# # [alert] - special command to alert
# # [webhook] - special command to alert to discord webhook
# # [proxy] - special command to alert to other servers connected to your proxy (BungeeCord/Velocity)
# Punishments:
# Simulation:
# # After how many seconds should a violation be removed?
# remove-violations-after: 300
# # This section will match all checks with the name,
# # To exclude a check that would otherwise be matched, put an exclamation mark in front of the name
# # For example, !BadPacketsN
# checks:
# - "Simulation"
# - "GroundSpoof"
# - "Timer"
# - "NoFall"
# # Threshold:Interval Command
# #
# # Example, to kick the player with the message "incorrect movement!" after 100 violations, with no interval
# # commands:
# # - "100:0 kick %player% incorrect movement!"
# # 0 means execute exactly once
# # - "100:50 say %player% is cheating"
# # Execute when the user hits flag 100, and after that, every 50th flag after 100
# #
# commands:
# - "100:40 [alert]"
# - "100:40 [log]"
# - "100:100 [webhook]"
# - "100:100 [proxy]"
# Knockback:
# remove-violations-after: 300
# checks:
# - "Knockback"
# - "Explosion"
# commands:
# - "5:5 [alert]"
# - "5:5 [log]"
# - "20:20 [webhook]"
# - "20:20 [proxy]"
# Post:
# remove-violations-after: 300
# checks:
# - "Post"
# commands:
# - "20:20 [alert]"
# - "20:20 [log]"
# - "40:40 [webhook]"
# - "40:40 [proxy]"
# BadPackets:
# remove-violations-after: 300
# checks:
# - "BadPackets"
# - "PacketOrder"
# - "Crash"
# commands:
# - "20:20 [alert]"
# - "20:20 [log]"
# - "40:40 [webhook]"
# - "40:40 [proxy]"
# Inventory:
# remove-violations-after: 300
# checks:
# - "Inventory"
# commands:
# - "10:10 [alert]"
# - "10:10 [log]"
# - "20:20 [webhook]"
# - "20:20 [proxy]"
# Reach:
# remove-violations-after: 300
# checks:
# - "Reach"
# commands:
# - "1:1 [alert]"
# - "1:1 [log]"
# - "1:1 [webhook]"
# - "1:1 [proxy]"
# Hitboxes:
# remove-violations-after: 300
# checks:
# - "Hitboxes"
# commands:
# - "5:3 [alert]"
# - "5:3 [log]"
# - "5:3 [webhook]"
# - "5:3 [proxy]"
# WallHit:
# remove-violations-after: 300
# checks:
# - "WallHit"
# commands:
# - "10:5 [alert]"
# - "10:5 [webhook]"
# - "10:5 [proxy]"
# - "10:5 [log]"
# EntityPierce:
# remove-violations-after: 300
# checks:
# - "EntityPierce"
# commands:
# - "15:10 [alert]"
# - "15:10 [webhook]"
# - "15:10 [proxy]"
# - "15:10 [log]"
# Misc:
# remove-violations-after: 300
# checks:
# - "Vehicle"
# - "NoSlow"
# - "Sprint"
# - "MultiActions"
# - "Place"
# - "Baritone"
# - "Break"
# - "TransactionOrder"
# - "Elytra"
# commands:
# - "10:5 [alert]"
# - "10:5 [log]"
# - "20:10 [webhook]"
# - "20:10 [proxy]"
# Combat:
# remove-violations-after: 300
# checks:
# - "Interact"
# - "Killaura"
# - "Aim"
# commands:
# - "20:40 [alert]"
# - "20:40 [log]"
# # As of 2.2.10, there are no AutoClicker checks and this is a placeholder. Grim will include AutoClicker checks in the future.
# Autoclicker:
# remove-violations-after: 300
# checks:
# - "Autoclicker"
# commands:
# - "20:40 [alert]"
# - "20:40 [log]"

View File

@ -0,0 +1,283 @@
#
#
# The main LibertyBans configuration
# All options here can be updated with /libertybans reload
#
#
durationPermissions:
# Which duration permissions should a staff member be checked for?
# Specify all the durations which you want to explicitly grant permission for.
permissions-to-check:
- 'perm'
- '7d'
- '14d'
- '28d'
- '90d'
- '180d'
# If disabled, players are not checked for duration permissions.
enable: true
# Formatting of absolute dates
date-formatting:
# How should dates be formatted? Follows Java's DateTimeFormatter.ofPattern
format: 'dd/MM/yyyy kk:mm'
# Do you want to override the timezone? If 'default', the system default timezone is used
# The value must be in continent/city format, such as 'America/New_York'. Uses Java's ZoneId.of
timezone: 'Europe/Kyiv'
# What language file should be used for messages?
# For example, 'en' means LibertyBans will look for a file called 'messages_en.yml'
lang-file: 'ru'
# Options related to punishment enforcement and alt account checking
#
# -- Alt Account Enforcement and Checking --
# There are multiple ways to combat alt accounts in LibertyBans.
#
# First, you can have the plugin automatically detect alt accounts and prevent them from joining,
# with the same ban message. This is controlled by the 'address-strictness' setting.
#
# Second, you can tell your staff members to be on the lookout for alts. They can use
# the /alts command to manually check players they suspect are alt accounts. Also, you can
# use the alts-auto-show feature which will automatically notify staff of players who may be using alts.
#
# Third, you may use 'composite punishments', a more advanced feature which is described on the wiki.
enforcement:
# Controls the expiration of join history as used by manual alt detection.
# This allows expiring alt accounts after some time has elapsed.
#
# This setting does NOT affect enforcement of IP-based punishments.
# It applies only to the /alts command and the alts-auto-show feature.
#
# Note that this feature will not actually delete any data from the database.
alt-account-expiration:
# The expiration time, in days.
expiration-time-days: 30
# Whether to enable this feature
enable: false
#
# How strict should IP-based punishments be?
# Available options are LENIENT, NORMAL, STERN, and STRICT
#
# An IP-based punishment applies to a player if:
# LENIENT - The player's current address matches the punished address
# NORMAL - Any of the player's past addresses matches the punished address
# STERN - Any of the player's past addresses matches any of the past addresses of the punished user
#
# STRICT is the same as STERN, but also enforces user punishments as stringently as IP-based punishments.
# (Using STRICT turns all user punishments into IP-based punishments)
address-strictness: 'NORMAL'
# Limits players connecting from the same IP address.
#
# The limiter works by counting the amount of joins from a given IP address within a recent timespan.
# Thus, it is not an absolute limit, but a limit on the rate of joins.
connection-limiter:
# What is the duration within which recent joins are counted against the limit?
# The default is 30 minutes and the value is specified in seconds.
duration-seconds: 1800
# The limit to apply
limit: 5
# The message when a player is denied from joining due to the limit
denial-message: 'There have been too many connections from your IP address recently'
# Whether to enable this feature
enable: false
# Runs an alt-check on newly joined players, as if by /alts,
# the results of which will be shown to staff members with the libertybans.alts.autoshow permission.
alts-auto-show:
# Allows determining which alts will be shown by this alt-check
# (This does not affect the alts command, which will always show all alts)
# ALL_ALTS - shows all alts
# BANNED_OR_MUTED_ALTS - shows alts either banned or muted
# BANNED_ALTS - shows only banned alts
show-which-alts: 'ALL_ALTS'
# Set to true to enable this feature
enable: false
#
# A list of commands muted players will not be able to execute
#
# This list supports subcommands, which will be enforced if the executed command starts with the list entry.
# Additionally, colons in commands, such as"pluginname:cmd", cannot be used to bypass this.
mute-commands:
- 'msg'
- 'r'
- 't'
- 'w'
- 'tell'
- 'me'
- 'whisper'
- 'say'
- 'clan chat'
- 'reply'
# Options relating to finding UUIDs from names, and vice-versa
# LibertyBans will first check its own caches before using these resources
player-uuid-resolution:
#
# As a last resort, when LibertyBans cannot find a uuid or name, it will use an external web API
# Available options are 'MOJANG', 'ASHCON', and 'MCHEADS'. They will be queried sequentially in the order specified.
# (If the server is not in ONLINE mode, this option is ignored)
web-api-resolvers:
- 'MOJANG'
# By default, LibertyBans will automatically detect if you are running Geyser or Floodgate.
# The prefix will be determined using the Geyser API
#
# However, in rare cases, you may want to force LibertyBans to acknowledge the presence of Geyser usernames
# If so, set this option to the value of the prefix you use for Geyser/Floodgate.
# An empty string will revert this option to automatic detection, which requires a server restart to take effect.
force-geyser-prefix: ''
#
# What kind of UUIDs do your players have?
# Available options are ONLINE, OFFLINE, and MIXED
#
# For most servers this will be 'ONLINE'
# For offline servers where all players have offline UUIDs, use OFFLINE
# For offline servers where some players have online and some have offline UUIDs, use MIXED
server-type: 'OFFLINE'
platforms:
# Related to game servers such as Spigot, Paper, and Sponge
game-servers:
# This option is relevant for backend servers running within a network (BungeeCord or Velocity).
# It enables the use of plugin messaging, such as for:
# - Kicking the player from the entire network
# - Detecting the name of the backend server for use with server scopes
# - Synchronizing punishments across instances, depending on the mode in the sql.yml
#
# DO NOT enable this option if you do not run a network. Otherwise, you create a security vulnerability
# whereby players can pretend to be coming from a proxy, evading kicks and sending sync messages.
# After changing this option, please perform a restart (/libertybans restart).
use-plugin-messaging: false
# Related to the Sponge platform
sponge:
# Whether to register the ban service for use by other plugins.
# If enabled, LibertyBans will replace the server's default banning implementation with its own.
#
# This option is somewhat technical. For advice on whether you should configure this option,
# please ask for support.
# It is highly recommended to ask for guidance if you are unsure about this option.
#
# How this affects compatibility:
# - If disabled, the vanilla ban service will remain. Other plugins which query for bans will be
# served with information from vanilla. For example, if a player is banned through LibertyBans
# but not vanilla, then other plugins will think the player is not banned.
# - If enabled, uses of the ban service will forward to LibertyBans. Other plugins which query for bans
# will be served with accurate information from LibertyBans.
# - However, the LibertyBans ban service has limitations. It cannot issue bans, for example.
# So, if another plugin attempts to create bans using the ban service, you will receive an error.
# If you absolutely need other plugins to issue bans, you must disable this option.
#
# Note that it is impossible to import vanilla bans if you enable this option. So, if you wish to import
# from vanilla, first you need to disable this option. After importing, you may re-enable it.
register-ban-service: true
# Related to proxies such as BungeeCord and Velocity
proxies:
# Set this to true to indicate that you are running multiple proxy instances.
#
# It will instruct LibertyBans to perform additional synchronization measures, where applicable.
multiple-proxy-instances: false
# Server-scoped punishments will be enforced by preventing server switches for players connecting
# to servers on which they are banned. The server name is obtained from the proxy API
#
# This option is enabled by default for full functionality. However, it increases performance usage,
# so you may want to disable it if you do not use the scopes feature.
enforce-server-switch: true
commands:
# If this is enabled, it will be as if relevant commands used the -both argument.
# Effectively, this makes punishments more strict, since moderators will end up banning UUIDs and addresses
use-composite-victims-by-default: false
# By default, /blame shows only active punishments made by a staff member.
# If you disable this option, /blame will show all punishments, including those revoked and expired.
#
# If you use the staffrollback addon, you probably want to disable this to make /blame consistent
# with the staffrollback operation.
blame-shows-active-only: true
# By default, /history and /warns show punishments specifically for the player requested.
# Enabling this option will make /history and /warn scan punishments which would apply to the player
#
# For example, an IP ban may apply to a player, but it will not be in the player's /history unless this is enabled
show-applicable-for-history: false
# Other options relating to tab completion
# These settings require a restart (/libertybans restart) to take effect
tab-completion:
# Regards tab completing the names of players who have formerly joined
# This can be a bit heavy on memory for large servers, so it's disabled by default.
# To tune how long player names are retained for, see the retention-minutes option
offline-player-names:
# What is the period in which recently joining players' names should be completed
# If a player has joined in the last specified amount of minutes, his or her name is tab-completed
retention-minutes: 4320
# This feature is implemented using a cache. How often should the cache be refreshed?
# Shorter times mean more accurate tab completion but use slightly more performance
cache-refresh-seconds: 120
# Whether to enable this feature
enable: false
# This option is only relevant when LibertyBans is on a proxy
# If enabled, tab completion of online player names will exclude the names of players
# on different backend servers.
use-only-players-on-same-server: true
# Enables tab-completing punishment durations. For example, '30d' in '/ban A248 30d'
#
punishment-durations:
# Which duration permissions should be tab-completed?
# Specify all the durations which you want to tab complete.
#
# If duration permissions are enabled, only players who have permission to use a certain duration
# will have that duration tab-completed.
durations-to-supply:
- 'perm'
- '4h'
- '30d'
- '10d'
# Whether to enable this feature
enable: false
# Whether to enable tab completion
enable-tab-completion: true
# What commands should be registered as aliases for libertybans commands?
# For each command listed here, '/<command>' will be equal to '/libertybans <command>'
#
# This basic system is for convenience; please use a dedicated alias plugin if you need more control.
# Also, please note that command aliases are disabled on Sponge, due to command API differences.
aliases:
- 'ban'
- 'ipban'
- 'mute'
- 'ipmute'
- 'warn'
- 'ipwarn'
- 'kick'
- 'ipkick'
- 'unban'
- 'unbanip'
- 'unmute'
- 'unmuteip'
- 'unwarn'
- 'unwarnip'
- 'banlist'
- 'mutelist'
- 'history'
- 'warns'
- 'blame'
- 'alts'
- 'accounthistory'
# Handles how staff are permitted to specify reasons
reasons:
# Deprecated option kept for compatibility purposes. Ignore this.
permit-blank: false
# When entering commands, what happens if the staff member does not specify a reason?
# USE_EMPTY_REASON - Keep the reason blank, as specified.
# REQUIRE_REASON - Deny the command; send the usage message.
# SUBSTITUTE_DEFAULT - Substitute the default reason.
unspecified-reason-behavior: 'SUBSTITUTE_DEFAULT'
# If unspecified-reason-behavior is SUBSTITUTE_DEFAULT, what is the default reason to use when staff do not specify a reason?
default-reason: 'No reason stated.'

View File

@ -0,0 +1,187 @@
# Settings for importing from other plugins
# Most users should not have to touch this.
#
# In order to perform an import, run /libertybans import <source>.
# Available sources are 'advancedban', 'litebans', 'vanilla', and 'self'.
#
# Importing from vanilla is only possible on Bukkit.
# Essentials users: Note that Essentials uses the vanilla ban system.
#
# During the import, it is not needed to enable the plugin you are importing from.
#
# --- NOTICE ---
# You MUST backup your data before performing the import.
# LibertyBans will never delete your data, but taking a backup is the best practice
# whenever you are performing any large transfer of data.
#
# --- WARNING when importing from AdvancedBan and Vanilla ---
# AdvancedBan/Vanilla does not store the uuid of the operator who made a punishment.
# To work around this, LibertyBans will attempt to lookup the operator uuid. By default
# this uses the Mojang API. However, if your server sends the Mojang API too many requests,
# your server might be rate limited (which you do NOT want to happen).
# To prevent this, add another service to your web-api-resolvers, in the config.yml
# before importing.
#
#
#
#
# -- Importing from AdvancedBan --
#
# The defaults here match the default settings in AdvancedBan.
# If you use AdvancedBan's default storage, you do not need to change anything here.
#
# --- Using AdvancedBan's MySQL/MariaDB Storage ---
# However, if you use MySQL with AdvancedBan, you will need to change a few things.
# The jdbc-url should be set to 'jdbc:mariadb://<host>:<port>/<database>' with <host>,
# <port>, and <database> replaced with the correct values. The username and password
# ought to be the same username and password you used with AdvancedBan.
#
# For example: You used AdvancedBan with MySQL. Your host is localhost, your port
# is 3306, and your database name is 'bans'. You use the username 'advancedban' and
# password 'password'. You should set the jdbc-url option to
# 'jdbc:mysql://localhost:3306/bans', the username to 'advancedban', and the password to 'password'
advancedban:
jdbc-url: 'jdbc:hsqldb:file:plugins/AdvancedBan/data/storage;hsqldb.lock_file=false'
password: ''
username: 'SA'
#
#
#
# -- Importing from LiteBans --
#
# This is no easy task. The main problem is that LiteBans is a closed-source black box,
# such that no one except its author knows how the plugin works internally.
#
# However, it is still possible to import from LiteBans to LibertyBans, and this is achieved
# primarily from inspecting the generated SQL schema.
#
# --- Config Options Explained ---
# The jdbc-url depends on the storage mode you are using LiteBans with.
# - Using H2, it should be 'jdbc:h2:./plugins/LiteBans/litebans'
# - Using MySQL or MariaDB, it should be 'jdbc:mariadb://<host>:<port>/<database>' with <host>,
# <port>, and <database> replaced with the correct values.
# - Using PostgreSQL, it should be 'jdbc:postgresql://<host>:<port>/<database>' with <host>,
# <port>, and <database> replaced with the correct values.
#
# If you configured a username and password for LiteBans, you should enter the same
# username and password in this section.
#
# --- JDBC Driver Availability: If you use H2 ---
# LiteBans uses the H2 database by default. If importing from H2, you will need to install the H2 driver first.
#
# The driver is installed by adding it to the classpath. This is done by downloading the driver jar, and starting
# your server with the -cp option. The wiki has a tutorial on how to do this.
litebans:
# The same table prefix you used with LiteBans
table-prefix: 'litebans_'
# The default value here is set for H2.
jdbc-url: 'jdbc:h2:./plugins/LiteBans/litebans'
password: ''
username: ''
#
#
#
# -- Importing from BanManager (v7) --
#
# Bans, IP bans, mutes, IP mutes, warns, and kicks are supported.
#
# BanManager's IP range bans, name bans, notes, and reports are not supported. LibertyBans has no equivalent features.
#
# --- Config Options Explained ---
# The jdbc-url depends on the storage mode you are using BanManager with.
# - Using H2, it should be 'jdbc:h2:./plugins/BanManager/local-bans'
# - Using MySQL or MariaDB, it should be 'jdbc:mariadb://<host>:<port>/<database>' with <host>,
# <port>, and <database> replaced with the correct values.
#
# If you configured a username and password for BanManager, you should enter the same
# username and password in this section.
ban-manager:
# The same table prefix you used with BanManager
table-prefix: 'bm_'
# The default value here is set for H2.
jdbc-url: 'jdbc:h2:./plugins/BanManager/local-bans'
password: ''
username: ''
# How many punishments to retrieve at once from the import source.
# You may be surprised to find out your server is capable of retrieving hundreds,
# even thousands of punishments, into memory without much trouble. However,
# this is set to 250 as a reasonable conservative estimate.
retrieval-size: 250
#
#
#
# -- Importing from another LibertyBans database --
#
# NOTICE: The current database MUST be empty when the import is performed.
#
# The self-import process is different from the import process for other plugins.
# It is a direct transfer, which is why the current database must be empty. Also, punishment IDs are preserved.
#
# Self-importing may be used to switch between various database backends supported by LibertyBans.
# For example, you could transfer your data from HSQLDB to MariaDB.
#
# The settings here are used exactly as in sql.yml - in fact, they are the same settings.
self:
# Whether to reverse the direction of the self-import. If enabled, this will import TO the database
# configured here, rather than FROM it.
#
# Normally, LibertyBans will import from this database, to the current database defined in sql.yml.
# If this option is enabled, LibertyBans will import to the current database in sql.yml, from this database.
reverse-direction: false
#
# Connection timeout settings
# LibertyBans uses HikariCP for connection pooling. The following settings control connection timeouts.
timeouts:
# How long, at maximum, should LibertyBans wait when acquiring new connections, if no existing connection is available?
connection-timeout-seconds: 14
# How long, at maxium, should a connection in the pool last before having to be recreated?
# "This value should be set for MariaDB or MySQL. HikariCP notes:
# "It should be several seconds shorter than any database or infrastructure imposed connection time limit"
max-lifetime-minutes: 25
# Authentication details for remote databases: used for MariaDB, MySQL, PostgreSQL, and CockroachDB.
auth-details:
database: 'bans'
password: 'defaultpass'
user: 'defaultuser'
host: 'localhost'
port: 3306
# The values in this section only apply when using a MariaDB or MySQL database
mariadb:
# Connection properties to be applied to database connections
connection-properties:
cachePrepStmts: 'true'
useUnicode: 'true'
prepStmtCacheSqlLimit: '1024'
characterEncoding: 'UTF-8'
prepStmtCacheSize: '25'
useServerPrepStmts: 'true'
# The values in this section only apply when using a PostgreSQL or CockroachDB database
postgres:
# Connection properties to be applied to database connections
connection-properties:
preparedStatementCacheQueries: '25'
# Legacy option. Don't touch this unless you understand it or you're told to enable it.
use-traditional-jdbc-url: false
# What RDMS vendor will you be using?
# Available options:
# 'HSQLDB' - Local HyperSQL database. No additional requirements.
# 'MARIADB' - Requires an external MariaDB database. At least MariaDB 10.6 is required.
# 'MYSQL' - Requires an external MySQL database. At least MySQL 8.0 is required.
# 'POSTGRES' - Requires an external PostgreSQL database. At least PostgreSQL 12 is required.
# 'COCKROACH' - Requires an external CockroachDB database. The latest CockroachDB is required. Warning: this option is strictly experimental.
rdms-vendor: 'HSQLDB'
#
# How large should the connection pool be?
# A thread pool of similar size is derived from the connection pool size.
# For most servers, the default option is suitable.
connection-pool-size: 6

View File

@ -0,0 +1,497 @@
#
# Messages configuration
#
#
# In most cases, the variables inside the default messages are those available
# in that specific message. The exception to this is messages which are related
# to a certain punishment.
#
# When message has an associated punishment, multiple variables are available:
#
# %ID% - punishment ID number
# %TYPE% - punishment type, e.g. 'Ban'
# %TYPE_VERB% - punishment type as a verb, e.g. 'Banned'
# %VICTIM% - display name of the victim of the punishment
# %VICTIM_ID% - internal identifier of victim
# %OPERATOR% - display name of the staff member who made the punishment
# %OPERATOR_ID% - internal identifier of the operator
# %UNOPERATOR% - staff member undoing the punishment. available only when the punishment is undone
# %UNOPERATOR_ID% - internal identifier of staff member undoing the punishment
# %REASON% - reason for the punishment
# %SCOPE% - scope of the punishment
# %DURATION% - original duration (how long the punishment was made for)
# %START_DATE% - the date the punishment was created
# %TIME_PASSED% - the time since the punishment was created
# %TIME_PASSED_SIMPLE% - the time since the punishment was created, rounded to the biggest time unit possible (e.g. 2 months instead of 1 month 23 days)
# %END_DATE% - the date the punishment will end, or formatting.permanent-display.absolute for permanent punishments
# %TIME_REMAINING% - the time until the punishment ends, or formatting.permanent-display.relative for permanent punishments
# %TIME_REMAINING_SIMPLE% - the time until the punishment ends, rounded to the biggest time unit possible (e.g. 10 days instead of 9 days 13 hours)
# %HAS_EXPIRED% - Shows if a punishments duration has run out. Does not check if the punishment is revoked!
# %TRACK% - the escalation track of the punishment, for example if you are using layouts
# %TRACK_ID% - the ID of the escalation track
# %TRACK_NAMESPACE% - the namespace of a track can be used by other plugins to implement their own layouts
#
# The following variables have limited availability:
# %TARGET% - the original target argument of a command. For example, in '/ipban Player1', %TARGET% is Player1
# %NEXTPAGE% - the number of the next page of a list like history
# %PREVIOUSPAGE% - the number of the previous page of a list like history
#
#
# Configuration for the /accounthistory command
account-history:
# Regards /accounthistory list <user>
listing:
none-found: '&7No recorded accounts found'
usage: '&cUsage: /accounthistory list <user|ip>'
# How a single recorded account should be displayed
# Available variables:
# %TARGET% - the original input to the command
# %USERNAME% - the username the player connected with
# %ADDRESS% - the address the player connected with
# %DATE_RECORDED% - the date the join was recorded
# %DATE_RECORDED_RAW% - the raw timestamp the join was recorded
layout: '%USERNAME% &7(on %ADDRESS%) at %DATE_RECORDED% (%DATE_RECORDED_RAW%)||ttp:&7Click to delete this stored account||cmd:/accounthistory delete %TARGET% %DATE_RECORDED_RAW%'
# The message to display before the account listing. Set to an empty string to disable
header: '&7Known accounts report for &c&o%TARGET%&7 follows.'
permission: '&cYou may not list recorded accounts.'
usage: '&cUsage: /accounthistory <delete|list>'
# Pertains to /accounthistory delete <user> <timestamp>
delete:
no-such-account: '&c%TARGET% has no recorded account for the specified timestamp.'
usage:
- '&cUsage: /accounthistory delete <user> <timestamp>.&f'
- '&7The timestamp is in unix seconds and is usually obtained from /accounthistory list'
permission: '&cYou may not delete recorded accounts.'
success: '&7Successfully deleted the recorded account of &e%TARGET%'
#
# Messages regarding /ban, /mute, /warn, /kick
# Includes punishment layouts
#
#
additions:
mutes:
success:
message: '&aMuted &c&o%VICTIM%&a for &o%DURATION%&r&a because of &e&o%REASON%&a.'
notification: '&c&o%OPERATOR%&7 muted &c&o%VICTIM%&7 for &a&o%DURATION%&7 because of &e&o%REASON%&7.'
exempted: '&c&o%TARGET%&7 cannot be muted.'
conflicting: '&c&o%TARGET%&7 is already muted.'
usage: '&cUsage: /mute &e<player> [time] <reason>&c.'
layout:
- '&7&lMuted&f'
- '&cDuration: &e%TIME_REMAINING%&f'
- ''
- '&c&lReason&f'
- '&7%REASON%'
permission:
duration: '&cYou may not do this for &e%DURATION%&c.'
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
kicks:
success:
message: '&aKicked &c&o%VICTIM%&a because of &e&o%REASON%&a.'
notification: '&c&o%OPERATOR%&7 kicked &c&o%VICTIM%&7 because of &e&o%REASON%&7.'
must-be-online: '&c&o%TARGET%&7 must be online.'
exempted: '&c&o%TARGET%&7 cannot be kicked.'
usage: '&cUsage: /kick &e<player> <reason>&c.'
layout:
- '&7&lKicked&f'
- ''
- '&c&lReason&f'
- '&7%REASON%'
permission:
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
warns:
success:
message: '&aWarned &c&o%VICTIM%&a for &o%DURATION%&r&a because of &e&o%REASON%&a.'
notification: '&c&o%OPERATOR%&7 warned &c&o%VICTIM%&7 for &a&o%DURATION%&7 because of &e&o%REASON%&7.'
exempted: '&c&o%TARGET%&7 cannot be warned.'
usage: '&cUsage: /warn &e<player> [time] <reason>&c.'
layout:
- '&7&lWarned&f'
- '&cDuration: &e%TIME_REMAINING%&f'
- ''
- '&c&lReason&f'
- '&7%REASON%'
permission:
duration: '&cYou may not do this for &e%DURATION%&c.'
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
bans:
success:
message: '&aBanned &c&o%VICTIM%&a for &o%DURATION%&r&a because of &e&o%REASON%&a.'
notification: '&c&o%OPERATOR%&7 banned &c&o%VICTIM%&7 for &a&o%DURATION%&7 because of &e&o%REASON%&7.'
exempted: '&c&o%TARGET%&7 cannot be banned.'
conflicting: '&c&o%TARGET%&7 is already banned.'
usage: '&cUsage: /ban &e<player> [time] <reason>&c.'
layout:
- '&7&lBanned&f'
- '&cDuration: &e%TIME_REMAINING%&f'
- ''
- '&c&lReason&f'
- '&7%REASON%&f'
- ''
- '&3&lAppeal Your Punishment&f'
- '&cWebsite: &7https://bebrashield.net&f'
permission:
duration: '&cYou may not do this for &e%DURATION%&c.'
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
# Messages for alt-checks and alt account notifications
#
# Before configuring this section, it is necessary to look at the address-enforcement
# settings in the main config.yml and understand the different kinds of alt detection.
# There is normal and strict detection.
alts:
auto-show:
# The message to display atop the alt check. Set to an empty string to disable
header:
- '&c&o%TARGET%&7 may be an alt account. Report follows.&f'
- '&7Strong possibility - Same address as banned player.&f'
- '&7Mere possibility - Linked to banned player by common past address'
formatting:
# In the alt-check layout, the username of the alt may be formatted depending upon whether it is banned
# For example, the usernames of banned alts may be colored red whereas alts not banned are green
# Variables: %USERNAME%
name-display:
not-punished: '&o%USERNAME%'
muted: '&e&o%USERNAME%'
banned: '&c&o%USERNAME%'
# The description for an alt account detected by strict detection.
strict: '&eMere possibility'
# How a single detected alt should be displayed
# Available variables:
# %DETECTION_KIND% - how the account was detected. Will be replaced by the normal or strict options.
# %ADDRESS% - the address in question which led to the detection
# %RELEVANT_USER% - the username of the other account, formatted according to the name-display option
# %RELEVANT_USERID% - the uuid of the other account
# %DATE_RECORDED% - the date the alt account was recorded
layout: '%RELEVANT_USER% &7(per %ADDRESS%) at %DATE_RECORDED% - %DETECTION_KIND%'
# The description for an alt account detected by normal detection.
normal: '&cStrong possibility'
# Regarding the /alts command
command:
none-found: '&7No alt accounts found'
usage: '&cUsage: /alts &e<player>&c.'
# The message to display atop the alt check. Set to an empty string to disable
header:
- '&7Alt account report for &c&o%TARGET%&7 follows.&f'
- '&7Strong possibility - Same address as banned player.&f'
- '&7Mere possibility - Linked to banned player by common past address'
permission: '&cYou may not check alts.'
# Used for /banlist, /mutelist, /history, /warns, /blame
lists:
ban-list:
perPage: 10
noPages: '&7There are no active bans.'
maxPages: '&7Page &e%PAGE%&7 does not exist.'
permission:
command: '&7You may not view the banlist.'
layout:
header:
- '&7[&eID&7] &e&oSubject&f'
- '&7Operator &8/ &7Reason &8/ &7Time Remaining&f'
body:
- '&7[&e%ID%&7] &e&o%VICTIM%&f'
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%&f'
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans banlist %NEXTPAGE%'
usage: '&cUsage: /banlist &e[page]'
mute-list:
perPage: 10
noPages: '&7There are no active mutes.'
maxPages: '&7Page &e%PAGE%&7 does not exist.'
permission:
command: '&7You may not view the mutelist.'
layout:
header:
- '&7[&eID&7] &e&oSubject&f'
- '&7Operator &8/ &7Reason &8/ &7Time Remaining&f'
body:
- '&7[&e%ID%&7] &e&o%VICTIM%&f'
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%&f'
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans mutelist %NEXTPAGE%'
usage: '&cUsage: /mutelist &e[page]'
warns:
perPage: 10
noPages: '&c&o%TARGET%&7 has no warns.'
maxPages: '&7Page &e%PAGE%&7 does not exist.'
permission:
command: '&7You may not view warns.'
layout:
header: '&7[&eID&7] Operator &8/ &7Reason &8/ &7Time Remaining&f'
body: '&7[&e%ID%&7] %OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%&f'
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans warns %TARGET% %NEXTPAGE%'
usage: '&cUsage: /warns &e<player> [page]'
blame:
perPage: 10
noPages: '&c&o%TARGET%&7 has not punished any players.'
maxPages: '&7Page &e%PAGE%&7 does not exist.'
permission:
command: '&7You may not use blame.'
layout:
header:
- '&7[&eID&7] &e&oSubject &8/ &7Punishment Type&f'
- '&7Reason &8/ &7Date Enacted&f'
body:
- '&7[&e%ID%&7] &e&o%VICTIM% &8 / &7%TYPE%&f'
- '&7%REASON% &8/ &7%START_DATE%&f'
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans warns %TARGET% %NEXTPAGE%'
usage: '&cUsage: /blame &e<player> [page]'
history:
perPage: 10
noPages: '&c&o%TARGET%&7 has no history.'
maxPages: '&7Page &e%PAGE%&7 does not exist.'
permission:
command: '&7You may not view history.'
layout:
header:
- '&7[&eID&7] &8/ &7Punishment Type&f'
- '&7Operator &8/ &7Reason &8/ &7Date Enacted&f'
body:
- '&7[&e%ID%&7] / %TYPE%&f'
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%START_DATE%&f'
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans history %TARGET% %NEXTPAGE%'
usage: '&cUsage: /history &e<player> [page]'
# Specific formatting options
formatting:
# There are 2 ways to make permanent punishments. The first is to not specify a time (/ban <player> <reason>).
# The second is to specify a permanent amount of time (/ban <player> perm <reason>).
# When typing commands, what time arguments will be counted as permanent?
permanent-arguments:
- 'perm'
- 'permanent'
- 'permanently'
# How should 'permanent' be displayed as a length of time?
permanent-display:
# What do you call a permanent duration?
duration: 'Infinite'
# When does a permanent punishment end?
absolute: 'Never'
# How do you describe the time remaining in a permanent punishment?
relative: 'Permanent'
# When there is no more time remaining in a punishment (the punishment has expired),
# this becomes the value of the %TIME_REMAINING% variable
no-time-remaining-display: 'N/A'
# How should the %HAS_EXPIRED% variable be displayed?
punishment-expired-display:
# How do you describe a punishment which is not expired?
not-expired: 'Not expired'
# How do you describe an expired punishment?
expired: 'Expired'
# Controls how the %TRACK%, %TRACK_ID%, and %TRACK_NAMESPACE% variables are displayed
track-display:
# How do you describe the lack of an escalation track?
# The value will be displayed for the %TRACK% variable
no-track: 'No track'
# How do you describe the lack of an escalation track with respect to its ID?
# The value will be displayed for the %TRACK_ID% variable
no-track-id: 'No track ID'
# How do you describe the lack of an escalation track with respect to its namespace?
# The value will be displayed for the %TRACK_NAMESPACE% variable
no-track-namespace: '(none)'
# You may wish to override the track display names. Normally the track ID is displayed,
# which is lowercase and stored in the database. If you want a different name to be displayed
# for the track, write it here.
#
# This option affects the %TRACK% variable but not the %TRACK_ID% variable.
track-display-names:
spam: 'Spamming'
hacking: 'Hacking'
# How should the console be displayed?
console-display: 'Console'
# When using /blame, how should the console be specified?
console-arguments:
- 'console'
# How should punishment types be displayed?
punishment-type-display:
WARN: 'Warn'
KICK: 'Kick'
BAN: 'Ban'
MUTE: 'Mute'
# How should punishment types be displayed as a verb? Used for the %TYPE_VERB% variable.
punishment-type-verb-display:
WARN: 'Warned'
KICK: 'Kicked'
BAN: 'Banned'
MUTE: 'Muted'
# How should the global scope be displayed?
global-scope-display: 'All servers'
# Controls how victims are displayed
victim-display:
# In rare cases, you may have punishments for a user whose name is unknown. This can happen because
# users are punished by UUID, but on some configurations it is not possible to lookup player names.
# When this occurs, the following text is used instead of the player name.
player-name-unknown: '-NameUnknown-'
# Whether to censor IP addresses for players without the libertybans.admin.viewips permission
censor-ip-addresses: false
# The substitute text when an IP address cannot be viewed because the user lacks permission
censored-ip-address: '<censored IP address>'
misc:
unknown-error: '&cAn unknown error occurred.'
# Only applicable if synchronous enforcement strategy is DENY in the main config
sync-chat-denial-message: '&cSynchronous chat denied. &7Please try again.'
# Concerns formatting of relative times and durations
time:
# Times are formatted to seconds accuracy, but you may not want to display seconds
# for most times. However, for very small durations, you need to display a value in seconds.
# If you are using SECONDS in the above section, this value is meaningless.
fallback-seconds: '%VALUE% seconds'
grammar:
# If enabled, places commas after each time fragment, except the last one
comma: true
# What should come before the last fragment? Set to empty text to disable
and: 'and '
fragments:
MINUTES: '%VALUE% minutes'
MONTHS: '%VALUE% months'
DAYS: '%VALUE% days'
HOURS: '%VALUE% hours'
YEARS: '%VALUE% years'
WEEKS: '%VALUE% weeks'
# Regards /unban, /unmute, /unwarn
removals:
mutes:
success:
message: '&7Unmuted &c&o%VICTIM%&7.'
notification: '&c&o%UNOPERATOR%&7 unmuted &c&o%VICTIM%&7.'
not-found: '&c&o%TARGET%&7 is not muted.'
usage: '&cUsage: /unmute &e<player>&c.'
permission:
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
warns:
not-a-number: '&c&o%ID_ARG%&7 is not a number.'
success:
message: '&7Unwarned &c&o%VICTIM%&7.'
notification: '&c&o%UNOPERATOR%&7 unwarned &c&o%VICTIM%&7.'
not-found: '&c&o%TARGET%&7 does not have a warn by &c&o%ID%&7.'
usage: '&cUsage: /unwarn &e<player> <id>&c.'
permission:
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
bans:
success:
message: '&7Unbanned &c&o%VICTIM%&7.'
notification: '&c&o%UNOPERATOR%&7 unbanned &c&o%VICTIM%&7.'
not-found: '&c&o%TARGET%&7 is not banned.'
usage: '&cUsage: /unban &e<player>&c.'
permission:
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
admin:
ellipses: '&a...'
reloaded: '&aReloaded'
reload-failed: '&cAn error occurred reloading the configuration. Please check the server console.'
restarted: '&aRestarted'
addons:
reload-addon:
does-not-exist: '&cThat addon does not exist.'
failed: '&cAn error occurred reloading addon configuration. Please check the server console.'
usage: '&cUsage: /libertybans addon reload <addon>. To reload all addons, /libertybans reload will suffice.'
success: '&aReloaded addon &e%ADDON%&a.'
listing:
message: '&b&lAddons Installed'
layout: '&7- %ADDON%'
usage: '&cUsage: /libertybans addon <list|reload>'
no-permission: '&cSorry, you cannot use this.'
importing:
# To prevent mistakes, it is not allowed to import multiple times at once.
in-progress: '&cThere is already an import in progress.'
usage: '&cUsage: /libertybans import <advancedban|litebans|vanilla|self>'
failure: '&cImport failed. View the server console for details.'
started: '&7Import has started. View your server console for details and progress.'
complete: '&7Import completed.'
all:
# If a player types /libertybans but does not have the permission 'libertybans.commands', this is the denial message
base-permission-message: '&cYou may not use this.'
prefix:
# The prefix to use
value: '&6&lLibertyBans &8»&7 '
# If enabled, all messages will be prefixed
enable: false
# This section is only relevant if using the server scopes feature
scopes:
no-permission-for-default: '&cYou may not use this command without specifying a scope.'
no-permission: '&cYou may not use scope &e%SCOPE%&c.'
invalid: '&cInvalid scope specified: &e%SCOPE_ARG%&c.'
# When issuing commands, if the specified player or IP was not found, what should the error message be?
not-found:
player-or-address: '&c&o%TARGET%&7 was not found online or offline, and is not a valid IP address.'
uuid: '&c&o%TARGET%&7 is not a valid uuid.'
player: '&c&o%TARGET%&7 was not found online or offline.'
usage: '&cUnknown sub command. Displaying usage:'

View File

@ -0,0 +1,438 @@
#
# Messages configuration
#
#
# In most cases, the variables inside the default messages are those available
# in that specific message. The exception to this is messages which are related
# to a certain punishment.
#
# When message has an associated punishment, multiple variables are available:
#
# %ID% - punishment ID number
# %TYPE% - punishment type, e.g. 'Ban'
# %TYPE_VERB% - punishment type as a verb, e.g. 'Banned'
# %VICTIM% - display name of the victim of the punishment
# %VICTIM_ID% - internal identifier of victim
# %OPERATOR% - display name of the staff member who made the punishment
# %OPERATOR_ID% - internal identifier of the operator
# %UNOPERATOR% - staff member undoing the punishment. available only when the punishment is undone
# %UNOPERATOR_ID% - internal identifier of staff member undoing the punishment
# %REASON% - reason for the punishment
# %SCOPE% - scope of the punishment
# %DURATION% - original duration (how long the punishment was made for)
# %START_DATE% - the date the punishment was created
# %TIME_PASSED% - the time since the punishment was created
# %TIME_PASSED_SIMPLE% - the time since the punishment was created, rounded to the biggest time unit possible (e.g. 2 months instead of 1 month 23 days)
# %END_DATE% - the date the punishment will end, or formatting.permanent-display.absolute for permanent punishments
# %TIME_REMAINING% - the time until the punishment ends, or formatting.permanent-display.relative for permanent punishments
# %TIME_REMAINING_SIMPLE% - the time until the punishment ends, rounded to the biggest time unit possible (e.g. 10 days instead of 9 days 13 hours)
# %HAS_EXPIRED% - Shows if a punishments duration has run out. Does not check if the punishment is revoked!
#
# The following variables have limited availability:
# %TARGET% - the original target argument of a command. For example, in '/ipban Player1', %TARGET% is Player1
# %NEXTPAGE% - the number of the next page of a list like history
# %PREVIOUSPAGE% - the number of the previous page of a list like history
#
#
# Used for /banlist, /mutelist, /history, /warns, /blame
lists:
warns:
perPage: 10
noPages: '&c&o У %TARGET%&7 нету варнов.'
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
permission:
command: '&7У вас нету прав использовать эту команду.'
layout:
header: '&7[&eID&7] Обвиняющий &8/ &7Причина &8/ &7До снятия'
body: '&7[&e%ID%&7] %OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%'
footer: '&7Страница &e%PAGE%&7.||ttp:Следующая страница||cmd:/libertybans warns %TARGET% %NEXTPAGE%'
usage: '&cИспользование: /warns &e<игрок> [страница]'
blame:
perPage: 10
noPages: '&c&o%TARGET%&7 не наказывал игроков.'
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
permission:
command: '&7У вас нету права использовать эту команду.'
layout:
header:
- '&7[&eID&7] &e&oНаказуемый &8/ &7Вид наказания&f'
- 'Причина &8/ &7Дата принятия'
body:
- '&7[&e%ID%&7] &e&o%VICTIM% &8 / &7%TYPE%&f'
- '%REASON% &8/ &7%START_DATE%'
footer: '&7Страница &e%PAGE%&7.||ttp:Следующая страница||cmd:/libertybans warns %TARGET% %NEXTPAGE%'
usage: '&cИспользование: /blame &e<игрок> [страница]'
ban-list:
perPage: 10
noPages: '&7Нету активных банов.'
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
permission:
command: '&7У вас нету права на использование этой команды.'
layout:
header:
- '&7[&eID&7] &e&oНаказуемый&f'
- '&7Обвиняющий &8/ &7Причина &8/ &7Осталось времени'
body:
- '&7[&e%ID%&7] &e&o%VICTIM%&f'
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%'
footer: '&7Страница &e%PAGE%&7.||ttp:Следующая страница||cmd:/libertybans banlist %NEXTPAGE%'
usage: '&cИспользование: /banlist &e[страница]'
mute-list:
perPage: 10
noPages: '&7Нету активных мутов.'
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
permission:
command: '&7У вас нету права на эту команду'
layout:
header:
- '&7[&eID&7] &e&oНаказуемый&f'
- '&7Обвиняющий &8/ &7Причина &8/ &7Осталось времени'
body:
- '&7[&e%ID%&7] &e&o%VICTIM%&f'
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%'
footer: '&7Страница &e%PAGE%&7.||ttp:Следующая страница||cmd:/libertybans mutelist %NEXTPAGE%'
usage: '&cИспользование: /mutelist &e[страница]'
history:
perPage: 10
noPages: '&c&o%TARGET%&7 чист.'
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
permission:
command: '&7У вас нету права на использование данной команды.'
layout:
header:
- '&7[&eID&7] &8/ &7Вид наказания&f'
- 'Обвиняющий &8/ &7Причина &8/ &7Дата'
body:
- '&7[&e%ID%&7] / %TYPE%&f'
- '%OPERATOR% &8/ &7%REASON% &8/ &7%START_DATE%'
footer: '&7Страница &e%PAGE%&7.||ttp:Следуюшая страница||cmd:/libertybans history %TARGET% %NEXTPAGE%'
usage: '&cИспользование: /history &e<игрок> [страница]'
all:
# When issuing commands, if the specified player or IP was not found, what should the error message be?
not-found:
player-or-address: '&c&o%TARGET%&7 не был/было найден(o).'
uuid: '&c&o%TARGET%&7 - неправильный формат uuid.'
player: '&c&o%TARGET%&7 не был найден.'
# If a player types /libertybans but does not have the permission 'libertybans.commands', this is the denial message
base-permission-message: '&cТы уверен, что оно тебе нужно? К слову, права на эту команду у тебя нет.'
prefix:
# If enabled, all messages will be prefixed
enable: false
# The prefix to use
value: '&6&lLibertyBans &8»&7 '
usage: '&cНеизвестная подкоманда. Может ты имел ввиду это?'
#
# Messages regarding /ban, /mute, /warn, /kick
# Includes punishment layouts
#
#
additions:
warns:
success:
notification: '&c&o%OPERATOR%&7 выдал варн &c&o%VICTIM%&7 на &a&o%DURATION%&7 по причине &e&o%REASON%&7.'
message: '&c&o%VICTIM%&a получил варн на &o%DURATION%&r&a по причине &e&o%REASON%&a.'
usage: '&cИспользование: /warn &e<игрок> [время] <причина>&c.'
layout:
- '&7&lВы получили варн!&f'
- '&cДлительность: &e%TIME_REMAINING%&f'
- ''
- '&cПричина:&f'
- '&7%REASON%'
permission:
duration: '&cВам нельзя варнить игроков на &e%DURATION%&c.'
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cВам нельзя варнить других игроков.'
ip-address: '&cВам нельзя варнить по ip-адресу.'
kicks:
success:
notification: '&c&o%OPERATOR%&7 кикнул &c&o%VICTIM%&7 по причине &e&o%REASON%&7.'
message: '&c&o%VICTIM%&a был кикнут по причине &e&o%REASON%&a.'
must-be-online: '&c&o%TARGET%&7 must be online.'
usage: '&cИспользование: /kick &e<игрок> <причина>&c.'
layout:
- '&7&lВас кикнули!&f'
- ''
- '&cПричина:&f'
- '&7%REASON%'
permission:
both: '&cВам нельзя кикать игроков.'
uuid: '&cВам нельзя кикать игроков по uuid/нику.'
ip-address: '&cВам нельзя кикать по ip-адресу.'
bans:
conflicting: '&c&o%TARGET%&7 уже заблокирован.'
success:
notification: '&c&o%OPERATOR%&7 заблокировал &c&o%VICTIM%&7 на &a&o%DURATION%&7 по причине &e&o%REASON%&7.'
message: '&c&o%VICTIM%&a заблокирован на &o%DURATION%&r&a по причине &e&o%REASON%&a.'
usage: '&cИспользование: /ban &e<игрок> [длительность] <причина>&c.'
layout:
- '&7&lВы заблокированы на этом сервере.&f'
- '&cДлительность бана: &e%TIME_REMAINING%&f'
- ''
- '&cПричина&f'
- '&7%REASON%&f'
- ''
- '&3По поводу разбана пишите администрации:&f'
- '&cWebsite: &7https://bebrashield.net&f'
permission:
duration: '&cТебе нельзя банить на &e%DURATION%&c.'
both: '&cВы не можете блокировать игроков.'
uuid: '&cВы не можете банить игроков по uuid/нику.'
ip-address: '&cВы не можете банить игроков по ip!.'
mutes:
conflicting: '&c&o%TARGET%&7 уже заглушён.'
success:
notification: '&c&o%OPERATOR%&7 заглушил &c&o%VICTIM%&7 на &a&o%DURATION%&7 по причине &e&o%REASON%&7.'
message: '&c&o%VICTIM%&a заглушён на &o%DURATION%&r&a по причине &e&o%REASON%&a.'
usage: '&cИспользование: /mute &e<игрок> [длительность] <причина>&c.'
layout:
- '&7&lВы получили мут!&f'
- '&cДлительность: &e%TIME_REMAINING%&f'
- ''
- '&cПричина:&f'
- '&7%REASON%'
permission:
duration: '&cВам нельзя мутить на &e%DURATION%&c.'
both: '&cВы не можете мутить игроков.'
uuid: '&cВы не можете мутить игроков по uuid/нику.'
ip-address: '&cВы не можете мутить игроков по ip-адресу.'
# Regards /unban, /unmute, /unwarn
removals:
warns:
success:
notification: '&c&o%UNOPERATOR%&7 снял предупреждение с &c&o%VICTIM%&7.'
message: '&7C &c&o%VICTIM% &7снято предупреждение.'
not-found: 'У &c&o%TARGET%&7 нету предупреждений с id &c&o%ID%&7.'
not-a-number: '&c&o%ID_ARG%&7 не является номером.'
usage: '&cИспользование: /unwarn &e<игрок> <id>&c.'
permission:
both: '&cВы не можете снимать предупреждения.'
uuid: '&cВы не можете снимать предупрежедния по uuid/нику.'
ip-address: '&cВы не можете снимать предупреждения по ip-адресу.'
bans:
success:
notification: '&c&o%UNOPERATOR%&7 разбанил &c&o%VICTIM%&7.'
message: '&7Снят бан с аккаунта &c&o%VICTIM%&7.'
not-found: '&c&o%TARGET%&7 не заблокирован.'
usage: '&cИспользование: /unban &e<игрок>&c.'
permission:
both: '&cВы не можете разбанивать игроков..'
uuid: '&cВы не можете разбанивать игроков по uuid/нику.'
ip-address: '&cВы не можете разбанивать игроков по ip-адресу.'
mutes:
success:
notification: '&c&o%UNOPERATOR%&7 размутил &c&o%VICTIM%&7.'
message: '&7С &c&o%VICTIM%&7 снят мут.'
not-found: '&c У &o%TARGET%&7 нету мута.'
usage: '&cИспользование: /unmute &e<игрок>&c.'
permission:
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cВам нельзя размучивать других игроков.'
ip-address: '&cВам нельзя размучивать по ip-адрессу.'
# Specific formatting options
formatting:
# When using /blame, how should the console be specified?
console-arguments:
- 'console'
# How should 'permanent' be displayed as a length of time?
permanent-display:
# When does a permanent punishment end?
absolute: 'Никогда'
# What do you call a permanent duration?
duration: 'Бесконечное'
# How do you describe the time remaining in a permanent punishment?
relative: 'Навеки вечные'
# When there is no more time remaining in a punishment (the punishment has expired),
# this becomes the value of the %TIME_REMAINING% variable
no-time-remaining-display: 'N/A'
# How should the %HAS_EXPIRED% variable be displayed?
punishment-expired-display:
# How do you describe an expired punishment?
expired: 'Более неактивен'
# How do you describe a punishment which is not expired?
not-expired: 'Активен'
# How should the console be displayed?
console-display: 'Консоль'
# How should punishment types be displayed?
punishment-type-display:
WARN: 'Предупрежедние'
MUTE: 'Мут'
KICK: 'Кик'
BAN: 'Бан'
# How should punishment types be displayed as a verb? Used for the %TYPE_VERB% variable.
punishment-type-verb-display:
WARN: 'Предупрежден'
KICK: 'Кикнут'
MUTE: 'Заглушен'
BAN: 'Заблокирован'
# How should the global scope be displayed?
global-scope-display: 'Все сервера'
# There are 2 ways to make permanent punishments. The first is to not specify a time (/ban <player> <reason>).
# The second is to specify a permanent amount of time (/ban <player> perm <reason>).
# When typing commands, what time arguments will be counted as permanent?
permanent-arguments:
- 'perm'
- 'permanent'
- 'permanently'
misc:
# Concerns formatting of relative times and durations
time:
grammar:
# What should come before the last fragment? Set to empty text to disable
and: 'и '
# If enabled, places commas after each time fragment, except the last one
comma: true
# Times are formatted to seconds accuracy, but you may not want to display seconds
# for most times. However, for very small durations, you need to display a value in seconds.
# If you are using SECONDS in the above section, this value is meaningless.
fallback-seconds: '%VALUE% секунд(ы)'
fragments:
MONTHS: '%VALUE% месяцев'
MINUTES: '%VALUE% минут(ы)'
WEEKS: '%VALUE% недель'
HOURS: '%VALUE% час(а/ов)'
DAYS: '%VALUE% дней'
YEARS: '%VALUE% лет'
unknown-error: '&cПроизошла неизвестная ошибка.'
# Only applicable if synchronous enforcement strategy is DENY in the main config
sync-chat-denial-message: '&cСинхронный чат отключён. &7Попробуйте еще раз позже.'
admin:
importing:
failure: '&cИмпорт данных завершился! Больше информации в консоли.'
started: '&7Импорт данных закончился неудачей. Больше информации в консоли.'
complete: '&7Импорт данных успешно завершён.'
# To prevent mistakes, it is not allowed to import multiple times at once.
in-progress: '&cИмпорт данных уже запущен! Пожалуйста, дождитесь его окончания.'
usage: '&cИспользование: /libertybans import <advancedban|litebans|vanilla>'
ellipses: '&a...'
reloaded: '&aПерезагружено'
restarted: '&aПерезапущено'
no-permission: '&Извините, но вам не дозволено использовать это.'
# Messages for alt-checks and alt account notifications
#
# Before configuring this section, it is necessary to look at the address-enforcement
# settings in the main config.yml and understand the different kinds of alt detection.
# There is normal and strict detection.
alts:
# Regarding the /alts command
command:
# The message to display atop the alt check. Set to an empty string to disable
header:
- '&7Возможные фейковые аккаунты игрока &c&o%TARGET%&f'
- '&7Большая вероятность - У игрока тот же адресс, что и у заблокированного игрока.&f'
- '&7Небольшая вероятность - У игроков один и тот же предыдущий адрес.'
permission: '&cВам не дозволено проверять твинки.'
none-found: '&7Не найдено фейковых аккаунтов.'
usage: '&cИспользование: /alts &e<игрок>&c.'
formatting:
# The description for an alt account detected by strict detection.
strict: '&eНебольшая вероятность'
# The description for an alt account detected by normal detection.
normal: '&cБольшая вероятность'
# In the alt-check layout, the username of the alt may be formatted depending upon whether it is banned
# For example, the usernames of banned alts may be colored red whereas alts not banned are green
# Variables: %USERNAME%
name-display:
not-punished: '&o%USERNAME%'
banned: '&c&o%USERNAME%'
muted: '&e&o%USERNAME%'
# How a single detected alt should be displayed
# Available variables:
# %DETECTION_KIND% - how the account was detected. Will be replaced by the normal or strict options.
# %ADDRESS% - the address in question which led to the detection
# %RELEVANT_USER% - the username of the other account, formatted according to the name-display option
# %RELEVANT_USERID% - the uuid of the other account
# %DATE_RECORDED% - the date the alt account was recorded
layout: '%RELEVANT_USER% &7(%ADDRESS%) на %DATE_RECORDED% - %DETECTION_KIND%'
auto-show:
# The message to display atop the alt check. Set to an empty string to disable
header:
- 'Возможно, &c&o%TARGET%&7. - фейковый аккаунт.&f'
- '&7Большая вероятность - У игрока тот же адрес, что и у заблокированного игрока.&f'
- '&7Небольшая вероятность - У игроков один и тот же предыдущий адрес.'
# Configuration for the /accounthistory command
account-history:
# Pertains to /accounthistory delete <user> <timestamp>
delete:
permission: '&cВы не можете удалять записанные аккаунты.'
no-such-account: '&c У %TARGET% не было записанных акаунтов в тот момент времени.'
usage:
- '&cИспользование: /accounthistory delete <пользователь> <момент времент>.&f'
- '&7Момент времени измеряется в секундах. Вы можете использовать /accounthistory list для того, чтобы подглядеть возможные значения.'
success: '&7Записанный у &e%TARGET% &7аккаунт успешно удалён.'
# Regards /accounthistory list <user>
listing:
# The message to display before the account listing. Set to an empty string to disable
header: '&7Известные аккаунты у &c&o%TARGET%&7:.'
permission: '&cВы не можете просматривать записанные аккаунты.'
none-found: '&7Не найдено записанных акаунтов.'
usage: '&cИспользование: /accounthistory list <user|ip>'
# How a single recorded account should be displayed
# Available variables:
# %TARGET% - the original input to the command
# %USERNAME% - the username the player connected with
# %ADDRESS% - the address the player connected with
# %DATE_RECORDED% - the date the join was recorded
# %DATE_RECORDED_RAW% - the raw timestamp the join was recorded
layout: '%USERNAME% &7(%ADDRESS%) на %DATE_RECORDED% (%DATE_RECORDED_RAW%)||ttp:&7Нажми здесь, чтобы удалить аккаунт||cmd:/accounthistory delete %TARGET% %DATE_RECORDED_RAW%'
usage: '&cИспользование: /accounthistory <delete|list>'

View File

@ -0,0 +1,48 @@
# This file is for proxies like BungeeCord and Velocity. It is irrelevant for single servers.
# It controls scope-related settings for this particular server on the network.
#
# Unlike other configuration files, one should NOT copy the scope.yml across multiple server instances
# Whether to require permissions for using scopes:
# - libertybans.scope.global, libertybans.scope.server.<server>, and libertybans.scope.category.<category>
# become requirements to use the relevant scopes explicitly.
# - libertybans.scope.default must be granted to use commands without a scope argument
require-permissions: false
# The default scope used to punish players
#
# GLOBAL - uses the global scope
# THIS_SERVER - applies to this server only via the server name
# PRIMARY_CATEGORY - uses the first category listed in 'categories-applicable-to-this-server'.
#
# If you use PRIMARY_CATEGORY but no categories are configured, a warning is printed and THIS_SERVER is used.
default-punishing-scope: 'GLOBAL'
# The scope categories applicable to this server
#
# For example, multiple servers might fall under the 'kitpvp' category,
# then staff members may use '-category=kitpvp' to create punishment applying to these servers
categories-applicable-to-this-server: []
# Controls how the name of this server is detected for use with the server scope.
#
# The server name should correspond to the name of the backend server as configured on the proxy.
# The name of the proxy itself is 'proxy' by default, unless overridden.
server-name:
# Auto detection requires a player to have logged in. But you might punish players, e.g. via console, before that.
# By default, if auto detection has not yet occurred, the global scope will be used as a fallback.
# The fallback scope may be configured here to something else.
fallback-if-auto-detect-fails: '*'
# By default, we try to detect the name of this backend server using plugin messaging.
# Make sure 'use-plugin-messaging' is enabled in the config.yml for this detection to succeed.
#
# If running a proxy, the detected name becomes 'proxy'.
#
# Plugin messaging requires at least one player to have logged into the backend server.
# Auto detection may fail, for example, if you ban someone through the console but no one has joined yet.
#
# To disable auto detection, set this to false then configure 'override-value' to the server name you wish to use.
# Re-enabling this option may require a restart (/libertybans restart)
auto-detect: true
# If auto detection is disabled, this option should be set to the name of the server.
#
# Server names should be unique, but this is not a strict requirement.
# If you want a scope applying to multiple servers, you should use categories instead.
override-value: 'myserver'

View File

@ -0,0 +1,119 @@
#
# SQL Database settings
#
# For most servers, the default options here are perfect. Most users will not need to bother here.
#
# However, for servers wishing to use an external database, or for large servers wishing to tweak performance,
# further configuration is made here.
#
# Database version requirements:
# - MariaDB: Requires MariaDB 10.6 or newer.
# - MySQL: Requires MySQL 8.0 or newer.
# - PostgreSQL: Requires PostgreSQL 12 or newer.
# - CockroachDB: Requires the latest version. Support for this database is experimental.
#
# Older versions of these respective databases are not supported.
#
# Information on character sets and encoding:
# - MariaDB: UTF8 is configured automatically
# - MySQL: UTF8 is configured automatically
# - PostgreSQL: UTF8 is used for the client encoding. It may be necessary to configure the database collation to use UTF8.
# - CockroachDB: This database uses UTF8 regardless.
#
# Note well:
# To apply changes made here, use '/libertybans restart' or restart the server.
# Using '/libertybans reload' will NOT update your database settings!
#
#
#
# Settings for synchronizing multiple LibertyBans instances.
synchronization:
# How frequently the database is polled for updates, in milliseconds.
# Usually the default setting of 4 seconds will be sufficiently responsive without querying the database too often
# If you want to increase responsiveness, lower this value. If you want to reduce database load, increase this value.
#
# This value MUST be less than 30 seconds.
poll-rate-millis: 4000
# Availalble synchronization options:
# NONE - no synchronization
# ANSI_SQL - uses your database to synchronize punishments (called ANSI_SQL because it uses standard SQL)
# Other options may be added in the future, upon feature request.
mode: 'NONE'
# All punishments are stored fully in the database, with one exception.
# Mutes are cached for a small period of time so that players' chatting does not
# flood your database with queries.
#
# Note: It is likely you do not need to touch this.
mute-caching:
# How the expiration time should be used. EXPIRE_AFTER_ACCESS is the default,
# which means that a cached mute's expiration time will be reset each time it is used.
#
# Set this to EXPIRE_AFTER_WRITE if there is any program or other instance of LibertyBans
# which may modify mutes in the database outside of this instance of LibertyBans.
# For example, if you are using a third-party tool which can delete or add mutes,
# EXPIRE_AFTER_WRITE is the correct semantic.
#
# If you are using multi-instance synchronization, this option is set automatically
# and you do not need to configure it.
#
# EXPIRE_AFTER_WRITE will expire the cached mute after a fixed time has elapsed
# since the mute was fetched. With EXPIRE_AFTER_ACCESS, the expiration time
# will refresh each time the mute is used.
expiration-semantics: 'EXPIRE_AFTER_ACCESS'
# How long it takes a mute to expire
expiration-time-seconds: 20
#
# Connection timeout settings
# LibertyBans uses HikariCP for connection pooling. The following settings control connection timeouts.
timeouts:
# How long, at maximum, should LibertyBans wait when acquiring new connections, if no existing connection is available?
connection-timeout-seconds: 14
# How long, at maxium, should a connection in the pool last before having to be recreated?
# "This value should be set for MariaDB or MySQL. HikariCP notes:
# "It should be several seconds shorter than any database or infrastructure imposed connection time limit"
max-lifetime-minutes: 25
# Authentication details for remote databases: used for MariaDB, MySQL, PostgreSQL, and CockroachDB.
auth-details:
host: '_LIBERTYBANS_DB_HOST_'
port: _LIBERTYBANS_DB_PORT_
database: '_LIBERTYBANS_DB_NAME_'
user: '_LIBERTYBANS_DB_USERNAME_'
password: '_LIBERTYBANS_DB_PASSWORD_'
# The values in this section only apply when using a MariaDB or MySQL database
mariadb:
# Connection properties to be applied to database connections
connection-properties:
cachePrepStmts: 'true'
useUnicode: 'true'
prepStmtCacheSqlLimit: '1024'
characterEncoding: 'UTF-8'
prepStmtCacheSize: '25'
useServerPrepStmts: 'true'
# The values in this section only apply when using a PostgreSQL or CockroachDB database
postgres:
# Connection properties to be applied to database connections
connection-properties:
preparedStatementCacheQueries: '25'
# Legacy option. Don't touch this unless you understand it or you're told to enable it.
use-traditional-jdbc-url: false
# What RDMS vendor will you be using?
# Available options:
# 'HSQLDB' - Local HyperSQL database. No additional requirements.
# 'MARIADB' - Requires an external MariaDB database. At least MariaDB 10.6 is required.
# 'MYSQL' - Requires an external MySQL database. At least MySQL 8.0 is required.
# 'POSTGRES' - Requires an external PostgreSQL database. At least PostgreSQL 12 is required.
# 'COCKROACH' - Requires an external CockroachDB database. The latest CockroachDB is required. Warning: this option is strictly experimental.
rdms-vendor: 'MARIADB'
#
# How large should the connection pool be?
# A thread pool of similar size is derived from the connection pool size.
# For most servers, the default option is suitable.
connection-pool-size: 6

BIN
src/plugins/LibertyBans_Release-1.1.0.jar (Stored with Git LFS) Normal file

Binary file not shown.

BIN
src/plugins/LightningGrim-bukkit-2.3.72-db5a1be.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -31,7 +31,7 @@
# - When set to "global" this setting is effectively ignored.
# - In all other cases, the value here is added to all players in a "server" context.
# - See: https://luckperms.net/wiki/Context
server: lobby
server: survival
# If the servers own UUID cache/lookup facility should be used when there is no record for a player
# already in LuckPerms.
@ -404,11 +404,13 @@ 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,413 @@
version: 4
general:
checkForUpdates: true
updateOnBlockDamage: true
bypassNotification: true
ignoreSpectator: false
updateRadius: 2
advanced:
verbose: false
obfuscation:
threads: -1
timeout: 10000
maxMillisecondsPerTick: 10
proximity:
threads: -1
defaultBucketSize: 50
threadCheckInterval: 50
playerCheckInterval: 5000
cache:
enabled: true
memoryCache:
maximumSize: 32768
expireAfterAccess: 60000
diskCache:
enabled: true
directory: orebfuscator_cache
maximumOpenFiles: 256
deleteFilesAfterAccess: 21600000
maximumTaskQueueSize: 32768
obfuscation:
obfuscation-overworld:
enabled: true
minY: -2032
maxY: 2031
worlds:
- world
layerObfuscation: false
hiddenBlocks:
- minecraft:emerald_ore
- minecraft:deepslate_emerald_ore
- minecraft:diamond_ore
- minecraft:deepslate_diamond_ore
- minecraft:gold_ore
- minecraft:deepslate_gold_ore
- minecraft:raw_gold_block
- minecraft:iron_ore
- minecraft:deepslate_iron_ore
- minecraft:raw_iron_block
- minecraft:coal_ore
- minecraft:deepslate_coal_ore
- minecraft:lapis_ore
- minecraft:deepslate_lapis_ore
- minecraft:redstone_ore
- minecraft:deepslate_redstone_ore
- minecraft:copper_ore
- minecraft:raw_copper_block
- minecraft:deepslate_copper_ore
- minecraft:stone
- minecraft:deepslate
- minecraft:chest
- minecraft:ender_chest
- minecraft:trapped_chest
- minecraft:shulker_box
- minecraft:white_shulker_box
- minecraft:orange_shulker_box
- minecraft:magenta_shulker_box
- minecraft:light_blue_shulker_box
- minecraft:yellow_shulker_box
- minecraft:lime_shulker_box
- minecraft:pink_shulker_box
- minecraft:gray_shulker_box
- minecraft:light_gray_shulker_box
- minecraft:cyan_shulker_box
- minecraft:purple_shulker_box
- minecraft:blue_shulker_box
- minecraft:brown_shulker_box
- minecraft:green_shulker_box
- minecraft:red_shulker_box
- minecraft:black_shulker_box
- minecraft:bedrock
randomBlocks:
section-global:
minY: -2032
maxY: 2031
blocks:
minecraft:cave_air: 5
minecraft:cobblestone: 1
minecraft:mossy_cobblestone: 1
minecraft:obsidian: 1
section-stone:
minY: -5
maxY: 2031
blocks:
minecraft:stone: 15
minecraft:diamond_ore: 10
minecraft:emerald_ore: 5
minecraft:gold_ore: 5
minecraft:iron_ore: 5
minecraft:copper_ore: 5
minecraft:coal_ore: 5
minecraft:lapis_ore: 5
minecraft:redstone_ore: 5
section-deepslate:
minY: -2032
maxY: 5
blocks:
minecraft:deepslate: 15
minecraft:deepslate_diamond_ore: 10
minecraft:deepslate_emerald_ore: 5
minecraft:deepslate_gold_ore: 5
minecraft:deepslate_iron_ore: 5
minecraft:deepslate_copper_ore: 5
minecraft:deepslate_coal_ore: 5
minecraft:deepslate_lapis_ore: 5
minecraft:deepslate_redstone_ore: 5
section-bedrock:
minY: -64
maxY: -60
blocks:
minecraft:bedrock: 20
obfuscation-nether:
enabled: true
minY: -2032
maxY: 2031
worlds:
- world_nether
layerObfuscation: false
hiddenBlocks:
- minecraft:netherrack
- minecraft:nether_quartz_ore
- minecraft:chest
- minecraft:ender_chest
- minecraft:trapped_chest
- minecraft:shulker_box
- minecraft:white_shulker_box
- minecraft:orange_shulker_box
- minecraft:magenta_shulker_box
- minecraft:light_blue_shulker_box
- minecraft:yellow_shulker_box
- minecraft:lime_shulker_box
- minecraft:pink_shulker_box
- minecraft:gray_shulker_box
- minecraft:light_gray_shulker_box
- minecraft:cyan_shulker_box
- minecraft:purple_shulker_box
- minecraft:blue_shulker_box
- minecraft:brown_shulker_box
- minecraft:green_shulker_box
- minecraft:red_shulker_box
- minecraft:black_shulker_box
- minecraft:ancient_debris
- minecraft:nether_gold_ore
- minecraft:basalt
- minecraft:soul_sand
- minecraft:soul_soil
- minecraft:bedrock
randomBlocks:
section-global:
minY: -2032
maxY: 2031
blocks:
minecraft:netherrack: 4
minecraft:nether_quartz_ore: 1
minecraft:nether_gold_ore: 1
minecraft:ancient_debris: 1
section-bedrock-top:
minY: 123
maxY: 127
blocks:
minecraft:bedrock: 20
section-bedrock-bottom:
minY: 0
maxY: 4
blocks:
minecraft:bedrock: 20
obfuscation-end:
enabled: true
minY: -2032
maxY: 2031
worlds:
- world_the_end
layerObfuscation: false
hiddenBlocks:
- minecraft:chest
- minecraft:ender_chest
- minecraft:trapped_chest
- minecraft:shulker_box
- minecraft:white_shulker_box
- minecraft:orange_shulker_box
- minecraft:magenta_shulker_box
- minecraft:light_blue_shulker_box
- minecraft:yellow_shulker_box
- minecraft:lime_shulker_box
- minecraft:pink_shulker_box
- minecraft:gray_shulker_box
- minecraft:light_gray_shulker_box
- minecraft:cyan_shulker_box
- minecraft:purple_shulker_box
- minecraft:blue_shulker_box
- minecraft:brown_shulker_box
- minecraft:green_shulker_box
- minecraft:red_shulker_box
- minecraft:black_shulker_box
randomBlocks:
section-global:
minY: -2032
maxY: 2031
blocks:
minecraft:end_stone: 1
minecraft:end_stone_bricks: 1
minecraft:bedrock: 1
minecraft:obsidian: 1
minecraft:purpur_block: 1
proximity:
proximity-overworld:
enabled: true
minY: -2032
maxY: 2031
worlds:
- world
distance: 24
frustumCulling:
enabled: true
minDistance: 3.0
fov: 80.0
rayCastCheck:
enabled: true
onlyCheckCenter: true
useBlockBelow: true
hiddenBlocks:
minecraft:mossy_cobblestone: {}
minecraft:diamond_ore: {}
minecraft:deepslate_diamond_ore: {}
minecraft:emerald_ore: {}
minecraft:deepslate_emerald_ore: {}
minecraft:chest: {}
minecraft:ender_chest: {}
minecraft:trapped_chest: {}
minecraft:anvil: {}
minecraft:crafter: {}
minecraft:crafting_table: {}
minecraft:dispenser: {}
minecraft:enchanting_table: {}
minecraft:furnace: {}
minecraft:blast_furnace: {}
minecraft:cartography_table: {}
minecraft:fletching_table: {}
minecraft:grindstone: {}
minecraft:composter: {}
minecraft:lectern: {}
minecraft:loom: {}
minecraft:smithing_table: {}
minecraft:smoker: {}
minecraft:stonecutter: {}
minecraft:hopper: {}
minecraft:spawner: {}
minecraft:shulker_box: {}
minecraft:white_shulker_box: {}
minecraft:orange_shulker_box: {}
minecraft:magenta_shulker_box: {}
minecraft:light_blue_shulker_box: {}
minecraft:yellow_shulker_box: {}
minecraft:lime_shulker_box: {}
minecraft:pink_shulker_box: {}
minecraft:gray_shulker_box: {}
minecraft:light_gray_shulker_box: {}
minecraft:cyan_shulker_box: {}
minecraft:purple_shulker_box: {}
minecraft:blue_shulker_box: {}
minecraft:brown_shulker_box: {}
minecraft:green_shulker_box: {}
minecraft:red_shulker_box: {}
minecraft:black_shulker_box: {}
minecraft:bee_nest: {}
minecraft:beehive: {}
randomBlocks:
section-stone:
minY: -5
maxY: 2031
blocks:
minecraft:stone: 1
section-deepslate:
minY: -2032
maxY: 5
blocks:
minecraft:deepslate: 1
proximity-nether:
enabled: true
minY: -2032
maxY: 2031
worlds:
- world_nether
distance: 24
frustumCulling:
enabled: true
minDistance: 3.0
fov: 80.0
rayCastCheck:
enabled: true
onlyCheckCenter: true
useBlockBelow: true
hiddenBlocks:
minecraft:chest: {}
minecraft:ender_chest: {}
minecraft:trapped_chest: {}
minecraft:anvil: {}
minecraft:crafter: {}
minecraft:crafting_table: {}
minecraft:dispenser: {}
minecraft:enchanting_table: {}
minecraft:furnace: {}
minecraft:blast_furnace: {}
minecraft:cartography_table: {}
minecraft:fletching_table: {}
minecraft:grindstone: {}
minecraft:composter: {}
minecraft:lectern: {}
minecraft:loom: {}
minecraft:smithing_table: {}
minecraft:smoker: {}
minecraft:stonecutter: {}
minecraft:hopper: {}
minecraft:spawner: {}
minecraft:shulker_box: {}
minecraft:white_shulker_box: {}
minecraft:orange_shulker_box: {}
minecraft:magenta_shulker_box: {}
minecraft:light_blue_shulker_box: {}
minecraft:yellow_shulker_box: {}
minecraft:lime_shulker_box: {}
minecraft:pink_shulker_box: {}
minecraft:gray_shulker_box: {}
minecraft:light_gray_shulker_box: {}
minecraft:cyan_shulker_box: {}
minecraft:purple_shulker_box: {}
minecraft:blue_shulker_box: {}
minecraft:brown_shulker_box: {}
minecraft:green_shulker_box: {}
minecraft:red_shulker_box: {}
minecraft:black_shulker_box: {}
minecraft:bee_nest: {}
minecraft:beehive: {}
minecraft:ancient_debris: {}
minecraft:nether_gold_ore: {}
minecraft:respawn_anchor: {}
randomBlocks:
section-global:
minY: -2032
maxY: 2031
blocks:
minecraft:netherrack: 1
proximity-end:
enabled: true
minY: -2032
maxY: 2031
worlds:
- world_the_end
distance: 24
frustumCulling:
enabled: true
minDistance: 3.0
fov: 80.0
rayCastCheck:
enabled: true
onlyCheckCenter: true
useBlockBelow: true
hiddenBlocks:
minecraft:chest: {}
minecraft:ender_chest: {}
minecraft:trapped_chest: {}
minecraft:anvil: {}
minecraft:crafter: {}
minecraft:crafting_table: {}
minecraft:dispenser: {}
minecraft:enchanting_table: {}
minecraft:furnace: {}
minecraft:blast_furnace: {}
minecraft:cartography_table: {}
minecraft:fletching_table: {}
minecraft:grindstone: {}
minecraft:composter: {}
minecraft:lectern: {}
minecraft:loom: {}
minecraft:smithing_table: {}
minecraft:smoker: {}
minecraft:stonecutter: {}
minecraft:hopper: {}
minecraft:spawner: {}
minecraft:shulker_box: {}
minecraft:white_shulker_box: {}
minecraft:orange_shulker_box: {}
minecraft:magenta_shulker_box: {}
minecraft:light_blue_shulker_box: {}
minecraft:yellow_shulker_box: {}
minecraft:lime_shulker_box: {}
minecraft:pink_shulker_box: {}
minecraft:gray_shulker_box: {}
minecraft:light_gray_shulker_box: {}
minecraft:cyan_shulker_box: {}
minecraft:purple_shulker_box: {}
minecraft:blue_shulker_box: {}
minecraft:brown_shulker_box: {}
minecraft:green_shulker_box: {}
minecraft:red_shulker_box: {}
minecraft:black_shulker_box: {}
minecraft:bee_nest: {}
minecraft:beehive: {}
randomBlocks:
section-global:
minY: -2032
maxY: 2031
blocks:
minecraft:end_stone: 1

BIN
src/plugins/PatPat Plugin-1.2.0.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,16 @@
{
"_info": {
"_comment": "DON'T CHANGE ANYTHING IN THIS SECTOR!",
"_doc": "Documentation: https://github.com/LopyMine/PatPat-Plugin/blob/main/doc/en/config.md",
"version": "1.0.0"
},
"debug": false,
"listMode": "DISABLED",
"rateLimit": {
"enabled": false,
"tokenLimit": 20,
"tokenIncrement": 1,
"tokenInterval": "1sec",
"permissionBypass": "patpat.ratelimit.bypass"
}
}

View File

BIN
src/plugins/ProtocolLib.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,21 @@
global:
# Settings for the automatic version updater
auto updater:
notify: true
download: false
# Number of seconds to wait until a new update is downloaded
delay: 43200 # 12 hours
metrics: false
# Prints certain warnings to players with the protocol.info permission
chat warnings: true
# Automatically compile structure modifiers
background compiler: true
# Disable version checking for the given Minecraft version. Backup your world first!
ignore version check:
# Whether or not to enable the filter command
debug: false
# Whether or not to print a stack trace for every warning
detailed error: false
# The engine used by the filter command
script engine: JavaScript
suppressed reports:

View File

@ -0,0 +1 @@
1751878745

View File

@ -56,15 +56,15 @@ messages:
# [!] Make sure to fill in database.connectionOptions if you're using certificate / ssl authentication. [!]
# [!] If you're not using ssl, change sslMode=trust to sslMode=disable [!]
database:
enabled: false
host: localhost
port: 3306
database: db
username: root
password: pass
enabled: true
host: _SKINSRESTORER_DB_HOST_
port: _SKINSRESTORER_DB_PORT_
database: _SKINSRESTORER_DB_NAME_
username: _SKINSRESTORER_DB_USERNAME_
password: '_SKINSRESTORER_DB_PASSWORD_'
maxPoolSize: 10
tablePrefix: sr_
connectionOptions: sslMode=trust&serverTimezone=UTC
connectionOptions: sslMode=disabled&serverTimezone=UTC
############
# Commands #

View File

@ -0,0 +1,14 @@
server:
name: "survival"
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: 9102
authentication:
scheme: "NONE"
username: "username"
password: "password"
pushGateway:
job: "unifiedmetrics"
url: "http://pushgateway:9091"
authentication:
scheme: "NONE"
username: "username"
password: "password"
interval: 10

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

Binary file not shown.

View File

@ -0,0 +1,196 @@
# 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?
check-for-updates: true
# Send the supported versions with the Status (Ping) response packet
send-supported-versions: false
# 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
# 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: []
# Change the blocked disconnect message
block-disconnect-msg: You are using an unsupported Minecraft version!
# 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!
# 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
# This can be disabled for debugging purposes if text in chat/entities/items shows an error tag.
suppress-text-component-conversion-warnings: true
#
#----------------------------------------------------------#
# 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!
#
# 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
# How many warnings over the interval can we have
# This can never be higher than "tracking-period"?
tracking-max-warnings: 4
# The kick message sent if the user hits the max packets per second.
tracking-max-kick-msg: You are sending too many packets, :(
#
#----------------------------------------------------------#
# MULTIPLE VERSIONS OPTIONS #
#----------------------------------------------------------#
#
# Whether to make sure ViaVersion's UserConnection object is already available in the PlayerJoinEvent.
# You may disable this for faster startup/join time if you are 100% sure no plugin requires this.
register-userconnections-on-join: true
# 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
# 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
# Experimental - Should we fix shift quick move action for 1.12 clients (causes shift + double click not to work when moving items) (only works on 1.8-1.11.2 bukkit based servers)
quick-move-action-fix: false
# Should we use prefix for team color on 1.13 and above clients?
team-colour-fix: true
# 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
# 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
# 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
# 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
# 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
# This prevents clients using 1.9-1.13 on 1.8 servers from receiving no knockback/having velocity bugs whilst sneaking under a block.
change-1_9-hitbox: false
# Similar to the above, but for 1.14+ players on 1.8-1.13 servers.
# WARNING: This gives 1.14+ players the ability to sneak under blocks, that players under that version cannot (sneaking in places that are only 1.5 blocks high)!
# Another thing to remember is that those players might be missed by projectiles and other hits directed at the very top of their head whilst sneaking.
change-1_14-hitbox: 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
# Fixes walk animation not shown when health is set to Float.NaN
fix-1_14-health-nan: true
# Should 1.15+ clients respawn instantly / without showing a death screen?
use-1_15-instant-respawn: false
#
# Enable serverside block-connections for 1.13+ clients - all the options in this section are built around this option
serverside-blockconnections: true
# Sets the method for the block connections (world for highly experimental (USE AT OWN RISK) world-level or packet for packet-level)
blockconnection-method: packet
# 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
# 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
# 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
#
# 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
#
# Force 1.17+ client to accept the server resource pack; they will automatically disconnect if they decline.
forced-use-1_17-resource-pack: false
# The message to be displayed at the prompt when the 1.17+ client receives the server resource pack.
resource-pack-1_17-prompt: ''
#
# 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
#
# Force-update 1.19.4+ player's inventory when they try to swap armor in a pre-occupied slot.
armor-toggle-fix: 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
#
# 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
#
# 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
#
# 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
#
# 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
#
#----------------------------------------------------------#
# 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
# If the above is true, should we automatically team players until you do?
auto-team: true
# When enabled if certain entity data can't be read, we won't tell you about it
suppress-metadata-errors: false
# When enabled, 1.9+ will be able to block by using shields
shield-blocking: true
# 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
# 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
# Should we use nms player to simulate packets, (may fix anti-cheat issues)
nms-player-ticking: true
# Should we patch boss bars so they work? (Default: true, disable if you're having issues)
bossbar-patch: true
# 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
# This will show the new effect indicator in the top-right corner for 1.9+ players.
use-new-effect-indicator: true
# Show the new death messages for 1.9+ on the death screen
use-new-deathmessages: true
# Should we cache our items, this will prevent the server from being lagged out, however, the cost is a constant task caching items
item-cache: true
# 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
# 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
# Allows 1.9+ left-handedness (main hand) on 1.8 servers
left-handed-handling: 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

BIN
src/plugins/orebfuscator-plugin-5.5.4.jar (Stored with Git LFS) Normal file

Binary file not shown.

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

Binary file not shown.

View File

@ -1635,7 +1635,7 @@ world-settings:
place-with-arms-visible: false
arrow:
movement-resets-despawn-counter: true
use-better-mending: false
use-better-mending: true
always-tame-in-creative: false
boat:
eject-players-on-land: false

View File

@ -2,18 +2,18 @@
#Sun Jun 01 22:12:23 EEST 2025
accepts-transfers=false
allow-flight=false
allow-nether=true
allow-nether=false
broadcast-console-to-ops=true
broadcast-rcon-to-ops=true
bug-report-link=
debug=false
difficulty=easy
difficulty=hard
enable-command-block=false
enable-jmx-monitoring=false
enable-query=false
enable-rcon=false
enable-status=true
enforce-secure-profile=true
enforce-secure-profile=false
enforce-whitelist=false
entity-broadcast-range-percentage=100
force-gamemode=false
@ -22,7 +22,7 @@ gamemode=survival
generate-structures=true
generator-settings={}
hardcore=false
hide-online-players=false
hide-online-players=true
initial-disabled-packs=
initial-enabled-packs=vanilla
level-name=world
@ -30,7 +30,7 @@ level-seed=
level-type=minecraft\:normal
log-ips=true
max-chained-neighbor-updates=1000000
max-players=20
max-players=50
max-tick-time=60000
max-world-size=29999984
motd=A Minecraft Server
@ -57,7 +57,7 @@ simulation-distance=10
spawn-animals=true
spawn-monsters=true
spawn-npcs=true
spawn-protection=16
spawn-protection=0
sync-chunk-writes=true
text-filtering-config=
use-native-transport=true

View File

@ -21,7 +21,7 @@ settings:
bungeecord: false
save-user-cache-on-stop-only: false
sample-count: 12
player-shuffle: 0
player-shuffle: 20
user-cache-size: 1000
moved-wrongly-threshold: 0.0625
moved-too-quickly-multiplier: 10.0
@ -65,7 +65,7 @@ world-settings:
thunder-chance: 100000
merge-radius:
item: 0.5
exp: -1.0
exp: 0.5
mob-spawn-range: 8
item-despawn-rate: 6000
arrow-despawn-rate: 1200
@ -101,13 +101,13 @@ world-settings:
glowberry-modifier: 100
pitcherplant-modifier: 100
entity-activation-range:
animals: 32
monsters: 32
raiders: 64
misc: 16
water: 16
villagers: 32
flying-monsters: 32
animals: 0
monsters: 0
raiders: 0
misc: 0
water: 0
villagers: 0
flying-monsters: 0
wake-up-inactive:
animals-max-per-tick: 4
animals-every: 1200
@ -168,7 +168,7 @@ world-settings:
swim-multiplier: 0.01
sprint-multiplier: 0.1
other-multiplier: 0.0
max-tnt-per-tick: 100
max-tnt-per-tick: 0
max-tick-time:
tile: 50
entity: 50