Added Generated Server Files

main
kb01 2024-01-13 04:16:50 +01:00
parent 75e6aa9878
commit c689b658e3
30 changed files with 1022716 additions and 0 deletions

1
.gitignore vendored
View File

@ -15,6 +15,7 @@
*/eula.txt
*/.paper.env
*/.papermc-manifest.json
*/.mc-health.env
*/plugins/.var-list-manifest.json
*/permissions.yml
proxy/lang/*

4
login/login.env Normal file
View File

@ -0,0 +1,4 @@
EULA=TRUE
TYPE=CUSTOM
CUSTOM_SERVER=https://github.com/Nan1t/NanoLimbo/releases/download/v1.6/NanoLimbo-1.6-all.jar
# NanoLimbo https://github.com/Nan1t/NanoLimbo

6
login/server.properties Normal file
View File

@ -0,0 +1,6 @@
#Updated 2024-01-13T00:16:27.277224196Z by mc-image-helper
#Sat Jan 13 00:16:27 UTC 2024
rcon.password=8136255a8a6548b741fdb5b6
white-list=false
rcon.port=25575
enable-rcon=true

131
login/settings.yml Normal file
View File

@ -0,0 +1,131 @@
#
# NanoLimbo configuration
#
# Server's host address and port. Set ip empty to use public address
bind:
ip: ''
port: 65535
# Max amount of players can join to server
# Set -1 to make it infinite
maxPlayers: 100
# Server's data in servers list
ping:
description: '{"text": "&9NanoLimbo"}'
version: 'NanoLimbo'
# Return static protocol version number in ping result
# By default, its -1 to return the client version, if it supported
# https://wiki.vg/Protocol_version_numbers
protocol: -1
# Available dimensions: OVERWORLD, NETHER, THE_END
dimension: THE_END
# Whether to display the player in the player list
# For 1.16.5 clients, player list will be sent even if disabled, to avoid crash
playerList:
enable: false
username: 'NanoLimbo'
# Whether to display header and footer in player list
# For 1.8+ clients
headerAndFooter:
enable: false
header: '{"text": "&eWelcome!"}'
footer: '{"text": "&9NanoLimbo"}'
# Setup player's game mode
# 0 - Survival
# 1 - Creative (hide HP and food bar)
# 2 - Adventure
# 3 - Spectator (hide all UI bars)
# Spectator works on 1.8+ clients
gameMode: 3
# Server name which is shown under F3
# For 1.13+ clients
brandName:
enable: true
content: 'NanoLimbo'
# Message sends when player join to server
joinMessage:
enable: true
text: '{"text": "&eWelcome to the Limbo!"}'
# BossBar displays when player join to server
# For 1.9+ clients
bossBar:
enable: true
text: '{"text": "Welcome to the Limbo!"}'
health: 1.0
# Available colors: PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE
color: PINK
# Available divisions: SOLID, DASHES_6, DASHES_10, DASHES_12, DASHES_20
division: SOLID
# Display title and subtitle
# For 1.8+ clients
title:
enable: true
# Set title text value empty, if you need only subtitle
title: '{"text": "&9&lWelcome!"}'
# Set subtitle text value empty, if you need only title
subtitle: '{"text": "&6NanoLimbo"}'
# Fade in time in ticks (1 sec = 20 ticks)
fadeIn: 10
# Stay time in ticks
stay: 100
# Fade out time in ticks
fadeOut: 10
# Player info forwarding support.
# Available types:
# - NONE
# - LEGACY
# - MODERN
# - BUNGEE_GUARD
# Don't use secret if you not use MODERN type
infoForwarding:
type: MODERN
secret: 'JZ64ENIyVhvQ'
tokens:
- '<BUNGEE_GUARD_TOKEN>'
# Read timeout for connections in milliseconds
readTimeout: 30000
# Define log level. For production, I'd recommend to use level 2
# Log levels:
# 0 - Display only errors
# 1 - Display errors, warnings
# 2 - Display errors, warnings, info
# 3 - Display errors, warnings, info, debug
debugLevel: 2
# Warning! Do not touch params of this block, if you not completely sure what is this!
netty:
# Use Linux native transport type, if it possible
useEpoll: true
# EventLoopGroup threads count
threads:
bossGroup: 1
workerGroup: 4
# [Experimental]
# Options to check incoming traffic and kick potentially malicious connections.
# Take into account that player can send many small packets, for example just moving mouse.
traffic:
# If true, then additional handler will be added to channel pipeline
enable: false
# Max packet size in bytes
# Unlimited if -1
packetSize: 1024
# How many packets per second allowed for single connection
# Ignored if -1
packets: -1
# How many bytes per second allowed for single connection
# Ignored if -1
bytes: 2048

View File

@ -0,0 +1,228 @@
# --------------------------------
# Geyser Configuration File
#
# A bridge between Minecraft: Bedrock Edition and Minecraft: Java Edition.
#
# GitHub: https://github.com/GeyserMC/Geyser
# Discord: https://discord.gg/geysermc
# Wiki: https://wiki.geysermc.org/
#
# NOTICE: See https://wiki.geysermc.org/geyser/setup/ for the setup guide. Many video tutorials are outdated.
# In most cases, especially with server hosting providers, further hosting-specific configuration is required.
# --------------------------------
bedrock:
# The IP address that will listen for connections.
# Generally, you should only uncomment and change this if you want to limit what IPs can connect to your server.
#address: 0.0.0.0
# The port that will listen for connections
port: 19132
# Some hosting services change your Java port everytime you start the server and require the same port to be used for Bedrock.
# This option makes the Bedrock port the same as the Java port every time you start the server.
# This option is for the plugin version only.
clone-remote-port: false
# The MOTD that will be broadcasted to Minecraft: Bedrock Edition clients. This is irrelevant if "passthrough-motd" is set to true
# If either of these are empty, the respective string will default to "Geyser"
motd1: "Geyser"
motd2: "Another Geyser server."
# The Server Name that will be sent to Minecraft: Bedrock Edition clients. This is visible in both the pause menu and the settings menu.
server-name: "Geyser"
# How much to compress network traffic to the Bedrock client. The higher the number, the more CPU usage used, but
# the smaller the bandwidth used. Does not have any effect below -1 or above 9. Set to -1 to disable.
compression-level: 6
# Whether to enable PROXY protocol or not for clients. You DO NOT WANT this feature unless you run UDP reverse proxy
# in front of your Geyser instance.
enable-proxy-protocol: false
# A list of allowed PROXY protocol speaking proxy IP addresses/subnets. Only effective when "enable-proxy-protocol" is enabled, and
# should really only be used when you are not able to use a proper firewall (usually true with shared hosting providers etc.).
# Keeping this list empty means there is no IP address whitelist.
# Both IP addresses and subnets are supported.
#proxy-protocol-whitelisted-ips: [ "127.0.0.1", "172.18.0.0/16" ]
remote:
# The IP address of the remote (Java Edition) server
# If it is "auto", for standalone version the remote address will be set to 127.0.0.1,
# for plugin versions, it is recommended to keep this as "auto" so Geyser will automatically configure address, port, and auth-type.
# Leave as "auto" if floodgate is installed.
address: auto
# The port of the remote (Java Edition) server
# For plugin versions, if address has been set to "auto", the port will also follow the server's listening port.
port: 25565
# Authentication type. Can be offline, online, or floodgate (see https://github.com/GeyserMC/Geyser/wiki/Floodgate).
# For plugin versions, it's recommended to keep the `address` field to "auto" so Floodgate support is automatically configured.
# If Floodgate is installed and `address:` is set to "auto", then "auth-type: floodgate" will automatically be used.
auth-type: floodgate
# Allow for password-based authentication methods through Geyser. Only useful in online mode.
# If this is false, users must authenticate to Microsoft using a code provided by Geyser on their desktop.
allow-password-authentication: true
# Whether to enable PROXY protocol or not while connecting to the server.
# This is useful only when:
# 1) Your server supports PROXY protocol (it probably doesn't)
# 2) You run Velocity or BungeeCord with the option enabled in the proxy's main config.
# IF YOU DON'T KNOW WHAT THIS IS, DON'T TOUCH IT!
use-proxy-protocol: true
# Forward the hostname that the Bedrock client used to connect over to the Java server
# This is designed to be used for forced hosts on proxies
forward-hostname: false
# Floodgate uses encryption to ensure use from authorised sources.
# This should point to the public key generated by Floodgate (BungeeCord, Spigot or Velocity)
# You can ignore this when not using Floodgate.
# If you're using a plugin version of Floodgate on the same server, the key will automatically be picked up from Floodgate.
floodgate-key-file: key.pem
# For online mode authentication type only.
# Stores a list of Bedrock players that should have their Java Edition account saved after login.
# This saves a token that can be reused to authenticate the player later. This does not save emails or passwords,
# but you should still be cautious when adding to this list and giving others access to this Geyser instance's files.
# Removing a name from this list will delete its cached login information on the next Geyser startup.
# The file that tokens will be saved in is in the same folder as this config, named "saved-refresh-tokens.json".
saved-user-logins:
- ThisExampleUsernameShouldBeLongEnoughToNeverBeAnXboxUsername
- ThisOtherExampleUsernameShouldAlsoBeLongEnough
# Specify how many seconds to wait while user authorizes Geyser to access their Microsoft account.
# User is allowed to disconnect from the server during this period.
pending-authentication-timeout: 120
# Bedrock clients can freeze when opening up the command prompt for the first time if given a lot of commands.
# Disabling this will prevent command suggestions from being sent and solve freezing for Bedrock clients.
command-suggestions: true
# The following three options enable "ping passthrough" - the MOTD, player count and/or protocol name gets retrieved from the Java server.
# Relay the MOTD from the remote server to Bedrock players.
passthrough-motd: true
# Relay the player count and max players from the remote server to Bedrock players.
passthrough-player-counts: true
# Enable LEGACY ping passthrough. There is no need to enable this unless your MOTD or player count does not appear properly.
# This option does nothing on standalone.
legacy-ping-passthrough: false
# How often to ping the remote server, in seconds. Only relevant for standalone or legacy ping passthrough.
# Increase if you are getting BrokenPipe errors.
ping-passthrough-interval: 3
# Whether to forward player ping to the server. While enabling this will allow Bedrock players to have more accurate
# ping, it may also cause players to time out more easily.
forward-player-ping: false
# Maximum amount of players that can connect. This is only visual at this time and does not actually limit player count.
max-players: 100
# If debug messages should be sent through console
debug-mode: false
# Allow third party capes to be visible. Currently allowing:
# OptiFine capes, LabyMod capes, 5Zig capes and MinecraftCapes
allow-third-party-capes: false
# Allow third party deadmau5 ears to be visible. Currently allowing:
# MinecraftCapes
allow-third-party-ears: false
# Allow a fake cooldown indicator to be sent. Bedrock players otherwise do not see a cooldown as they still use 1.8 combat.
# Please note: if the cooldown is enabled, some users may see a black box during the cooldown sequence, like below:
# https://cdn.discordapp.com/attachments/613170125696270357/957075682230419466/Screenshot_from_2022-03-25_20-35-08.png
# This can be disabled by going into Bedrock settings under the accessibility tab and setting "Text Background Opacity" to 0
# This setting can be set to "title", "actionbar" or "false"
show-cooldown: title
# Controls if coordinates are shown to players.
show-coordinates: true
# Whether Bedrock players are blocked from performing their scaffolding-style bridging.
disable-bedrock-scaffolding: false
# If set, when a Bedrock player performs any emote, it will swap the offhand and mainhand items, just like the Java Edition keybind
# There are three options this can be set to:
# disabled - the default/fallback, which doesn't apply this workaround
# no-emotes - emotes will NOT be sent to other Bedrock clients and offhand will be swapped. This effectively disables all emotes from being seen.
# emotes-and-offhand - emotes will be sent to Bedrock clients and offhand will be swapped
emote-offhand-workaround: "disabled"
# The default locale if we dont have the one the client requested. Uncomment to not use the default system language.
# default-locale: en_us
# Specify how many days images will be cached to disk to save downloading them from the internet.
# A value of 0 is disabled. (Default: 0)
cache-images: 0
# Allows custom skulls to be displayed. Keeping them enabled may cause a performance decrease on older/weaker devices.
allow-custom-skulls: true
# The maximum number of custom skulls to be displayed per player. Increasing this may decrease performance on weaker devices.
# Setting this to -1 will cause all custom skulls to be displayed regardless of distance or number.
max-visible-custom-skulls: 128
# The radius in blocks around the player in which custom skulls are displayed.
custom-skull-render-distance: 32
# Whether to add any items and blocks which normally does not exist in Bedrock Edition.
# This should only need to be disabled if using a proxy that does not use the "transfer packet" style of server switching.
# If this is disabled, furnace minecart items will be mapped to hopper minecart items.
# Geyser's block, item, and skull mappings systems will also be disabled.
# This option requires a restart of Geyser in order to change its setting.
add-non-bedrock-items: true
# Bedrock prevents building and displaying blocks above Y127 in the Nether.
# This config option works around that by changing the Nether dimension ID to the End ID.
# The main downside to this is that the entire Nether will have the same red fog rather than having different fog for each biome.
above-bedrock-nether-building: false
# Force clients to load all resource packs if there are any.
# If set to false, it allows the user to connect to the server even if they don't
# want to download the resource packs.
force-resource-packs: true
# Allows Xbox achievements to be unlocked.
# THIS DISABLES ALL COMMANDS FROM SUCCESSFULLY RUNNING FOR BEDROCK IN-GAME, as otherwise Bedrock thinks you are cheating.
xbox-achievements-enabled: false
# Whether player IP addresses will be logged by the server.
log-player-ip-addresses: true
# Whether to alert the console and operators that a new Geyser version is available that supports a Bedrock version
# that this Geyser version does not support. It's recommended to keep this option enabled, as many Bedrock platforms
# auto-update.
notify-on-new-bedrock-update: true
# Which item to use to mark unavailable slots in a Bedrock player inventory. Examples of this are the 2x2 crafting grid while in creative,
# or custom inventory menus with sizes different from the usual 3x9. A barrier block is the default item.
unusable-space-block: minecraft:barrier
# bStats is a stat tracker that is entirely anonymous and tracks only basic information
# about Geyser, such as how many people are online, how many servers are using Geyser,
# what OS is being used, etc. You can learn more about bStats here: https://bstats.org/.
# https://bstats.org/plugin/server-implementation/GeyserMC
metrics:
# If metrics should be enabled
enabled: true
# UUID of server, don't change!
uuid: 68e64e80-d802-4308-a01e-41a470dfe620
# ADVANCED OPTIONS - DO NOT TOUCH UNLESS YOU KNOW WHAT YOU ARE DOING!
# Geyser updates the Scoreboard after every Scoreboard packet, but when Geyser tries to handle
# a lot of scoreboard packets per second can cause serious lag.
# This option allows you to specify after how many Scoreboard packets per seconds
# the Scoreboard updates will be limited to four updates per second.
scoreboard-packet-threshold: 20
# Allow connections from ProxyPass and Waterdog.
# See https://www.spigotmc.org/wiki/firewall-guide/ for assistance - use UDP instead of TCP.
enable-proxy-connections: false
# The internet supports a maximum MTU of 1492 but could cause issues with packet fragmentation.
# 1400 is the default.
mtu: 1400
# Whether to connect directly into the Java server without creating a TCP connection.
# This should only be disabled if a plugin that interfaces with packets or the network does not work correctly with Geyser.
# If enabled on plugin versions, the remote address and port sections are ignored
# If disabled on plugin versions, expect performance decrease and latency increase
use-direct-connection: true
# Whether Geyser should attempt to disable compression for Bedrock players. This should be a benefit as there is no need to compress data
# when Java packets aren't being handled over the network.
# This requires use-direct-connection to be true.
disable-compression: true
config-version: 4

View File

@ -0,0 +1,29 @@
# --------------------------------
# Geyser Custom Skull Configuration Files
#
# This file is ignored with `add-custom-skull-blocks` disabled.
# See `config.yml` for the main set of configuration values
#
# Custom skulls with the player username, UUID, or texture specified in this file
# will be translated as custom blocks and be displayed in the inventory and on entities.
# --------------------------------
# Java player usernames
# Skins will be updated when Geyser starts and players will have to re-download
# the resource pack if any players had changed their skin.
player-usernames:
# - GeyserMC
# Java player UUIDs
# Skins will be updated when Geyser starts and players will have to re-download
# the resource pack if any players had changed their skin.
player-uuids:
# - 8b8d8e8f-2759-47c6-acb5-5827de8a72b8
# The long string of characters found in the NBT of custom player heads
player-profiles:
# - ewogICJ0aW1lc3RhbXAiIDogMTY1NzMyMjIzOTgzMywKICAicHJvZmlsZUlkIiA6ICJjZGRiZTUyMGQwNDM0YThiYTFjYzlmYzkyZmRlMmJjZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJBbWJlcmljaHUiLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTkwNzkwYzU3ZTE4MWVkMTNhZGVkMTRjNDdlZTJmN2M4ZGUzNTMzZTAxN2JhOTU3YWY3YmRmOWRmMWJkZTk0ZiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9
# The hash of the skin on Minecraft's skin server (http://textures.minecraft.net/texture/HASH)
skin-hashes:
# - a90790c57e181ed13aded14c47ee2f7c8de3533e017ba957af7bdf9df1bde94f

View File

@ -0,0 +1,71 @@
# In Floodgate bedrock player data is send encrypted
# The following value should point to the key Floodgate generated.
# The public key should be used for the Geyser(s) and the private key for the Floodgate(s)
key-file-name: key.pem
# Floodgate prepends a prefix to bedrock usernames to avoid conflicts
# However, certain conflicts can cause issues with some plugins so this prefix is configurable using the property below
# It is recommended to use a prefix that does not contain alphanumerical to avoid the possibility of duplicate usernames.
username-prefix: "."
# Should spaces be replaced with '_' in bedrock usernames?
replace-spaces: true
# The default locale for Floodgate. By default, Floodgate uses the system locale
# default-locale: en_US
# Should the proxy send the bedrock player data to the servers it is connecting to?
# This requires Floodgate to be installed on the servers.
# You'll get kicked if you don't use the plugin. The default value is false because of it
send-floodgate-data: false
disconnect:
# The disconnect message Geyser users should get when connecting
# to the server with an invalid key
invalid-key: Please connect through the official Geyser
# The disconnect message Geyser users should get when connecting
# to the server with the correct key but not with the correct data format
invalid-arguments-length: Expected {} arguments, got {}. Is Geyser up-to-date?
# Configuration for player linking
player-link:
# Whether to enable the linking system. Turning this off will prevent
# players from using the linking feature even if they are already linked.
enabled: true
# Whether to require a linked account in order to be able to join the server.
require-link: false
# Set the following option to true when you want to host your own linking database.
# -> This can work in addition to global linking.
# Note that you have to install a linking database implementation before enabling this, because
# it'll cause errors otherwise.
enable-own-linking: false
# The following three options only apply when 'enable-own-linking' is set to 'true'
# Whether to allow the use of /linkaccount and /unlinkaccount
# You can also use allow specific people to use the commands using the
# permissions floodgate.command.linkaccount and floodgate.command.unlinkaccount.
# This is only for linking, already connected people will stay connected
allowed: true
# The amount of time until a link code expires in seconds.
link-code-timeout: 300
# The player linking database type you want to use. This option is only used when there
# are multiple database implementations found in the configuration directory.
type: sqlite
# Whether to enable global linking. Global Linking is a central server where people can link their
# accounts (Java and Bedrock) and join on servers that have Global Linking enabled. The goal of
# Global Linking is to make linking easier by not having to link your accounts on every server.
# -> Your server-specific linking database will have priority over global linking.
# Global Linking should normally only be disabled when you don't have internet access or when
# you have limited internet access.
enable-global-linking: true
metrics:
enabled: false
uuid: 081790a2-5380-45dc-808d-721507b66807
# Do not change this
config-version: 3

View File

@ -0,0 +1,19 @@
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,233 @@
# !!THIS FILE IS WRITTEN IN THE HOCON FORMAT!!
# The hocon format is very similar to JSON, but it has some extra features.
# You can find more information about the format on the sponge wiki:
# https://docs.spongepowered.org/stable/en/server/getting-started/configuration/hocon.html
# ----------------------------------------------------------------------------------------
# LibreLogin Configuration
# ----------------------------------------------------------------------------------------
# This is the configuration file for LibreLogin.
# You can find more information about LibreLogin on the github page:
# https://github.com/kyngs/LibreLogin
# !!!THIS ONLY AFFECTS PAPER!!!
# Verifies whether the IP the players had used when authenticating to Mojang matches the IP they are connecting from. Disabling this may break LibreLogin if the server is running under a reverse proxy/VPN.
allow-proxy-connections=true
# Commands that are allowed while the user is not authorized.
allowed-commands-while-unauthorized=[
login,
register,
"2fa",
"2faconfirm",
l,
log,
reg,
resetpassword,
confirmpasswordreset
]
# Should we automatically register all players with a premium nickname?
# !!CRACKED PLAYERS WILL NOT BE ABLE TO REGISTER PREMIUM USERNAMES!!
auto-register=false
# This section is used for MySQL database configuration.
database {
properties {
mysql {
# The name of the database.
database=librelogin
# The host of the database.
host=localhost
# The JDBC URL of the database. Don't touch this if you don't know what you're doing. (Using jdbc:mariadb also works for pure mysql)
jdbc-url="jdbc:mariadb://%host%:%port%/%database%?autoReconnect=true&zeroDateTimeBehavior=convertToNull"
# The maximum lifetime of a database connection in milliseconds. Don't touch this if you don't know what you're doing.
max-life-time=600000
# The password of the database.
password=""
# The port of the database.
port=3306
# The user of the database.
user=root
}
postgresql {
# The name of the database.
database=librelogin
# The host of the database.
host=localhost
# The maximum lifetime of a database connection in milliseconds. Don't touch this if you don't know what you're doing.
max-life-time=600000
# The password of the database.
password=""
# The port of the database.
port=5432
# The user of the database.
user=root
}
sqlite {
# Path to SQLite database file. Relative to plugin datafolder.
path="user-data.db"
}
}
# The type of the database. Built-in types:
# librelogin-mysql - MySQL database, you must fill out the mysql section below.
# librelogin-postgresql - PostgreSQL database, you must fill out the postgresql section below.
# librelogin-sqlite - SQLite database, default file is "database.db", you can change it in the sqlite section below.
type=librelogin-sqlite
}
# Should we enable debug mode? This will print out debug messages to the console.
debug=false
# The default crypto provider. This is used for hashing passwords. Available Providers:
# SHA-256 - Older, not recommended. Kept for compatibility reasons.
# SHA-512 - More safer than SHA-256, but still not recommended. Kept for compatibility reasons.
# BCrypt-2A - Newer, more safe, recommended
# Argon-2ID - Newest, should be safer than BCrypt-2A, however, it can slow down the server.
default-crypto-provider=BCrypt-2A
# !!THIS OPTION IS IRRELEVANT WHEN USING PAPER!! Should we fallback players to lobby servers if the server they are on shutdowns? If set to false, they will be kicked.
fallback=false
# By default, when choosing available lobby/limbos LibreLogin will rule out all the servers which are full.
# Sometimes this may not work as expected. In such case, you can enable this option, which will ignore the max players field obtained by pinging the backend server.
ignore-max-players-from-backend-ping=false
# Sets the maximum amount of accounts that can be registered from the same IP address.
# Set to zero or less to disable.
# !!THIS IS NOT RECOMMENDED!! Due to the lack of IPv4 addresses, sometimes even entire villages share the same IP address.
ip-limit=-1
# Kick the player, if the password is wrong.
kick-on-wrong-password=false
# The authentication servers/worlds, players should be sent to, when not authenticated. On Paper, players will be spawned on the world spawn. THIS SERVERS MUST BE REGISTERED IN THE PROXY CONFIG. IN CASE OF PAPER, THE WORLDS MUST EXIST.
limbo=[
login
]
# !!THIS OPTION IS IRRELEVANT WHEN USING PAPER!! Defines port(s) that limbo server can be bounded to.
limbo-port-range="30000-40000"
# !!WHEN USING PAPER, PUT ALL WORLDS UNDER "root"!!
# On Paper, players will be spawned on the world spawn.
#
# The servers/worlds player should be sent to when they are authenticated. THE SERVERS MUST BE REGISTERED IN THE PROXY CONFIG. IN CASE OF PAPER, THE WORLDS MUST EXIST.
# The configuration allows configuring forced hosts; the servers/worlds in "root" are used when players do not connect from a forced host. Use § instead of dots.
# See: https://github.com/kyngs/LibrePremium/wiki/Configuring-Servers
lobby {
root=[
survival
]
}
mail {
# Should we enable the email password recovery feature?
enabled=false
# The host of the SMTP server.
host="smtp.gmail.com"
# The password used to login to the SMTP server. We highly recommend you use a unique one-time password for this.
password=password
# The port of the SMTP server.
port=587
# The sender of the email.
sender="LibreLogin Network"
# The username used to login to the SMTP server.
username=username
}
# This is used for migrating the database from other plugins.
# Please see the wiki for further information: https://github.com/kyngs/LibreLogin/wiki/Database-Migration
migration {
old-database {
mysql {
# The name of the database.
database=librelogin
# The host of the database.
host=localhost
# The JDBC URL of the database. Don't touch this if you don't know what you're doing. (Using jdbc:mariadb also works for pure mysql)
jdbc-url="jdbc:mariadb://%host%:%port%/%database%?autoReconnect=true&zeroDateTimeBehavior=convertToNull"
# The maximum lifetime of a database connection in milliseconds. Don't touch this if you don't know what you're doing.
max-life-time=600000
# The password of the database.
password=""
# The port of the database.
port=3306
# The table of the old database.
table=user-data
# The user of the database.
user=root
}
postgresql {
# The name of the database.
database=librelogin
# The host of the database.
host=localhost
# The maximum lifetime of a database connection in milliseconds. Don't touch this if you don't know what you're doing.
max-life-time=600000
# The password of the database.
password=""
# The port of the database.
port=5432
# The user of the database.
user=root
}
sqlite {
# Path to SQLite database file. Relative to plugin datafolder.
path="user-data.db"
}
}
# Migrate the database on the next startup.
on-next-startup=false
# The type of the migration. Available Types:
# jpremium-mysql - Can convert from MySQL JPremium SHA256, SHA512 and BCrypt
# authme-mysql - Can convert from MySQL AuthMe BCrypt and SHA256
# authme-sqlite - Can convert from SQLite AuthMe BCrypt and SHA256
# aegis-mysql - Can convert from MySQL Aegis BCrypt
# dba-mysql - Can convert from MySQL DynamicBungeeAuth, which was configured to use SHA-512
# nlogin-sqlite - Can convert from SQLite NLogin SHA512
# nlogin-mysql - Can convert from MySQL NLogin SHA512
# loginsecurity-mysql - Can convert from MySQL LoginSecurity BCrypt
# loginsecurity-sqlite - Can convert from SQLite LoginSecurity BCrypt
# fastlogin-sqlite - Can convert from SQLite FastLogin, !!YOU MUST RUN CONVERSION FROM AUTHME FIRST!!
# fastlogin-mysql - Can convert from MySQL FastLogin, !!YOU MUST RUN CONVERSION FROM AUTHME FIRST!!
# limboauth-mysql - Can convert from MySQL LimboAuth BCrypt and SHA256
# authy-mysql - Can convert from MySQL Authy SHA256
# authy-sqlite - Can convert from SQLite Authy SHA256
# librelogin-mysql - Can convert from MySQL LibreLogin, useful for migrating to a different database
# librelogin-sqlite - Can convert from SQLite LibreLogin, useful for migrating to a different database
type=authme-sqlite
}
# This specifies how often players should be notified when not authenticated. Set to negative to disable.
# This includes (but is not limited to):
# - Message in chat
# - Title
milliseconds-to-refresh-notification=10000
# The minimum length of a password. Set to negative to disable.
minimum-password-length=-1
# The minimum length the player's name can have. Only applies to new players, set to 0 or lower to disable.
minimum-username-length=-1
# Sets which method should be used for creating fixed UUID when a new player is created.
# See the wiki for further information: https://github.com/kyngs/LibreLogin/wiki/UUID-Creators
# Available Creators:
# RANDOM - Generates a random UUID
# CRACKED - Generates a UUID based on the player's name, the same method as if the server was in offline mode
# MOJANG - If the player exists in the Mojang's database, it will be used. Otherwise, CRACKED will be used.
new-uuid-creator=CRACKED
# !!THIS OPTION IS IRRELEVANT WHEN USING PAPER!! Should we ping servers to check if they are online, and get their player count? If you disable this, the pinging servers message will still appear in the console, even though the servers will not be pinged.
ping-servers=false
# Sets the strategy for resolving profile conflicts. Available strategies:
# BLOCK - Kick both players with the message key "kick-name-mismatch". An admin must resolve the conflict manually.
# USE_OFFLINE - Use the offline profile. When both of the players attempt to join, they will be provided with a login screen and will be able to login with the offline player's password. The online player will have to change their nickname to a available one in order to recover their account. Beware, that there's a 30 days cool down for changing nicknames.
# OVERWRITE - Overwrite the offline profile's data with the online profile's data. This will irreversibly delete the offline player's data. !!USE WITH CAUTION; PLAYERS CAN AND WILL ABUSE THIS!!
profile-conflict-resolution-strategy=BLOCK
# Should we remember the last server/world a player was on? This is not recommended for large networks.
remember-last-server=false
# The config revision number. !!DO NOT TOUCH THIS!!
revision=6
# Sets the login/register time limit in seconds. Set to negative to disable.
seconds-to-authorize=-1
# Defines a time in seconds after a player's session expires. Default value is one week (604800 seconds). Set to zero or less to disable sessions.
session-timeout=604800
# This section is used for 2FA configuration.
# !! YOU MUST HAVE PROTOCOLIZE INSTALLED FOR THIS TO WORK !!
#
# You can find more information on the wiki: https://github.com/kyngs/LibreLogin/wiki/2FA
totp {
# The delay in milliseconds until player is given a map to scan the QR code. Increase this value if the map disappears too quickly.
delay=1000
# Should we enable TOTP-Based Two-Factor Authentication? If you don't know what this is, this is the 2FA used in applications like Google Authenticator etc.
# I heavily suggest you to read this wiki page: https://github.com/kyngs/LibreLogin/wiki/2FA
enabled=true
# The label to be displayed in the 2FA app. Change this to your network name.
label="LibreLogin Network"
}
# Whether or not to use action bar when player is awaiting authentication.
use-action-bar=false
# Whether or not to use titles when player is awaiting authentication.
use-titles=true

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,327 @@
# !!THIS FILE IS WRITTEN IN THE HOCON FORMAT!!
# The hocon format is very similar to JSON, but it has some extra features.
# You can find more information about the format on the sponge wiki:
# https://docs.spongepowered.org/stable/en/server/getting-started/configuration/hocon.html
# ----------------------------------------------------------------------------------------
# LibreLogin Messages
# ----------------------------------------------------------------------------------------
# This file contains all of the messages used by the plugin, you are welcome to fit it to your needs.
# The messages can be written both in the legacy format and in the MiniMessage format. For example, the following message is completely valid: <bold>&aReloaded!</bold>
# You can find more information about LibreLogin on the github page:
# https://github.com/kyngs/LibreLogin
# This actionbar is displayed when the player is prompted to login. Make sure that you have use-action-bar set to true in the configuration.
action-bar-login="&e/login &b<password>"
# This actionbar is displayed when the player is prompted to register. Make sure that you have use-action-bar set to true in the configuration.
action-bar-register="&e/register &b<password> <password>"
# This section contains autocompletes for commands. It is pretty large, so most people leave the defaults.
# !!DO NOT TRANSLATE @players!! It is used to hint out all players online.
autocomplete {
# This hint is displayed when the player starts typing the /2fa-confirm command.
"2fa-confirm"=code
# This hint is displayed when the player starts typing the /changepassword command.
change-password="oldPassword newPassword"
# This hint is displayed when the player starts typing the /confirmpasswordreset command.
confirm-password-reset="code newPassword newPassword"
# This hint is displayed when the player starts typing the /librelogin email test command.
email-test=address
# This hint is displayed when the player starts typing the /login command.
login=password
# This hint is displayed when the player starts typing the /premium command.
premium=password
# This hint is displayed when the player starts typing the /register command.
register="password password"
# This hint is displayed when the player starts typing the /resetpassword command.
reset-password=""
# This hint is displayed when the player starts typing the /setemail command.
set-email="address password"
# This hint is displayed when the player starts typing the /librelogin user 2fa-off command.
user-2fa-off="@players"
# This hint is displayed when the player starts typing the /librelogin user alts command.
user-alts="@players"
# This hint is displayed when the player starts typing the /librelogin user cracked command.
user-cracked="@players"
# This hint is displayed when the player starts typing the /librelogin user delete command.
user-delete="@players"
# This hint is displayed when the player starts typing the /librelogin user emailoff command.
user-email-off="@players"
# This hint is displayed when the player starts typing the /librelogin user info command.
user-info="@players"
# This hint is displayed when the player starts typing the /librelogin user login command.
user-login="@players"
# This hint is displayed when the player starts typing the /librelogin user migrate command.
user-migrate="@players newName"
# This hint is displayed when the player starts typing the /librelogin user pass-change command.
user-pass-change="@players newPassword"
# This hint is displayed when the player starts typing the /librelogin user premium command.
user-premium="@players"
# This hint is displayed when the player starts typing the /librelogin user register command.
user-register="@players password"
# This hint is displayed when the player starts typing the /librelogin user setemail command.
user-set-email="@players email"
# This hint is displayed when the player starts typing the /librelogin user unregister command.
user-unregister="@players"
# This hint is displayed when the player starts typing the /verifyemail command.
verify-email=code
}
# This email is sent to the player when they request to reset their password. You can insert any HTML code into this message.
email-password-reset-content="Hello %name%!<br>\nYou (from IP %ip%) have requested to reset your password on %server%.<br>\nIf you did not request this, please ignore this email.<br>\nTo confirm this action, please <b>run the following command in-game: </b><br>\n<b><code><h1>/confirmpasswordreset %code%</h1></code></b><br>\n"
# This is the subject of the email sent to the player when they request to reset their password.
email-password-reset-subject="Reset your password on %server%"
# This email is sent to the player when they request to add a recovery email. You can insert any HTML code into this message.
email-verification-content="Hello %name%!<br>\nYou have requested to add a recovery email on %server%.<br>\nIf you did not request this, please ignore this email.<br>\nTo confirm this action, please <b>run the following command in-game: </b><br>\n<b><code><h1>/verifyemail %code%</h1></code></b><br>\n"
# This is the subject of the email sent to the player when they request to add a recovery email.
email-verification-subject="Verify your email on %server%"
# This message is displayed when the player tries to authorize again.
error-already-authorized="You are already authorized!"
# This message is displayed when the player tries to register again.
error-already-registered="You are already registered!"
# This message is displayed when the configuration file is corrupted.
error-corrupted-configuration="Configuration is corrupted, old one is going to be kept. Cause: %cause%"
# This message is displayed when the messages.conf file is corrupted.
error-corrupted-messages="Messages are corrupted, old ones are going to be kept. Cause: %cause%"
# This message is displayed when the player tries to register with a password that is too short or forbidden.
error-forbidden-password="The password is too short and/or is not allowed!"
# This message is displayed when the player is executing a command, but they are coming from Floodgate.
error-from-floodgate="You can't use this command from Floodgate!"
# This message is displayed when the player uses a command with invalid syntax.
error-invalid-syntax="Usage: <c2>{command}</c2> <c3>{syntax}</c3>"
# This message is displayed when the player tries to send a mail, but it fails to send.
error-mail-not-sent="Failed to send email, perhaps you typed your address wrong? If you are sure that you typed it correctly, please contact an administrator."
# This message is displayed when the player tries to send mail too fast.
error-mail-throttle="You are sending emails too fast! Please wait a bit."
# This message is displayed when the player tries to run /premiumconfirm, before running /premium.
error-no-confirm="Please use /premium <password> first!"
# This message is displayed when the player tries to recover their password, but they don't have a recovery email set.
error-no-email="You don't have a recovery email set!"
# This message is displayed when the player tries to run /mailconfirm, before running /mail.
error-no-mail-confirm="Please use /setemail <email> <password> first!"
# This message is displayed when the player tries to change password without having one.
error-no-password="You don't have a password. You can try using /cracked to disable autologin, and then register."
# This message is displayed when the player tries to run /resetpasswordconfirm, before running /resetpassword.
error-no-password-reset="Please use /resetpassword first!"
# This message is displayed when the player does not have permission to use a command.
error-no-permission="You do not have permission to use this command!"
# This message is displayed when the player tries to use a command that requires authorization.
error-not-authorized="Please authorize first!"
# This message is displayed when someone attempts to use a feature that is not available on MultiProxy.
error-not-available-on-multi-proxy="This feature is not available on MultiProxy!"
# This message is displayed when the player tries to enable autologin, but they already have it enabled.
error-not-cracked="You have autologin enabled, disable it using /cracked!"
# This message is displayed when the player tries to enable autologin, but their account does not exist in the Mojang database.
error-not-paid="This account does not exist in the Mojang database!"
# This message is displayed when the player tries to disable autologin, but they do not have it enabled.
error-not-premium="You do not have autologin enabled, enable it using /premium <password>!"
# This message is displayed when the player tries to login, when they are not registered.
error-not-registered="Please register first!"
# This message is displayed when someone tries to move account to an occupied username.
error-occupied-user="This username is already occupied!"
# This message is displayed when the player tries to login with corrupted password.
error-password-corrupted="Your password is corrupted, please contact an administrator!"
# This message is displayed when the player tries to register with different passwords.
error-password-not-match="Passwords do not match!"
# This message is displayed when someone attempts to reset password while it is disabled.
error-password-resetting-disabled="Password resetting is disabled!"
# This message is displayed when the player tries to register with a password that is too long.
error-password-too-long="The password is too long!"
# This message is displayed when the player tries to authorize with wrong password.
error-password-wrong="Wrong password!"
# This message is displayed when someone attempts to refer an authenticated player.
error-player-authorized="This player is already authenticated!"
# This message is displayed when someone attempts to refer an unregistered player.
error-player-not-registered="This player is not registered!"
# This message is displayed when someone attempts to refer an offline player.
error-player-offline="This player is offline!"
# This message is displayed when someone attempts to refer an online player.
error-player-online="This player is online!"
# This message is displayed when the Mojang API is rate limiting us, therefore we cannot verify whether there is an account with the given username.
error-premium-throttled="The Mojang API is rate limiting our server, please try the command again in a while!"
# This message is displayed when there was an unknown issue while communicating with Mojang, therefore we cannot verify whether there is an account with the given username.
# The error will be printed to the console
error-premium-unknown="There was an unknown error while communicating with the mojang API, please check console for further details!"
# This message is displayed when the player tries to send commands too fast.
error-throttle="You are sending commands too fast! Please wait a bit."
# This message is displayed when an unknown error occurs.
error-unknown="An unknown error occurred! Check console for further information."
# This message is displayed when the player uses an unknown command.
error-unknown-command="Unknown command!"
# This message is displayed when someone attempts to refer an unknown user.
error-unknown-user="This user does not exist!"
# This message is displayed when the player tries to verify their email with a wrong verification code.
error-wrong-mail-verify="Wrong verification code!"
# This message is displayed when the player tries to reset their password with a wrong password reset code.
error-wrong-password-reset="Wrong password reset code!"
# This message is displayed when the player executes /librelogin about.
# !! Clearing this message, or somehow making the command unexecutable is not only cringe, but also considered a violation of the license. !!
info-about="This server is running FOSS authentication plugin, LibreLogin.\nVersion: %version%\nAuthors: kyngs, and other contributors\nSource: https://github.com/kyngs/LibreLogin\nLicense: Mozilla Public License 2.0"
# This message is displayed when the player has alts.
info-alts="There are %count% players with the same IP address:"
# This message is displayed when the player has alts.
info-alts-entry="- %name% (last seen: %last_seen%)"
# This message is displayed when something has been deleted.
info-deleted="Deleted!"
# This message is displayed when something is being deleted.
info-deleting="Deleting..."
# This message is displayed when something is disabling.
info-disabling="Disabling..."
# This message is displayed when a user executes /librelogin dump.
info-dumped="Dump saved to %file%!"
# This message is displayed when a user executes /librelogin dump.
info-dumping="Creating dump..."
# This message is displayed when something has been edited.
info-edited="Edited!"
# This message is displayed when something is being edited.
info-editing="Editing..."
# This message is displayed when something is enabling.
info-enabling="Enabling..."
# This message is displayed when the player is kicked from a server.
info-kick="You have been kicked from the server for the following reason: %reason%"
# This message is displayed when the player logs in.
info-logged-in="Logged in!"
# This message is displayed when the player attempts to log in.
info-logging-in="Logging in..."
# This message is displayed when the user executes a command that sends an email.
info-mail-sending="Sending email..."
# This message is displayed when the user verifies their email.
info-mail-verified="Email verified! You can now reset your password if you forget it."
# This message is displayed when the player has no alts.
info-no-alts="There are no other players with the same IP address."
# This message is displayed when the player resets their password.
info-password-reset="Password reset! You can now log in with your new password."
# This message is displayed when the player logs in automatically because they have enabled /premium.
info-premium-logged-in="You have been logged in automatically!"
# This message is displayed when the player registers.
info-registered="Registered!"
# This message is displayed when the player attempts to register.
info-registering="Registering..."
# This message is displayed when something has been reloaded.
info-reloaded="Reloaded!"
# This message is displayed when something is being reloaded.
info-reloading="Reloading..."
# This message is displayed when the user executes a command that sends a reset email.
info-reset-password-mail-sent="Password reset email sent! If you don't see anything in your inbox, check your spam folder. You have 10 minutes to reset your password."
# This message is displayed when the player attempts to reset their password.
info-resetting-password="Resetting password..."
# This message is displayed when the user executes a command that sends an email.
info-sending-email="Sending email..."
# This message is displayed when the user executes a command that sends an email.
info-sent-email="Email sent!"
# This message is displayed when the player logs in automatically because of a valid session.
info-session-logged-in="You have been logged in automatically!"
# This message is displayed when the player's information is requested.
info-user="UUID: %uuid%\nPremium UUID: %premium_uuid%\nLast Seen: %last_seen%\nJoined: %joined%\n2FA: %2fa%\nEMail: %email%\nIP: %ip%\nLast Authenticated: %last_authenticated%"
# This message is displayed when the user executes a command that sends a verification email.
info-verification-mail-sent="Verification email sent! If you don't see anything in your inbox, check your spam folder. You have 10 minutes to verify your email."
# This message is displayed when the player enables 2FA.
kick-2fa-enabled="Two-factor has been enabled! Please reconnect."
# This message is displayed when the player is kicked because they authorize with wrong password.
kick-error-password-wrong="Wrong password!"
# This message is displayed when the player's username is not allowed.
# See https://github.com/kyngs/LibreLogin/wiki/Name-Validation for more information.
kick-illegal-username="You have illegal characters in your username or/and your username is longer than 16 characters!"
# This message is displayed when the player's username is not in the correct case.
# See https://github.com/kyngs/LibreLogin/wiki/Name-Validation for more information.
kick-invalid-case-username="Please, change your username to &c%username%"
# This message is displayed when the player's IP has reached the maximum amount of accounts.
# See the configuration key "ip-limit" for more information.
kick-ip-limit="You have reached the maximum amount of accounts per IP!"
# This occurs, when there is a profile conflict.
# See https://github.com/kyngs/LibreLogin/wiki/Profile-Conflicts for more information.
kick-name-mismatch="Oh no! It looks like an premium user with activated auto login changed their nickname to %nickname%, therefore there are 2 colliding accounts. Please contact support immediately."
# This message is displayed when the player is kicked because there is not any limbo available.
kick-no-limbo="There's no available limbo to connect you to. Please try again later. If you're the server administrator, please install NanoLimboPlugin."
# This message is displayed when the player is kicked because there is not any server available.
kick-no-lobby="There's no available lobby to connect you to. Please try again later."
# This message is displayed when the player's username is already taken.
kick-occupied-username="Please, change your username to &c%username%"
# This message is displayed when the Mojang API is rate limiting us, therefore we cannot verify whether there is an account with the given username.
kick-premium-error-throttled="The Mojang API is rate limiting our server, please try joining again in a while!"
# This message is displayed when there was an unknown issue while communicating with Mojang, therefore we cannot verify whether there is an account with the given username.
# The error will be printed to the console
kick-premium-error-undefined="There was some issue while communicating with Mojang, if the problem persists, contact the server administrators!"
# This message is displayed when the player disables autologin, they need to be kicked.
kick-premium-info-disabled="Autologin disabled!"
# This message is displayed when the player enables autologin, they need to be kicked.
kick-premium-info-enabled="Autologin enabled!"
# This message is displayed when the player's username is too short.
# See the configuration key "minimum-username-length" for more information.
kick-short-username="Your username is too short! The minimum length is %length% letters."
# This message is displayed when the player takes too long to authorize. (You can specify this time limit in the config file)
kick-time-limit="You took too long to authorize!"
# This message is displayed when the player is prompted to confirm autologin.
prompt-confirm="You are about to enable premium autologin, please take note, that you &4WILL NOT&r be able to connect to your account from cracked client. You can turn this off later by using /cracked. To confirm this action, you have 5 minutes to run /confirmpremium"
# This message is displayed when the player is prompted to login.
prompt-login="Please login using: &e/login &b<password> [2fa_code]"
# This message is displayed when the player is prompted to register.
prompt-register="Please register using: &e/register &b<password> <password>"
# The config revision number. !!DO NOT TOUCH THIS!!
revision=3
# This subtitle is displayed when the player is prompted to login. Make sure that you have use-titles set to true in the configuration.
sub-title-login="&e/login &b<password>"
# This subtitle is displayed when the player is prompted to register. Make sure that you have use-titles set to true in the configuration.
sub-title-register="&e/register &b<password> <password>"
# This section contains syntax for commands. It is pretty large, so most people leave the defaults.
syntax {
# This message is displayed when the player attempts to confirm 2FA with wrong syntax.
"2fa-confirm"="<code>"
# This message is displayed when the player attempts to change password with wrong syntax.
change-password="<oldPassword> <newPassword>"
# This message is displayed when the player attempts to confirm password reset with wrong syntax.
confirm-password-reset="<code> <password> <passwordRepeat>"
# This message is displayed when the player attempts to test email with wrong syntax.
email-test="<address>"
# This message is displayed when the player attempts to login with wrong syntax.
login="<password> [2fa_code]"
# This message is displayed when the player attempts to enable premium autologin with wrong syntax.
premium="<password>"
# This message is displayed when the player attempts to register with wrong syntax.
register="<password> <passwordRepeat>"
# This message is displayed when the player attempts to reset password with wrong syntax.
reset-password=""
# This message is displayed when the player attempts to set email with wrong syntax.
set-email="<address> <password>"
# This message is displayed when the player attempts to disable 2FA for other user with wrong syntax.
user-2fa-off="<name>"
# This message is displayed when the player attempts to get alts of other user with wrong syntax.
user-alts="<name>"
# This message is displayed when the player attempts to disable premium autologin for other user with wrong syntax.
user-cracked="<name>"
# This message is displayed when the player attempts to delete user with wrong syntax.
user-delete="<name>"
# This message is displayed when the player attempts to disable EMail for other user with wrong syntax.
user-email-off="<name>"
# This message is displayed when the player attempts to get user info with wrong syntax.
user-info="<name>"
# This message is displayed when the player attempts to login other user with wrong syntax.
user-login="<name>"
# This message is displayed when the player attempts to migrate user with wrong syntax.
user-migrate="<name> <newName>"
# This message is displayed when the player attempts to change password for other user with wrong syntax.
user-pass-change="<name> <newPassword>"
# This message is displayed when the player attempts to enable premium autologin for other user with wrong syntax.
user-premium="<name>"
# This message is displayed when the player attempts to register other user with wrong syntax.
user-register="<name> <password>"
# This message is displayed when the player attempts to set EMail for other user with wrong syntax.
user-set-email="<name> <email>"
# This message is displayed when the player attempts to unregister user with wrong syntax.
user-unregister="<name>"
# This message is displayed when the player attempts to verify email with wrong syntax.
verify-email="<code>"
}
# This title is displayed when the player is prompted to login. Make sure that you have use-titles set to true in the configuration.
title-login="&6&lLogin"
# This title is displayed when the player is prompted to register. Make sure that you have use-titles set to true in the configuration.
title-register="&6&lRegister"
# This message is displayed when player has begun the 2FA enable procedure.
totp-generating="Generating 2FA code..."
# This message is displayed when the player attempts to finish the 2FA process, but they are not in the process of enabling 2FA.
totp-not-awaiting="You are currently not in the process of enabling 2FA! Please type /2fa to begin the process."
# This message is displayed when the player tries to authorize without providing a 2FA code.
totp-not-provided="You must provide a 2FA code! Use /login <password> <2FA code>, if you lost your code, contact the admins."
# This message is displayed when the player is prompted to scan the 2FA QR code.
totp-show-info="Please scan the QR code on the map into your 2FA app. For example, Google Authenticator or Authy.\nWhen you are complete, please execute the /2faconfirm <code> command to finish the process.\nDisconnect to abort."
# This message is displayed when the player tries to authorize, or finish the 2FA enablement, with a wrong 2FA code.
totp-wrong="Wrong 2FA code!"
# This message is displayed when the player attempts to enable 2FA with an old client.
totp-wrong-version="You must connect with client version %low% - %high%, in order to enable 2FA. You can then connect back with old version again."

View File

@ -0,0 +1,599 @@
####################################################################################################
# +----------------------------------------------------------------------------------------------+ #
# | __ __ ___ __ __ | #
# | | | | / ` |__/ |__) |__ |__) |\/| /__` | #
# | |___ \__/ \__, | \ | |___ | \ | | .__/ | #
# | | #
# | https://luckperms.net | #
# | | #
# | WIKI: https://luckperms.net/wiki | #
# | DISCORD: https://discord.gg/luckperms | #
# | BUG REPORTS: https://github.com/LuckPerms/LuckPerms/issues | #
# | | #
# | Each option in this file is documented and explained here: | #
# | ==> https://luckperms.net/wiki/Configuration | #
# | | #
# | New options are not added to this file automatically. Default values are used if an | #
# | option cannot be found. The latest config versions can be obtained at the link above. | #
# +----------------------------------------------------------------------------------------------+ #
####################################################################################################
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | ESSENTIAL SETTINGS | #
# | | #
# | Important settings that control how LuckPerms functions. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# The name of the server, used for server specific permissions.
#
# - 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: proxy
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | STORAGE SETTINGS | #
# | | #
# | Controls which storage method LuckPerms will use to store data. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# How the plugin should store data
#
# - The various options are explained in more detail on the wiki:
# https://luckperms.net/wiki/Storage-types
#
# - Possible options:
#
# | Remote databases - require connection information to be configured below
# |=> MySQL
# |=> MariaDB (preferred over MySQL)
# |=> PostgreSQL
# |=> MongoDB
#
# | Flatfile/local database - don't require any extra configuration
# |=> H2 (preferred over SQLite)
# |=> SQLite
#
# | Readable & editable text files - don't require any extra configuration
# |=> YAML (.yml files)
# |=> JSON (.json files)
# |=> HOCON (.conf files)
# |=> TOML (.toml files)
# |
# | By default, user, group and track data is separated into different files. Data can be combined
# | and all stored in the same file by switching to a combined storage variant.
# | Just add '-combined' to the end of the storage-method, e.g. 'yaml-combined'
#
# - A H2 database is the default option.
# - If you want to edit data manually in "traditional" storage files, we suggest using YAML.
storage-method: h2
# The following block defines the settings for remote database storage methods.
#
# - You don't need to touch any of the settings here if you're using a local storage method!
# - The connection detail options are shared between all remote storage types.
data:
# Define the address and port for the database.
# - The standard DB engine port is used by default
# (MySQL: 3306, PostgreSQL: 5432, MongoDB: 27017)
# - Specify as "host:port" if differs
address: localhost
# The name of the database to store LuckPerms data in.
# - This must be created already. Don't worry about this setting if you're using MongoDB.
database: minecraft
# Credentials for the database.
username: root
password: ''
# These settings apply to the MySQL connection pool.
# - The default values will be suitable for the majority of users.
# - Do not change these settings unless you know what you're doing!
pool-settings:
# Sets the maximum size of the MySQL connection pool.
# - Basically this value will determine the maximum number of actual
# connections to the database backend.
# - More information about determining the size of connection pools can be found here:
# https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing
maximum-pool-size: 10
# Sets the minimum number of idle connections that the pool will try to maintain.
# - For maximum performance and responsiveness to spike demands, it is recommended to not set
# this value and instead allow the pool to act as a fixed size connection pool.
# (set this value to the same as 'maximum-pool-size')
minimum-idle: 10
# This setting controls the maximum lifetime of a connection in the pool in milliseconds.
# - The value should be at least 30 seconds less than any database or infrastructure imposed
# connection time limit.
maximum-lifetime: 1800000 # 30 minutes
# This setting controls how frequently the pool will 'ping' a connection in order to prevent it
# from being timed out by the database or network infrastructure, measured in milliseconds.
# - The value should be less than maximum-lifetime and greater than 30000 (30 seconds).
# - Setting the value to zero will disable the keepalive functionality.
keepalive-time: 0
# This setting controls the maximum number of milliseconds that the plugin will wait for a
# connection from the pool, before timing out.
connection-timeout: 5000 # 5 seconds
# This setting allows you to define extra properties for connections.
#
# By default, the following options are set to enable utf8 encoding. (you may need to remove
# these if you are using PostgreSQL)
# useUnicode: true
# characterEncoding: utf8
#
# You can also use this section to disable SSL connections, by uncommenting the 'useSSL' and
# 'verifyServerCertificate' options below.
properties:
useUnicode: true
characterEncoding: utf8
#useSSL: false
#verifyServerCertificate: false
# The prefix for all LuckPerms SQL tables.
#
# - This only applies for remote SQL storage types (MySQL, MariaDB, etc).
# - Change this if you want to use different tables for different servers.
table-prefix: 'luckperms_'
# The prefix to use for all LuckPerms MongoDB collections.
#
# - This only applies for the MongoDB storage type.
# - Change this if you want to use different collections for different servers. The default is no
# prefix.
mongodb-collection-prefix: ''
# The connection string URI to use to connect to the MongoDB instance.
#
# - When configured, this setting will override anything defined in the address, database,
# username or password fields above.
# - If you have a connection string that starts with 'mongodb://' or 'mongodb+srv://', enter it
# below.
# - For more information, please see https://docs.mongodb.com/manual/reference/connection-string/
mongodb-connection-uri: ''
# Define settings for a "split" storage setup.
#
# - This allows you to define a storage method for each type of data.
# - The connection options above still have to be correct for each type here.
split-storage:
# Don't touch this if you don't want to use split storage!
enabled: false
methods:
# These options don't need to be modified if split storage isn't enabled.
user: h2
group: h2
track: h2
uuid: h2
log: h2
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | UPDATE PROPAGATION & MESSAGING SERVICE | #
# | | #
# | Controls the ways in which LuckPerms will sync data & notify other servers of changes. | #
# | These options are documented on greater detail on the wiki under "Instant Updates". | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# This option controls how frequently LuckPerms will perform a sync task.
#
# - A sync task will refresh all data from the storage, and ensure that the most up-to-date data is
# being used by the plugin.
# - This is disabled by default, as most users will not need it. However, if you're using a remote
# storage type without a messaging service setup, you may wish to set this to something like 3.
# - Set to -1 to disable the task completely.
sync-minutes: -1
# If the file watcher should be enabled.
#
# - When using a file-based storage type, LuckPerms can monitor the data files for changes, and
# automatically update when changes are detected.
# - If you don't want this feature to be active, set this option to false.
watch-files: true
# Define which messaging service should be used by the plugin.
#
# - If enabled and configured, LuckPerms will use the messaging service to inform other connected
# servers of changes.
# - Use the command "/lp networksync" to manually push changes.
# - Data is NOT stored using this service. It is only used as a messaging platform.
#
# - If you decide to enable this feature, you should set "sync-minutes" to -1, as there is no need
# for LuckPerms to poll the database for changes.
#
# - Possible options:
# => sql Uses the SQL database to form a queue system for communication. Will only work
# when 'storage-method' is set to MySQL or MariaDB. This is chosen by default if
# the option is set to 'auto' and SQL storage is in use. Set to 'notsql' to
# disable this.
# => pluginmsg Uses the plugin messaging channels to communicate with the proxy.
# LuckPerms must be installed on your proxy & all connected servers backend
# servers. Won't work if you have more than one Velocity proxy.
# => redis Uses Redis pub-sub to push changes. Your server connection info must be
# configured below.
# => rabbitmq Uses RabbitMQ pub-sub to push changes. Your server connection info must be
# configured below.
# => nats Uses Nats pub-sub to push changes. Your server connection info must be
# configured below.
# => custom Uses a messaging service provided using the LuckPerms API.
# => auto Attempts to automatically setup a messaging service using redis or sql.
messaging-service: auto
# If LuckPerms should automatically push updates after a change has been made with a command.
auto-push-updates: true
# If LuckPerms should push logging entries to connected servers via the messaging service.
push-log-entries: true
# If LuckPerms should broadcast received logging entries to players on this platform.
#
# - If you have LuckPerms installed on your backend servers as well as a Velocity proxy, you
# should set this option to false on either your backends or your proxies, to avoid players being
# messaged twice about log entries.
broadcast-received-log-entries: false
# Settings for Redis.
# Port 6379 is used by default; set address to "host:port" if differs
# Multiple Redis nodes can be specified in the same format as a string list under the name "addresses".
redis:
enabled: false
address: localhost
username: ''
password: ''
# Settings for Nats.
# Port 4222 is used by default; set address to "host:port" if differs
nats:
enabled: false
address: localhost
username: ''
password: ''
# Settings for RabbitMQ.
# Port 5672 is used by default; set address to "host:port" if differs
rabbitmq:
enabled: false
address: localhost
vhost: '/'
username: 'guest'
password: 'guest'
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | CUSTOMIZATION SETTINGS | #
# | | #
# | Settings that allow admins to customize the way LuckPerms operates. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# If LuckPerms should ensure all players have permission data when they connect to the server.
#
# - When set to true, LuckPerms will cancel login attempts if it is unable to load permissions data
# for a user, or if the storage provider is unavailable.
# - When set to false, LuckPerms will allow a player to connect regardless of whether their
# permissions data could be loaded.
# - This option does not exist on other platforms, and effectively defaults to true - however,
# the option is provided on Velocity, as it is less likely to be so dependant on permissions.
cancel-failed-logins: false
# Controls how temporary permissions/parents/meta should be accumulated.
#
# - The default behaviour is "deny".
# - This behaviour can also be specified when the command is executed. See the command usage
# documentation for more info.
#
# - Possible options:
# => accumulate durations will be added to the existing expiry time
# => replace durations will be replaced if the new duration is later than the current
# expiration
# => deny the command will just fail if you try to add another node with the same expiry
temporary-add-behaviour: deny
# Controls how LuckPerms will determine a users "primary" group.
#
# - The meaning and influence of "primary groups" are explained in detail on the wiki.
# - The preferred approach is to let LuckPerms automatically determine a users primary group
# based on the relative weight of their parent groups.
#
# - Possible options:
# => stored use the value stored against the users record in the file/database
# => parents-by-weight just use the users most highly weighted parent
# => all-parents-by-weight same as above, but calculates based upon all parents inherited from
# both directly and indirectly
primary-group-calculation: parents-by-weight
# If the plugin should check for "extra" permissions with users run LP commands.
#
# - These extra permissions allow finer control over what users can do with each command, and who
# they have access to edit.
# - The nature of the checks are documented on the wiki under "Argument based command permissions".
# - Argument based permissions are *not* static, unlike the 'base' permissions, and will depend upon
# the arguments given within the command.
argument-based-command-permissions: false
# If the plugin should check whether senders are a member of a given group before they're able to
# edit the groups data or add/remove other users to/from it.
# Note: these limitations do not apply to the web editor!
require-sender-group-membership-to-modify: false
# If the plugin should send log notifications to users whenever permissions are modified.
#
# - Notifications are only sent to those with the appropriate permission to receive them
# - They can also be temporarily enabled/disabled on a per-user basis using
# '/lp log notify <on|off>'
log-notify: true
# Defines a list of log entries which should not be sent as notifications to users.
#
# - Each entry in the list is a RegEx expression which is matched against the log entry description.
log-notify-filtered-descriptions:
# - "parent add example"
# If LuckPerms should automatically install translation bundles and periodically update them.
auto-install-translations: true
# Defines the options for prefix and suffix stacking.
#
# - The feature allows you to display multiple prefixes or suffixes alongside a players username in
# chat.
# - It is explained and documented in more detail on the wiki under "Prefix & Suffix Stacking".
#
# - The options are divided into separate sections for prefixes and suffixes.
# - The 'duplicates' setting refers to how duplicate elements are handled. Can be 'retain-all',
# 'first-only' or 'last-only'.
# - The value of 'start-spacer' is included at the start of the resultant prefix/suffix.
# - The value of 'end-spacer' is included at the end of the resultant prefix/suffix.
# - The value of 'middle-spacer' is included between each element in the resultant prefix/suffix.
#
# - Possible format options:
# => highest Selects the value with the highest weight, from all values
# held by or inherited by the player.
#
# => lowest Same as above, except takes the one with the lowest weight.
#
# => highest_own Selects the value with the highest weight, but will not
# accept any inherited values.
#
# => lowest_own Same as above, except takes the value with the lowest weight.
#
# => highest_inherited Selects the value with the highest weight, but will only
# accept inherited values.
#
# => lowest_inherited Same as above, except takes the value with the lowest weight.
#
# => highest_on_track_<track> Selects the value with the highest weight, but only if the
# value was inherited from a group on the given track.
#
# => lowest_on_track_<track> Same as above, except takes the value with the lowest weight.
#
# => highest_not_on_track_<track> Selects the value with the highest weight, but only if the
# value was inherited from a group not on the given track.
#
# => lowest_not_on_track_<track> Same as above, except takes the value with the lowest weight.
#
# => highest_from_group_<group> Selects the value with the highest weight, but only if the
# value was inherited from the given group.
#
# => lowest_from_group_<group> Same as above, except takes the value with the lowest weight.
#
# => highest_not_from_group_<group> Selects the value with the highest weight, but only if the
# value was not inherited from the given group.
#
# => lowest_not_from_group_<group> Same as above, except takes the value with the lowest weight.
meta-formatting:
prefix:
format:
- "highest"
duplicates: first-only
start-spacer: ""
middle-spacer: " "
end-spacer: ""
suffix:
format:
- "highest"
duplicates: first-only
start-spacer: ""
middle-spacer: " "
end-spacer: ""
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | PERMISSION CALCULATION AND INHERITANCE | #
# | | #
# | Modify the way permission checks, meta lookups and inheritance resolutions are handled. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# The algorithm LuckPerms should use when traversing the "inheritance tree".
#
# - Possible options:
# => breadth-first See: https://en.wikipedia.org/wiki/Breadth-first_search
# => depth-first-pre-order See: https://en.wikipedia.org/wiki/Depth-first_search
# => depth-first-post-order See: https://en.wikipedia.org/wiki/Depth-first_search
inheritance-traversal-algorithm: depth-first-pre-order
# If a final sort according to "inheritance rules" should be performed after the traversal algorithm
# has resolved the inheritance tree.
#
# "Inheritance rules" refers to things such as group weightings, primary group status, and the
# natural contextual ordering of the group nodes.
#
# Setting this to 'true' will allow for the inheritance rules to take priority over the structure of
# the inheritance tree.
#
# Effectively when this setting is 'true': the tree is flattened, and rules applied afterwards,
# and when this setting is 'false':, the rules are just applied during each step of the traversal.
post-traversal-inheritance-sort: false
# Defines the mode used to determine whether a set of contexts are satisfied.
#
# - Possible options:
# => at-least-one-value-per-key Set A will be satisfied by another set B, if at least one of the
# key-value entries per key in A are also in B.
# => all-values-per-key Set A will be satisfied by another set B, if all key-value
# entries in A are also in B.
context-satisfy-mode: at-least-one-value-per-key
# LuckPerms has a number of built-in contexts. These can be disabled by adding the context key to
# the list below.
disabled-contexts:
# - "world"
# +----------------------------------------------------------------------------------------------+ #
# | Permission resolution settings | #
# +----------------------------------------------------------------------------------------------+ #
# If users on this server should have their global permissions applied.
# When set to false, only server specific permissions will apply for users on this server
include-global: true
# If users on this server should have their global world permissions applied.
# When set to false, only world specific permissions will apply for users on this server
include-global-world: true
# If users on this server should have global (non-server specific) groups applied
apply-global-groups: true
# If users on this server should have global (non-world specific) groups applied
apply-global-world-groups: true
# +----------------------------------------------------------------------------------------------+ #
# | Meta lookup settings | #
# +----------------------------------------------------------------------------------------------+ #
# Defines how meta values should be selected.
#
# - Possible options:
# => inheritance Selects the meta value that was inherited first
# => highest-number Selects the highest numerical meta value
# => lowest-number Selects the lowest numerical meta value
meta-value-selection-default: inheritance
# Defines how meta values should be selected per key.
meta-value-selection:
# max-homes: highest-number
# +----------------------------------------------------------------------------------------------+ #
# | Inheritance settings | #
# +----------------------------------------------------------------------------------------------+ #
# If the plugin should apply wildcard permissions.
#
# - If set to true, LuckPerms will detect wildcard permissions, and resolve & apply all registered
# permissions matching the wildcard.
apply-wildcards: true
# If LuckPerms should resolve and apply permissions according to the Sponge style implicit wildcard
# inheritance system.
#
# - That being: If a user has been granted "example", then the player should have also be
# automatically granted "example.function", "example.another", "example.deeper.nesting",
# and so on.
apply-sponge-implicit-wildcards: false
# If the plugin should parse regex permissions.
#
# - If set to true, LuckPerms will detect regex permissions, marked with "r=" at the start of the
# node, and resolve & apply all registered permissions matching the regex.
apply-regex: true
# If the plugin should complete and apply shorthand permissions.
#
# - If set to true, LuckPerms will detect and expand shorthand node patterns.
apply-shorthand: true
# +----------------------------------------------------------------------------------------------+ #
# | Extra settings | #
# +----------------------------------------------------------------------------------------------+ #
# A list of context calculators which will be skipped when calculating contexts.
#
# - You can disable context calculators by either:
# => specifying the Java class name used by the calculator (e.g. com.example.ExampleCalculator)
# => specifying a sub-section of the Java package used by the calculator (e.g. com.example)
disabled-context-calculators: []
# Allows you to set "aliases" for the worlds sent forward for context calculation.
#
# - These aliases are provided in addition to the real world name. Applied recursively.
# - Remove the comment characters for the default aliases to apply.
world-rewrite:
# world_nether: world
# world_the_end: world
# Define special group weights for this server.
#
# - Group weights can also be applied directly to group data, using the setweight command.
# - This section allows weights to be set on a per-server basis.
group-weight:
# admin: 10
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | FINE TUNING OPTIONS | #
# | | #
# | A number of more niche settings for tweaking and changing behaviour. The section also | #
# | contains toggles for some more specialised features. It is only necessary to make changes to | #
# | these options if you want to fine-tune LuckPerms behaviour. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# +----------------------------------------------------------------------------------------------+ #
# | Miscellaneous (and rarely used) settings | #
# +----------------------------------------------------------------------------------------------+ #
# If LuckPerms should produce extra logging output when it handles logins.
#
# - Useful if you're having issues with UUID forwarding or data not being loaded.
debug-logins: false
# If LuckPerms should allow usernames with non alphanumeric characters.
#
# - Note that due to the design of the storage implementation, usernames must still be 16 characters
# or less.
allow-invalid-usernames: false
# If LuckPerms should not require users to confirm bulkupdate operations.
#
# - When set to true, operations will be executed immediately.
# - This is not recommended, as bulkupdate has the potential to irreversibly delete large amounts of
# data, and is not designed to be executed automatically.
# - If automation is needed, users should prefer using the LuckPerms API.
skip-bulkupdate-confirmation: false
# If LuckPerms should prevent bulkupdate operations.
#
# - When set to true, bulkupdate operations (the /lp bulkupdate command) will not work.
# - When set to false, bulkupdate operations will be allowed via the console.
disable-bulkupdate: false
# If LuckPerms should allow a users primary group to be removed with the 'parent remove' command.
#
# - When this happens, the plugin will set their primary group back to default.
prevent-primary-group-removal: false

View File

@ -0,0 +1,4 @@
{
"static-contexts": {},
"default-contexts": {}
}

View File

@ -0,0 +1,191 @@
# 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/display/VIAVERSION/Configuration
#
#----------------------------------------------------------#
# GLOBAL OPTIONS #
#----------------------------------------------------------#
#
# Should ViaVersion check for updates?
checkforupdates: 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: []
# Block specific Minecraft protocol version numbers.
# List of all Minecraft protocol versions: https://wiki.vg/Protocol_version_numbers, 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 customise 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 and block data over versions, should we suppress these? (Only suggested if spamming)
suppress-conversion-warnings: false
#
#----------------------------------------------------------#
# VELOCITY OPTIONS #
#----------------------------------------------------------#
#
# Velocity allows you to have different server versions inside.
# Instead of you entering all the versions of these servers, we can ping them.
#
# What interval would you like us to ping at? (in seconds)
# Use -1 to disable.
velocity-ping-interval: 60
# If the above is enabled, should we save the info to the config (in the section below)
velocity-ping-save: true
# To get a server's protocol, ViaVersion will do the following:
# Look for the server in the following section, then look for the last ping if velocity-ping is enabled
# otherwise use default.
#
# The format for the following is:
# servername: protocolversion
# You can find protocol ids on https://wiki.vg/Protocol_version_numbers
# It will fall back to the default option if none found.
velocity-servers:
default: 393
login: 764
survival: 765
#
#----------------------------------------------------------#
# 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 counts 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
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
# Should we fix nbt for 1.12 and above clients in chat messages (causes invalid item)
chat-nbt-fix: true
# Should we use prefix for team colour 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 collision, 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
# 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
# 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 subsequent 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
#
#----------------------------------------------------------#
# 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 metadata 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 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 replace extended pistons to fix 1.10.1 (Only on chunk load)
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
# Force the string -> json transform
force-json-transform: false
# Minimize the cooldown animation in 1.8 servers
minimize-cooldown: true
# Allows 1.9+ left-handedness (main hand) on 1.8 servers
left-handed-handling: true

11
proxy/proxy.env Normal file
View File

@ -0,0 +1,11 @@
TYPE=VELOCITY
SERVER_PORT=25565
SPIGET_PLUGINS=19254
# https://www.spigotmc.org/resources/19254/
PLUGINS=https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/velocity,https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/velocity,https://github.com/kyngs/LibreLogin/releases/latest/download/LibreLogin.jar,https://download.luckperms.net/1526/velocity/LuckPerms-Velocity-5.4.113.jar
# GeyserMC https://geysermc.org/ https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/velocity
# Floodgate https://wiki.geysermc.org/floodgate/ https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/velocity
# LibreLogin https://github.com/kyngs/LibreLogin https://github.com/kyngs/LibreLogin/releases/latest/download/LibreLogin.jar
# LuckPerms https://luckperms.net https://download.luckperms.net/1526/velocity/LuckPerms-Velocity-5.4.113.jar

148
proxy/velocity.toml Normal file
View File

@ -0,0 +1,148 @@
# Config version. Do not change this
config-version = "2.6"
# What port should the proxy be bound to? By default, we'll bind to all addresses on port 25577.
bind = "0.0.0.0:25565"
# What should be the MOTD? This gets displayed when the player adds your server to
# their server list. Only MiniMessage format is accepted.
motd = "<#09add3>A Velocity Server"
# What should we display for the maximum number of players? (Velocity does not support a cap
# on the number of players online.)
show-max-players = 500
# Should we authenticate players with Mojang? By default, this is on.
online-mode = false
# Should the proxy enforce the new public key security standard? By default, this is on.
force-key-authentication = true
# If client's ISP/AS sent from this proxy is different from the one from Mojang's
# authentication server, the player is kicked. This disallows some VPN and proxy
# connections but is a weak form of protection.
prevent-client-proxy-connections = false
# Should we forward IP addresses and other data to backend servers?
# Available options:
# - "none": No forwarding will be done. All players will appear to be connecting
# from the proxy and will have offline-mode UUIDs.
# - "legacy": Forward player IPs and UUIDs in a BungeeCord-compatible format. Use this
# if you run servers using Minecraft 1.12 or lower.
# - "bungeeguard": Forward player IPs and UUIDs in a format supported by the BungeeGuard
# plugin. Use this if you run servers using Minecraft 1.12 or lower, and are
# unable to implement network level firewalling (on a shared host).
# - "modern": Forward player IPs and UUIDs as part of the login process using
# Velocity's native forwarding. Only applicable for Minecraft 1.13 or higher.
player-info-forwarding-mode = "modern"
# If you are using modern or BungeeGuard IP forwarding, configure a file that contains a unique secret here.
# The file is expected to be UTF-8 encoded and not empty.
forwarding-secret-file = "forwarding.secret"
# Announce whether or not your server supports Forge. If you run a modded server, we
# suggest turning this on.
#
# If your network runs one modpack consistently, consider using ping-passthrough = "mods"
# instead for a nicer display in the server list.
announce-forge = false
# If enabled (default is false) and the proxy is in online mode, Velocity will kick
# any existing player who is online if a duplicate connection attempt is made.
kick-existing-players = false
# Should Velocity pass server list ping requests to a backend server?
# Available options:
# - "disabled": No pass-through will be done. The velocity.toml and server-icon.png
# will determine the initial server list ping response.
# - "mods": Passes only the mod list from your backend server into the response.
# The first server in your try list (or forced host) with a mod list will be
# used. If no backend servers can be contacted, Velocity won't display any
# mod information.
# - "description": Uses the description and mod list from the backend server. The first
# server in the try (or forced host) list that responds is used for the
# description and mod list.
# - "all": Uses the backend server's response as the proxy response. The Velocity
# configuration is used if no servers could be contacted.
ping-passthrough = "DISABLED"
# If not enabled (default is true) player IP addresses will be replaced by <ip address withheld> in logs
enable-player-address-logging = true
[servers]
# Configure your servers here. Each key represents the server's name, and the value
# represents the IP address of the server to connect to.
login = "login:65535"
survival = "survival:25551"
# In what order we should try servers when a player logs in or is kicked from a server.
try = [
"login"
]
[forced-hosts]
# Configure your forced hosts here.
#"lobby.example.com" = [
# "lobby"
#]
[advanced]
# How large a Minecraft packet has to be before we compress it. Setting this to zero will
# compress all packets, and setting it to -1 will disable compression entirely.
compression-threshold = 256
# How much compression should be done (from 0-9). The default is -1, which uses the
# default level of 6.
compression-level = -1
# How fast (in milliseconds) are clients allowed to connect after the last connection? By
# default, this is three seconds. Disable this by setting this to 0.
login-ratelimit = 3000
# Specify a custom timeout for connection timeouts here. The default is five seconds.
connection-timeout = 5000
# Specify a read timeout for connections here. The default is 30 seconds.
read-timeout = 30000
# Enables compatibility with HAProxy's PROXY protocol. If you don't know what this is for, then
# don't enable it.
haproxy-protocol = false
# Enables TCP fast open support on the proxy. Requires the proxy to run on Linux.
tcp-fast-open = false
# Enables BungeeCord plugin messaging channel support on Velocity.
bungee-plugin-message-channel = true
# Shows ping requests to the proxy from clients.
show-ping-requests = false
# By default, Velocity will attempt to gracefully handle situations where the user unexpectedly
# loses connection to the server without an explicit disconnect message by attempting to fall the
# user back, except in the case of read timeouts. BungeeCord will disconnect the user instead. You
# can disable this setting to use the BungeeCord behavior.
failover-on-unexpected-server-disconnect = true
# Declares the proxy commands to 1.13+ clients.
announce-proxy-commands = true
# Enables the logging of commands
log-command-executions = false
# Enables logging of player connections when connecting to the proxy, switching servers
# and disconnecting from the proxy.
log-player-connections = true
[query]
# Whether to enable responding to GameSpy 4 query responses or not.
enabled = false
# If query is enabled, on what port should the query protocol listen on?
port = 25577
# This is the map name that is reported to the query services.
map = "Velocity"
# Whether plugins should be shown in query response by default or not
show-plugins = false

32
survival/bukkit.yml Normal file
View File

@ -0,0 +1,32 @@
settings:
allow-end: true
warn-on-overload: true
permissions-file: permissions.yml
update-folder: update
plugin-profiling: false
connection-throttle: 4000
query-plugins: true
deprecated-verbose: default
shutdown-message: Server closed
minimum-api: none
use-map-color-cache: true
spawn-limits:
monsters: 70
animals: 10
water-animals: 5
water-ambient: 20
water-underground-creature: 5
axolotls: 5
ambient: 15
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
autosave: 6000
aliases: now-in-commands.yml

5
survival/commands.yml Normal file
View File

@ -0,0 +1,5 @@
command-block-overrides: []
ignore-vanilla-permissions: false
aliases:
icanhasbukkit:
- version $1-

View File

@ -0,0 +1,129 @@
# This is the global configuration file for Paper.
# As you can see, there's a lot to configure. Some options may impact gameplay, so use
# with caution, and make sure you know what each option does before configuring.
#
# If you need help with the configuration or have any questions related to Paper,
# join us in our Discord or check the docs page.
#
# The world configuration options have been moved inside
# their respective world folder. The files are named paper-world.yml
#
# Docs: https://docs.papermc.io/
# Discord: https://discord.gg/papermc
# Website: https://papermc.io/
_version: 29
block-updates:
disable-chorus-plant-updates: false
disable-mushroom-block-updates: false
disable-noteblock-updates: false
disable-tripwire-updates: false
chunk-loading-advanced:
auto-config-send-distance: true
player-max-concurrent-chunk-generates: 0
player-max-concurrent-chunk-loads: 0
chunk-loading-basic:
player-max-chunk-generate-rate: -1.0
player-max-chunk-load-rate: 100.0
player-max-chunk-send-rate: 75.0
chunk-system:
gen-parallelism: default
io-threads: -1
worker-threads: -1
collisions:
enable-player-collisions: true
send-full-pos-for-hard-colliding-entities: true
commands:
fix-target-selector-tag-completion: true
suggest-player-names-when-null-tab-completions: true
time-command-affects-all-worlds: false
console:
enable-brigadier-completions: true
enable-brigadier-highlighting: true
has-all-permissions: false
item-validation:
book:
author: 8192
page: 16384
title: 8192
book-size:
page-max: 2560
total-multiplier: 0.98
display-name: 8192
lore-line: 8192
resolve-selectors-in-books: false
logging:
deobfuscate-stacktraces: true
messages:
kick:
authentication-servers-down: <lang:multiplayer.disconnect.authservers_down>
connection-throttle: Connection throttled! Please wait before reconnecting.
flying-player: <lang:multiplayer.disconnect.flying>
flying-vehicle: <lang:multiplayer.disconnect.flying>
no-permission: <red>I'm sorry, but you do not have permission to perform this command.
Please contact the server administrators if you believe that this is in error.
use-display-name-in-quit-message: false
misc:
chat-threads:
chat-executor-core-size: -1
chat-executor-max-size: -1
compression-level: default
fix-entity-position-desync: true
load-permissions-yml-before-plugins: true
max-joins-per-tick: 5
region-file-cache-size: 256
strict-advancement-dimension-check: false
use-alternative-luck-formula: false
use-dimension-type-for-custom-spawners: false
packet-limiter:
all-packets:
action: KICK
interval: 7.0
max-packet-rate: 500.0
kick-message: <red><lang:disconnect.exceeded_packet_rate>
overrides:
ServerboundPlaceRecipePacket:
action: DROP
interval: 4.0
max-packet-rate: 5.0
player-auto-save:
max-per-tick: -1
rate: -1
proxies:
bungee-cord:
online-mode: true
proxy-protocol: false
velocity:
enabled: true
online-mode: false
secret: JZ64ENIyVhvQ
scoreboards:
save-empty-scoreboard-teams: false
track-plugin-scoreboards: false
spam-limiter:
incoming-packet-threshold: 300
recipe-spam-increment: 1
recipe-spam-limit: 20
tab-spam-increment: 1
tab-spam-limit: 500
timings:
enabled: true
hidden-config-entries:
- database
- proxies.velocity.secret
history-interval: 300
history-length: 3600
server-name: Unknown Server
server-name-privacy: false
url: https://timings.aikar.co/
verbose: true
unsupported-settings:
allow-grindstone-overstacking: false
allow-headless-pistons: false
allow-permanent-block-break-exploits: false
allow-piston-duplication: false
compression-format: ZLIB
perform-username-validation: true
watchdog:
early-warning-delay: 10000
early-warning-every: 5000

View File

@ -0,0 +1,307 @@
# This is the world defaults configuration file for Paper.
# As you can see, there's a lot to configure. Some options may impact gameplay, so use
# with caution, and make sure you know what each option does before configuring.
#
# If you need help with the configuration or have any questions related to Paper,
# join us in our Discord or check the docs page.
#
# Configuration options here apply to all worlds, unless you specify overrides inside
# the world-specific config file inside each world folder.
#
# Docs: https://docs.papermc.io/
# Discord: https://discord.gg/papermc
# Website: https://papermc.io/
_version: 30
anticheat:
anti-xray:
enabled: false
engine-mode: 1
hidden-blocks:
- copper_ore
- deepslate_copper_ore
- raw_copper_block
- gold_ore
- deepslate_gold_ore
- iron_ore
- deepslate_iron_ore
- raw_iron_block
- coal_ore
- deepslate_coal_ore
- lapis_ore
- deepslate_lapis_ore
- mossy_cobblestone
- obsidian
- chest
- diamond_ore
- deepslate_diamond_ore
- redstone_ore
- deepslate_redstone_ore
- clay
- emerald_ore
- deepslate_emerald_ore
- ender_chest
lava-obscures: false
max-block-height: 64
replacement-blocks:
- stone
- oak_planks
- deepslate
update-radius: 2
use-permission: false
obfuscation:
items:
hide-durability: false
hide-itemmeta: false
hide-itemmeta-with-visual-effects: false
chunks:
auto-save-interval: default
delay-chunk-unloads-by: 10s
entity-per-chunk-save-limit:
arrow: -1
ender_pearl: -1
experience_orb: -1
fireball: -1
small_fireball: -1
snowball: -1
fixed-chunk-inhabited-time: -1
flush-regions-on-save: false
max-auto-save-chunks-per-tick: 24
prevent-moving-into-unloaded-chunks: false
collisions:
allow-player-cramming-damage: false
allow-vehicle-collisions: true
fix-climbing-bypassing-cramming-rule: false
max-entity-collisions: 8
only-players-collide: false
command-blocks:
force-follow-perm-level: true
permissions-level: 2
entities:
armor-stands:
do-collision-entity-lookups: true
tick: true
behavior:
allow-spider-world-border-climbing: true
baby-zombie-movement-modifier: 0.5
disable-chest-cat-detection: false
disable-creeper-lingering-effect: false
disable-player-crits: false
door-breaking-difficulty:
husk:
- HARD
vindicator:
- NORMAL
- HARD
zombie:
- HARD
zombie_villager:
- HARD
zombified_piglin:
- HARD
ender-dragons-death-always-places-dragon-egg: false
experience-merge-max-value: -1
mobs-can-always-pick-up-loot:
skeletons: false
zombies: false
nerf-pigmen-from-nether-portals: false
parrots-are-unaffected-by-player-movement: false
phantoms-do-not-spawn-on-creative-players: true
phantoms-only-attack-insomniacs: true
phantoms-spawn-attempt-max-seconds: 119
phantoms-spawn-attempt-min-seconds: 60
piglins-guard-chests: true
pillager-patrols:
disable: false
spawn-chance: 0.2
spawn-delay:
per-player: false
ticks: 12000
start:
day: 5
per-player: false
player-insomnia-start-ticks: 72000
should-remove-dragon: false
spawner-nerfed-mobs-should-jump: false
zombie-villager-infection-chance: default
zombies-target-turtle-eggs: true
entities-target-with-follow-range: false
markers:
tick: true
mob-effects:
immune-to-wither-effect:
wither: true
wither-skeleton: true
spiders-immune-to-poison-effect: true
undead-immune-to-certain-effects: true
sniffer:
boosted-hatch-time: default
hatch-time: default
spawning:
all-chunks-are-slime-chunks: false
alt-item-despawn-rate:
enabled: false
items:
cobblestone: 300
count-all-mobs-for-spawning: false
creative-arrow-despawn-rate: default
despawn-ranges:
ambient:
hard: 128
soft: 32
axolotls:
hard: 128
soft: 32
creature:
hard: 128
soft: 32
misc:
hard: 128
soft: 32
monster:
hard: 128
soft: 32
underground_water_creature:
hard: 128
soft: 32
water_ambient:
hard: 64
soft: 32
water_creature:
hard: 128
soft: 32
disable-mob-spawner-spawn-egg-transformation: false
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
iron-golems-can-spawn-in-air: false
monster-spawn-max-light-level: default
non-player-arrow-despawn-rate: default
per-player-mob-spawns: true
scan-for-legacy-ender-dragon: true
skeleton-horse-thunder-spawn-chance: default
slime-spawn-height:
slime-chunk:
maximum: 40.0
surface-biome:
maximum: 70.0
minimum: 50.0
spawn-limits:
ambient: -1
axolotls: -1
creature: -1
monster: -1
underground_water_creature: -1
water_ambient: -1
water_creature: -1
wandering-trader:
spawn-chance-failure-increment: 25
spawn-chance-max: 75
spawn-chance-min: 25
spawn-day-length: 24000
spawn-minute-length: 1200
wateranimal-spawn-height:
maximum: default
minimum: default
tracking-range-y:
animal: default
display: default
enabled: false
misc: default
monster: default
other: default
player: default
environment:
disable-explosion-knockback: false
disable-ice-and-snow: false
disable-teleportation-suffocation-check: false
disable-thunder: false
fire-tick-delay: 30
frosted-ice:
delay:
max: 40
min: 20
enabled: true
generate-flat-bedrock: false
nether-ceiling-void-damage-height: disabled
optimize-explosions: false
portal-create-radius: 16
portal-search-radius: 128
portal-search-vanilla-dimension-scaling: true
treasure-maps:
enabled: true
find-already-discovered:
loot-tables: default
villager-trade: false
water-over-lava-flow-speed: 5
feature-seeds:
generate-random-seeds-for-all: false
fishing-time-range:
maximum: 600
minimum: 100
fixes:
disable-unloaded-chunk-enderpearl-exploit: true
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
disable-move-event: false
ignore-occluding-blocks: false
lootables:
auto-replenish: false
max-refills: -1
refresh-max: 2d
refresh-min: 12h
reset-seed-on-fill: true
restrict-player-reloot: true
restrict-player-reloot-time: disabled
maps:
item-frame-cursor-limit: 128
item-frame-cursor-update-interval: 10
max-growth-height:
bamboo:
max: 16
min: 11
cactus: 3
reeds: 3
misc:
disable-end-credits: false
disable-relative-projectile-velocity: false
disable-sprint-interruption-on-attack: false
light-queue-size: 20
max-leash-distance: 10.0
redstone-implementation: VANILLA
shield-blocking-delay: 5
show-sign-click-command-failure-msgs-to-player: false
update-pathfinding-on-block-update: true
scoreboards:
allow-non-player-entities-on-scoreboards: true
use-vanilla-world-scoreboard-name-coloring: false
spawn:
allow-using-signs-inside-spawn-protection: false
keep-spawn-loaded: true
keep-spawn-loaded-range: 10
tick-rates:
behavior:
villager:
validatenearbypoi: -1
container-update: 1
dry-farmland: 1
grass-spread: 1
mob-spawner: 1
sensor:
villager:
secondarypoisensor: 40
wet-farmland: 1
unsupported-settings:
fix-invulnerable-end-crystal-exploit: true

View File

@ -0,0 +1,721 @@
####################################################################################################
# +----------------------------------------------------------------------------------------------+ #
# | __ __ ___ __ __ | #
# | | | | / ` |__/ |__) |__ |__) |\/| /__` | #
# | |___ \__/ \__, | \ | |___ | \ | | .__/ | #
# | | #
# | https://luckperms.net | #
# | | #
# | WIKI: https://luckperms.net/wiki | #
# | DISCORD: https://discord.gg/luckperms | #
# | BUG REPORTS: https://github.com/LuckPerms/LuckPerms/issues | #
# | | #
# | Each option in this file is documented and explained here: | #
# | ==> https://luckperms.net/wiki/Configuration | #
# | | #
# | New options are not added to this file automatically. Default values are used if an | #
# | option cannot be found. The latest config versions can be obtained at the link above. | #
# +----------------------------------------------------------------------------------------------+ #
####################################################################################################
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | ESSENTIAL SETTINGS | #
# | | #
# | Important settings that control how LuckPerms functions. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# The name of the server, used for server specific permissions.
#
# - 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: global
# If the servers own UUID cache/lookup facility should be used when there is no record for a player
# already in LuckPerms.
#
# - When this is set to 'false', commands using a player's username will not work unless the player
# has joined since LuckPerms was first installed.
# - To get around this, you can use a player's uuid directly in the command, or enable this option.
# - When this is set to 'true', the server facility is used. This may use a number of methods,
# including checking the servers local cache, or making a request to the Mojang API.
use-server-uuid-cache: false
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | STORAGE SETTINGS | #
# | | #
# | Controls which storage method LuckPerms will use to store data. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# How the plugin should store data
#
# - The various options are explained in more detail on the wiki:
# https://luckperms.net/wiki/Storage-types
#
# - Possible options:
#
# | Remote databases - require connection information to be configured below
# |=> MySQL
# |=> MariaDB (preferred over MySQL)
# |=> PostgreSQL
# |=> MongoDB
#
# | Flatfile/local database - don't require any extra configuration
# |=> H2 (preferred over SQLite)
# |=> SQLite
#
# | Readable & editable text files - don't require any extra configuration
# |=> YAML (.yml files)
# |=> JSON (.json files)
# |=> HOCON (.conf files)
# |=> TOML (.toml files)
# |
# | By default, user, group and track data is separated into different files. Data can be combined
# | and all stored in the same file by switching to a combined storage variant.
# | Just add '-combined' to the end of the storage-method, e.g. 'yaml-combined'
#
# - A H2 database is the default option.
# - If you want to edit data manually in "traditional" storage files, we suggest using YAML.
storage-method: h2
# The following block defines the settings for remote database storage methods.
#
# - You don't need to touch any of the settings here if you're using a local storage method!
# - The connection detail options are shared between all remote storage types.
data:
# Define the address and port for the database.
# - The standard DB engine port is used by default
# (MySQL: 3306, PostgreSQL: 5432, MongoDB: 27017)
# - Specify as "host:port" if differs
address: localhost
# The name of the database to store LuckPerms data in.
# - This must be created already. Don't worry about this setting if you're using MongoDB.
database: minecraft
# Credentials for the database.
username: root
password: ''
# These settings apply to the MySQL connection pool.
# - The default values will be suitable for the majority of users.
# - Do not change these settings unless you know what you're doing!
pool-settings:
# Sets the maximum size of the MySQL connection pool.
# - Basically this value will determine the maximum number of actual
# connections to the database backend.
# - More information about determining the size of connection pools can be found here:
# https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing
maximum-pool-size: 10
# Sets the minimum number of idle connections that the pool will try to maintain.
# - For maximum performance and responsiveness to spike demands, it is recommended to not set
# this value and instead allow the pool to act as a fixed size connection pool.
# (set this value to the same as 'maximum-pool-size')
minimum-idle: 10
# This setting controls the maximum lifetime of a connection in the pool in milliseconds.
# - The value should be at least 30 seconds less than any database or infrastructure imposed
# connection time limit.
maximum-lifetime: 1800000 # 30 minutes
# This setting controls how frequently the pool will 'ping' a connection in order to prevent it
# from being timed out by the database or network infrastructure, measured in milliseconds.
# - The value should be less than maximum-lifetime and greater than 30000 (30 seconds).
# - Setting the value to zero will disable the keepalive functionality.
keepalive-time: 0
# This setting controls the maximum number of milliseconds that the plugin will wait for a
# connection from the pool, before timing out.
connection-timeout: 5000 # 5 seconds
# This setting allows you to define extra properties for connections.
#
# By default, the following options are set to enable utf8 encoding. (you may need to remove
# these if you are using PostgreSQL)
# useUnicode: true
# characterEncoding: utf8
#
# You can also use this section to disable SSL connections, by uncommenting the 'useSSL' and
# 'verifyServerCertificate' options below.
properties:
useUnicode: true
characterEncoding: utf8
#useSSL: false
#verifyServerCertificate: false
# The prefix for all LuckPerms SQL tables.
#
# - This only applies for remote SQL storage types (MySQL, MariaDB, etc).
# - Change this if you want to use different tables for different servers.
table-prefix: 'luckperms_'
# The prefix to use for all LuckPerms MongoDB collections.
#
# - This only applies for the MongoDB storage type.
# - Change this if you want to use different collections for different servers. The default is no
# prefix.
mongodb-collection-prefix: ''
# The connection string URI to use to connect to the MongoDB instance.
#
# - When configured, this setting will override anything defined in the address, database,
# username or password fields above.
# - If you have a connection string that starts with 'mongodb://' or 'mongodb+srv://', enter it
# below.
# - For more information, please see https://docs.mongodb.com/manual/reference/connection-string/
mongodb-connection-uri: ''
# Define settings for a "split" storage setup.
#
# - This allows you to define a storage method for each type of data.
# - The connection options above still have to be correct for each type here.
split-storage:
# Don't touch this if you don't want to use split storage!
enabled: false
methods:
# These options don't need to be modified if split storage isn't enabled.
user: h2
group: h2
track: h2
uuid: h2
log: h2
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | UPDATE PROPAGATION & MESSAGING SERVICE | #
# | | #
# | Controls the ways in which LuckPerms will sync data & notify other servers of changes. | #
# | These options are documented on greater detail on the wiki under "Instant Updates". | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# This option controls how frequently LuckPerms will perform a sync task.
#
# - A sync task will refresh all data from the storage, and ensure that the most up-to-date data is
# being used by the plugin.
# - This is disabled by default, as most users will not need it. However, if you're using a remote
# storage type without a messaging service setup, you may wish to set this to something like 3.
# - Set to -1 to disable the task completely.
sync-minutes: -1
# If the file watcher should be enabled.
#
# - When using a file-based storage type, LuckPerms can monitor the data files for changes, and
# automatically update when changes are detected.
# - If you don't want this feature to be active, set this option to false.
watch-files: true
# Define which messaging service should be used by the plugin.
#
# - If enabled and configured, LuckPerms will use the messaging service to inform other connected
# servers of changes.
# - Use the command "/lp networksync" to manually push changes.
# - Data is NOT stored using this service. It is only used as a messaging platform.
#
# - If you decide to enable this feature, you should set "sync-minutes" to -1, as there is no need
# for LuckPerms to poll the database for changes.
#
# - Possible options:
# => sql Uses the SQL database to form a queue system for communication. Will only work when
# 'storage-method' is set to MySQL or MariaDB. This is chosen by default if the
# option is set to 'auto' and SQL storage is in use. Set to 'notsql' to disable this.
# => pluginmsg Uses the plugin messaging channels to communicate with the proxy.
# LuckPerms must be installed on your proxy & all connected servers backend servers.
# Won't work if you have more than one proxy.
# => lilypad Uses LilyPad pub-sub to push changes. You need to have the LilyPad-Connect plugin
# installed.
# => redis Uses Redis pub-sub to push changes. Your server connection info must be configured
# below.
# => rabbitmq Uses RabbitMQ pub-sub to push changes. Your server connection info must be
# configured below.
# => nats Uses Nats pub-sub to push changes. Your server connection info must be
# configured below.
# => custom Uses a messaging service provided using the LuckPerms API.
# => auto Attempts to automatically setup a messaging service using redis or sql.
messaging-service: auto
# If LuckPerms should automatically push updates after a change has been made with a command.
auto-push-updates: true
# If LuckPerms should push logging entries to connected servers via the messaging service.
push-log-entries: true
# If LuckPerms should broadcast received logging entries to players on this platform.
#
# - If you have LuckPerms installed on your backend servers as well as a BungeeCord proxy, you
# should set this option to false on either your backends or your proxies, to avoid players being
# messaged twice about log entries.
broadcast-received-log-entries: true
# Settings for Redis.
# Port 6379 is used by default; set address to "host:port" if differs
# Multiple Redis nodes can be specified in the same format as a string list under the name "addresses".
redis:
enabled: false
address: localhost
username: ''
password: ''
# Settings for Nats.
# Port 4222 is used by default; set address to "host:port" if differs
nats:
enabled: false
address: localhost
username: ''
password: ''
# Settings for RabbitMQ.
# Port 5672 is used by default; set address to "host:port" if differs
rabbitmq:
enabled: false
address: localhost
vhost: '/'
username: 'guest'
password: 'guest'
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | CUSTOMIZATION SETTINGS | #
# | | #
# | Settings that allow admins to customize the way LuckPerms operates. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# Controls how temporary permissions/parents/meta should be accumulated.
#
# - The default behaviour is "deny".
# - This behaviour can also be specified when the command is executed. See the command usage
# documentation for more info.
#
# - Possible options:
# => accumulate durations will be added to the existing expiry time
# => replace durations will be replaced if the new duration is later than the current
# expiration
# => deny the command will just fail if you try to add another node with the same expiry
temporary-add-behaviour: deny
# Controls how LuckPerms will determine a users "primary" group.
#
# - The meaning and influence of "primary groups" are explained in detail on the wiki.
# - The preferred approach is to let LuckPerms automatically determine a users primary group
# based on the relative weight of their parent groups.
#
# - Possible options:
# => stored use the value stored against the users record in the file/database
# => parents-by-weight just use the users most highly weighted parent
# => all-parents-by-weight same as above, but calculates based upon all parents inherited from
# both directly and indirectly
primary-group-calculation: parents-by-weight
# If the plugin should check for "extra" permissions with users run LP commands.
#
# - These extra permissions allow finer control over what users can do with each command, and who
# they have access to edit.
# - The nature of the checks are documented on the wiki under "Argument based command permissions".
# - Argument based permissions are *not* static, unlike the 'base' permissions, and will depend upon
# the arguments given within the command.
argument-based-command-permissions: false
# If the plugin should check whether senders are a member of a given group before they're able to
# edit the groups data or add/remove other users to/from it.
# Note: these limitations do not apply to the web editor!
require-sender-group-membership-to-modify: false
# If the plugin should send log notifications to users whenever permissions are modified.
#
# - Notifications are only sent to those with the appropriate permission to receive them
# - They can also be temporarily enabled/disabled on a per-user basis using
# '/lp log notify <on|off>'
log-notify: true
# Defines a list of log entries which should not be sent as notifications to users.
#
# - Each entry in the list is a RegEx expression which is matched against the log entry description.
log-notify-filtered-descriptions:
# - "parent add example"
# If LuckPerms should automatically install translation bundles and periodically update them.
auto-install-translations: true
# Defines the options for prefix and suffix stacking.
#
# - The feature allows you to display multiple prefixes or suffixes alongside a players username in
# chat.
# - It is explained and documented in more detail on the wiki under "Prefix & Suffix Stacking".
#
# - The options are divided into separate sections for prefixes and suffixes.
# - The 'duplicates' setting refers to how duplicate elements are handled. Can be 'retain-all',
# 'first-only' or 'last-only'.
# - The value of 'start-spacer' is included at the start of the resultant prefix/suffix.
# - The value of 'end-spacer' is included at the end of the resultant prefix/suffix.
# - The value of 'middle-spacer' is included between each element in the resultant prefix/suffix.
#
# - Possible format options:
# => highest Selects the value with the highest weight, from all values
# held by or inherited by the player.
#
# => lowest Same as above, except takes the one with the lowest weight.
#
# => highest_own Selects the value with the highest weight, but will not
# accept any inherited values.
#
# => lowest_own Same as above, except takes the value with the lowest weight.
#
# => highest_inherited Selects the value with the highest weight, but will only
# accept inherited values.
#
# => lowest_inherited Same as above, except takes the value with the lowest weight.
#
# => highest_on_track_<track> Selects the value with the highest weight, but only if the
# value was inherited from a group on the given track.
#
# => lowest_on_track_<track> Same as above, except takes the value with the lowest weight.
#
# => highest_not_on_track_<track> Selects the value with the highest weight, but only if the
# value was inherited from a group not on the given track.
#
# => lowest_not_on_track_<track> Same as above, except takes the value with the lowest weight.
#
# => highest_from_group_<group> Selects the value with the highest weight, but only if the
# value was inherited from the given group.
#
# => lowest_from_group_<group> Same as above, except takes the value with the lowest weight.
#
# => highest_not_from_group_<group> Selects the value with the highest weight, but only if the
# value was not inherited from the given group.
#
# => lowest_not_from_group_<group> Same as above, except takes the value with the lowest weight.
meta-formatting:
prefix:
format:
- "highest"
duplicates: first-only
start-spacer: ""
middle-spacer: " "
end-spacer: ""
suffix:
format:
- "highest"
duplicates: first-only
start-spacer: ""
middle-spacer: " "
end-spacer: ""
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | PERMISSION CALCULATION AND INHERITANCE | #
# | | #
# | Modify the way permission checks, meta lookups and inheritance resolutions are handled. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# The algorithm LuckPerms should use when traversing the "inheritance tree".
#
# - Possible options:
# => breadth-first See: https://en.wikipedia.org/wiki/Breadth-first_search
# => depth-first-pre-order See: https://en.wikipedia.org/wiki/Depth-first_search
# => depth-first-post-order See: https://en.wikipedia.org/wiki/Depth-first_search
inheritance-traversal-algorithm: depth-first-pre-order
# If a final sort according to "inheritance rules" should be performed after the traversal algorithm
# has resolved the inheritance tree.
#
# "Inheritance rules" refers to things such as group weightings, primary group status, and the
# natural contextual ordering of the group nodes.
#
# Setting this to 'true' will allow for the inheritance rules to take priority over the structure of
# the inheritance tree.
#
# Effectively when this setting is 'true': the tree is flattened, and rules applied afterwards,
# and when this setting is 'false':, the rules are just applied during each step of the traversal.
post-traversal-inheritance-sort: false
# Defines the mode used to determine whether a set of contexts are satisfied.
#
# - Possible options:
# => at-least-one-value-per-key Set A will be satisfied by another set B, if at least one of the
# key-value entries per key in A are also in B.
# => all-values-per-key Set A will be satisfied by another set B, if all key-value
# entries in A are also in B.
context-satisfy-mode: at-least-one-value-per-key
# LuckPerms has a number of built-in contexts. These can be disabled by adding the context key to
# the list below.
disabled-contexts:
# - "world"
# +----------------------------------------------------------------------------------------------+ #
# | Permission resolution settings | #
# +----------------------------------------------------------------------------------------------+ #
# If users on this server should have their global permissions applied.
# When set to false, only server specific permissions will apply for users on this server
include-global: true
# If users on this server should have their global world permissions applied.
# When set to false, only world specific permissions will apply for users on this server
include-global-world: true
# If users on this server should have global (non-server specific) groups applied
apply-global-groups: true
# If users on this server should have global (non-world specific) groups applied
apply-global-world-groups: true
# +----------------------------------------------------------------------------------------------+ #
# | Meta lookup settings | #
# +----------------------------------------------------------------------------------------------+ #
# Defines how meta values should be selected.
#
# - Possible options:
# => inheritance Selects the meta value that was inherited first
# => highest-number Selects the highest numerical meta value
# => lowest-number Selects the lowest numerical meta value
meta-value-selection-default: inheritance
# Defines how meta values should be selected per key.
meta-value-selection:
# max-homes: highest-number
# +----------------------------------------------------------------------------------------------+ #
# | Inheritance settings | #
# +----------------------------------------------------------------------------------------------+ #
# If the plugin should apply wildcard permissions.
#
# - If set to true, LuckPerms will detect wildcard permissions, and resolve & apply all registered
# permissions matching the wildcard.
apply-wildcards: true
# If LuckPerms should resolve and apply permissions according to the Sponge style implicit wildcard
# inheritance system.
#
# - That being: If a user has been granted "example", then the player should have also be
# automatically granted "example.function", "example.another", "example.deeper.nesting",
# and so on.
apply-sponge-implicit-wildcards: false
# If the plugin should apply negated Bukkit default permissions before it considers wildcard
# assignments.
#
# - Plugin authors can define permissions which explicitly should not be given automatically to OPs.
# This is usually used for so called "anti-permissions" - permissions which, when granted, apply
# something negative.
# - If this option is set to true, LuckPerms will consider any negated declarations made by
# plugins before it considers wildcards. (similar to the way the OP system works)
# - If this option is set to false, LuckPerms will consider any wildcard assignments first.
apply-default-negated-permissions-before-wildcards: false
# If the plugin should parse regex permissions.
#
# - If set to true, LuckPerms will detect regex permissions, marked with "r=" at the start of the
# node, and resolve & apply all registered permissions matching the regex.
apply-regex: true
# If the plugin should complete and apply shorthand permissions.
#
# - If set to true, LuckPerms will detect and expand shorthand node patterns.
apply-shorthand: true
# If the plugin should apply Bukkit child permissions.
#
# - Plugin authors can define custom permissions structures for their plugin, which will be resolved
# and used by LuckPerms if this setting is enabled.
apply-bukkit-child-permissions: true
# If the plugin should apply Bukkit default permissions.
#
# - Plugin authors can define permissions which should be given to all users by default, or setup
# permissions which should/shouldn't be given to opped players.
# - If this option is set to false, LuckPerms will ignore these defaults.
apply-bukkit-default-permissions: true
# If the plugin should apply attachment permissions.
#
# - Other plugins on the server are able to add their own "permission attachments" to players.
# - This allows them to grant players additional permissions which last until the end of the
# session, or until they're removed.
# - If this option is set to false, LuckPerms will not include these attachment permissions when
# considering if a player should have access to a certain permission.
apply-bukkit-attachment-permissions: true
# +----------------------------------------------------------------------------------------------+ #
# | Extra settings | #
# +----------------------------------------------------------------------------------------------+ #
# A list of context calculators which will be skipped when calculating contexts.
#
# - You can disable context calculators by either:
# => specifying the Java class name used by the calculator (e.g. com.example.ExampleCalculator)
# => specifying a sub-section of the Java package used by the calculator (e.g. com.example)
disabled-context-calculators: []
# Allows you to set "aliases" for the worlds sent forward for context calculation.
#
# - These aliases are provided in addition to the real world name. Applied recursively.
# - Remove the comment characters for the default aliases to apply.
world-rewrite:
# world_nether: world
# world_the_end: world
# Define special group weights for this server.
#
# - Group weights can also be applied directly to group data, using the setweight command.
# - This section allows weights to be set on a per-server basis.
group-weight:
# admin: 10
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | FINE TUNING OPTIONS | #
# | | #
# | A number of more niche settings for tweaking and changing behaviour. The section also | #
# | contains toggles for some more specialised features. It is only necessary to make changes to | #
# | these options if you want to fine-tune LuckPerms behaviour. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# +----------------------------------------------------------------------------------------------+ #
# | Server Operator (OP) settings | #
# +----------------------------------------------------------------------------------------------+ #
# Controls whether server operators should exist at all.
#
# - When set to 'false', all players will be de-opped, and the /op and /deop commands will be
# disabled. Note that vanilla features like the spawn-protection require an operator on the
# server to work.
enable-ops: true
# Enables or disables a special permission based system in LuckPerms for controlling OP status.
#
# - If set to true, any user with the permission "luckperms.autoop" will automatically be granted
# server operator status. This permission can be inherited, or set on specific servers/worlds,
# temporarily, etc.
# - Additionally, setting this to true will force the "enable-ops" option above to false. All users
# will be de-opped unless they have the permission node, and the op/deop commands will be
# disabled.
# - It is recommended that you use this option instead of assigning a single '*' permission.
auto-op: false
# Defines if "opped" players should be able to use all LuckPerms commands by default.
#
# - Set to false to only allow users who have the permissions access to the commands
commands-allow-op: true
# +----------------------------------------------------------------------------------------------+ #
# | Vault integration settings | #
# +----------------------------------------------------------------------------------------------+ #
# If Vault lookups for offline players on the main server thread should be enabled.
#
# LuckPerms has a "catch" for plugins attempting to perform unsafe offline player data lookups
# from the main server thread. This catch raises an exception (causes an error to occur) when unsafe
# lookups are made, instead of allowing the lookup to happen, which would likely cause the server
# to lag.
#
# However, if you're willing to accept the consequences, the catch can be disabled by setting this
# option to 'true.
vault-unsafe-lookups: false
# If LuckPerms should use the 'display name' of a group when returning groups in Vault API calls.
#
# - When this option is set to true, the display name of the group is returned.
# - When this option is set to false, the standard name/id of the group is returned.
vault-group-use-displaynames: true
# Controls which group LuckPerms should use for NPC players when handling Vault requests.
#
# - As NPCs aren't actually real players, LuckPerms does not load any user data for them. This
# becomes an issue when plugins want to check for their permissions using Vault.
# - As a solution, Vault checks for NPCs fallback to a group, which is defined below.
vault-npc-group: default
# Controls how LuckPerms should consider the OP status of NPC players when handing Vault requests.
#
# - If you want NPCs to have the same permissions as "normal" players, set this option to false.
# - If you want NPCs to have OP status, set this option to true.
vault-npc-op-status: false
# If the vault-server option below should be used.
#
# - When this option is set to false, the server value defined above under "server" is used.
use-vault-server: false
# The name of the server used within Vault operations.
#
# - If you don't want Vault operations to be server specific, set this to "global".
# - Will only take effect if use-vault-server is set to true above.
vault-server: global
# If global permissions should be considered when retrieving meta or player groups
vault-include-global: true
# If Vault operations should ignore any world arguments if supplied.
vault-ignore-world: false
# +----------------------------------------------------------------------------------------------+ #
# | Miscellaneous (and rarely used) settings | #
# +----------------------------------------------------------------------------------------------+ #
# If LuckPerms should produce extra logging output when it handles logins.
#
# - Useful if you're having issues with UUID forwarding or data not being loaded.
debug-logins: false
# If LuckPerms should allow usernames with non alphanumeric characters.
#
# - Note that due to the design of the storage implementation, usernames must still be 16 characters
# or less.
allow-invalid-usernames: false
# If LuckPerms should not require users to confirm bulkupdate operations.
#
# - When set to true, operations will be executed immediately.
# - This is not recommended, as bulkupdate has the potential to irreversibly delete large amounts of
# data, and is not designed to be executed automatically.
# - If automation is needed, users should prefer using the LuckPerms API.
skip-bulkupdate-confirmation: false
# If LuckPerms should prevent bulkupdate operations.
#
# - When set to true, bulkupdate operations (the /lp bulkupdate command) will not work.
# - When set to false, bulkupdate operations will be allowed via the console.
disable-bulkupdate: false
# If LuckPerms should allow a users primary group to be removed with the 'parent remove' command.
#
# - When this happens, the plugin will set their primary group back to default.
prevent-primary-group-removal: false
# If LuckPerms should update the list of commands sent to the client when permissions are changed.
update-client-command-list: true
# If LuckPerms should attempt to register "Brigadier" command list data for its commands.
register-command-list-data: true
# If LuckPerms should attempt to resolve Vanilla command target selectors for LP commands.
# See here for more info: https://minecraft.wiki/w/Target_selectors
resolve-command-selectors: false

View File

@ -0,0 +1,4 @@
{
"static-contexts": {},
"default-contexts": {}
}

View File

@ -0,0 +1,53 @@
Info:
change-interval: 5000
texts:
- '&r&7Willkommen &2%player%&7!'
- '&r&7Schön, das du da bist!'
- '&r&7Es sind &2%online% &7Spieler online!'
- '&r&7Besuche meine Website &2kb-one.de&7!'
ServerName:
change-interval: 300
texts:
- '&c&lServerName'
- '&c&n&lServerName'
- '&b&lServerName'
- '&b&l&nServerName'
- '&e&lServerName'
- '&e&n&lServerName'
web:
change-interval: 200
texts:
- '&ekb-one.de'
- '&ekb-one.de'
- '&ekb-one.de'
- '&ekb-one.de'
- '&ekb-one.de'
- '&ekb-one.de'
- '&6k&eb-one.de'
- '&ek&6b&e-one.de'
- '&ekb&6-&eone.de'
- '&ekb-&6o&ene.de'
- '&ekb-o&6n&ee.de'
- '&ekb-on&6e&e.de'
- '&ekb-one&6.&ede'
- '&ekb-one.&6d&ee'
- '&ekb-one.d&6e'
- '&ekb-one.de'
- '&ekb-one.de'
- '&ekb-one.de'
- '&ekb-one.de'
- '&ekb-one.de'
vote:
change-interval: 1000
texts:
- '&avote.domain.com'
- '&a&nvote.domain.com'
- '&5vote.domain.com'
- '&5&nvote.domain.com'
barcolors:
change-interval: 1000
texts:
- RED
- BLUE
- GREEN
- YELLOW

View File

@ -0,0 +1,227 @@
# https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Header-&-Footer
header-footer:
enabled: true
header:
- <#FFFFFF>&m </#FFFF00>
- '&7&l>> %animation:Info% &7&l<<'
- ''
footer:
- ''
- ' &7Server: &2%server% &7World: &2%world% &7Version: &2%player-version% '
- ' &7Ping: &2%ping% ms &7RAM: &2%memory-used% MB / %memory-max% MB &7TPS: &2%tps% '
- <#FFFFFF>&m </#FFFF00>
disable-condition: '%world%=disabledworld'
per-world:
world1:
header:
- an example of world with custom
footer:
- header/footer and prefix/suffix
world2;world3:
header:
- This is a shared header for
- world2 and world3
per-server:
server1:
header:
- an example of server with custom header
tablist-name-formatting:
enabled: true
anti-override: true
disable-condition: '%world%=disabledworld'
scoreboard-teams:
enabled: true
enable-collision: true
invisible-nametags: false
anti-override: true
sorting-types:
- GROUPS:owner,admin,mod,helper,builder,vip,default
- PLACEHOLDER_A_TO_Z:%player%
case-sensitive-sorting: true
can-see-friendly-invisibles: false
disable-condition: '%world%=disabledworld'
unlimited-nametag-mode:
enabled: false
disable-on-boats: true
disable-condition: '%world%=disabledworld'
dynamic-lines:
- abovename
- nametag
- belowname
- another
static-lines:
myCustomLine: 0.66
playerlist-objective:
enabled: true
value: '%ping%'
fancy-value: '&7Ping: %ping%'
disable-condition: '%world%=disabledworld'
belowname-objective:
enabled: false
number: '%health%'
text: '&cHealth'
fancy-display-players: '&c%health%'
fancy-display-default: NPC
disable-condition: '%world%=disabledworld'
prevent-spectator-effect:
enabled: false
bossbar:
enabled: false
toggle-command: /bossbar
remember-toggle-choice: false
hidden-by-default: false
bars:
ServerInfo:
style: PROGRESS
color: '%animation:barcolors%'
progress: '100'
text: '&fWebsite: &bwww.domain.com'
scoreboard:
enabled: false
toggle-command: /sb
remember-toggle-choice: false
hidden-by-default: false
use-numbers: false
static-number: 0
delay-on-join-milliseconds: 0
respect-other-plugins: true
scoreboards:
scoreboard-1.20.3+:
title: <#E0B11E>MyServer</#FF0000>
display-condition: '%player-version-id%>=765'
lines:
- '&7%date%'
- '%animation:MyAnimation1%'
- '&6Online:'
- '* &eOnline&7:||%online%'
- '* &eCurrent World&7:||%worldonline%'
- '* &eStaff&7:||%staffonline%'
- ''
- '&6Personal Info:'
- '* &bRank&7:||%group%'
- '* &bPing&7:||%ping%&8ms'
- '* &bWorld&7:||%world%'
- '%animation:MyAnimation1%'
scoreboard:
title: <#E0B11E>MyServer</#FF0000>
lines:
- '&7%date%'
- '%animation:MyAnimation1%'
- '&6Online:'
- '* &eOnline&7: &f%online%'
- '* &eCurrent World&7: &f%worldonline%'
- '* &eStaff&7: &f%staffonline%'
- ''
- '&6Personal Info:'
- '* &bRank&7: &f%group%'
- '* &bPing&7: &f%ping%&8ms'
- '* &bWorld&7: &f%world%'
- '%animation:MyAnimation1%'
layout:
enabled: false
direction: COLUMNS
default-skin: mineskin:1753261242
enable-remaining-players-text: true
remaining-players-text: '... and %s more'
empty-slot-ping-value: 1000
layouts:
default:
fixed-slots:
- '1|&3Website&f:'
- 2|&bmyserver.net
- '3|&8&m '
- '4|&3Name&f:'
- 5|&b%player%
- '7|&3Rank&f:'
- '8|Rank: %group%'
- '10|&3World&f:'
- 11|&b%world%
- '13|&3Time&f:'
- 14|&b%time%
- '21|&3Teamspeak&f:'
- 22|&bts.myserver.net
- '23|&8&m '
- '41|&3Store&f:'
- 42|&bshop.myserver.net
- '43|&8&m '
groups:
staff:
condition: permission:tab.staff
slots:
- 24-40
players:
slots:
- 44-80
ping-spoof:
enabled: false
value: 0
placeholders:
date-format: dd.MM.yyyy
time-format: 'HH:mm'
time-offset: 0
placeholder-output-replacements:
'%essentials_vanished%':
'yes': '&7| Vanished'
'no': ''
'%essentials_nickname%':
'%essentials_nickname%': '%player%'
conditions:
nick:
conditions:
- '%player%=%essentials_nickname%'
true: '%player%'
false: ~%essentials_nickname%
placeholderapi-refresh-intervals:
default-refresh-interval: 500
'%server_uptime%': 1000
'%server_tps_1_colored%': 1000
'%server_unique_joins%': 5000
'%player_health%': 200
'%player_ping%': 1000
'%vault_prefix%': 1000
'%rel_factionsuuid_relation_color%': 1000
assign-groups-by-permissions: false
primary-group-finding-list:
- Owner
- Admin
- Mod
- Helper
- default
debug: false
mysql:
enabled: false
host: 127.0.0.1
port: 3306
database: tab
username: user
password: password
per-world-playerlist:
enabled: false
allow-bypass-permission: false
ignore-effect-in-worlds:
- ignoredworld
- build
shared-playerlist-world-groups:
lobby:
- lobby1
- lobby2
minigames:
- paintball
- bedwars
global-playerlist:
enabled: false
display-others-as-spectators: false
display-vanished-players-as-spectators: true
isolate-unlisted-servers: false
spy-servers:
- spyserver1
- spyserver2
server-groups:
lobbies:
- lobby1
- lobby2
group2:
- server1
- server2
use-bukkit-permissions-manager: false
use-online-uuid-in-tablist: true

View File

@ -0,0 +1,26 @@
#Owner:
# tabprefix: "&0&l[&a&lOwner&0&l] &a"
# tagprefix: "&2&lOwner &a"
Player:
tabprefix: "&0&l[&7&lPlayer&0&l] &3"
tagprefix: "&2&lPlayer &3"
example_group:
header:
- "This is an example of per-group header/footer"
footer:
- "applied to a group"
# default settings for all groups, all groups will take properties from this section unless player's primary group overrides a specific setting
_DEFAULT_:
tabprefix: "%luckperms-prefix%"
tagprefix: "%luckperms-prefix%"
customtabname: "%player%"
customtagname: "%player%" # don't forget to enable unlimited nametag mode to make this one work
tabsuffix: "%luckperms-suffix%"
tagsuffix: "%luckperms-suffix%"
per-world:
world1:
Owner:
tabprefix: "&0&l[&a&lOwner&0&l] &a"
tagprefix: "&2&lOwner &a"

View File

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

View File

@ -0,0 +1,7 @@
_NEZNAMY_:
tabprefix: "&6&lTAB&r &a"
tagprefix: "&6&lTAB&r &a"
abovename: "&bOh look, 3 lines of text !"
belowname: "&eThere's only one plugin out there supporting it"
237d8b55-3f97-4749-aa60-e9fe97b45062: # my online uuid
tabsuffix: " &b&lVerified"

View File

@ -0,0 +1,61 @@
#Minecraft server properties
#Sat Jan 13 00:16:47 UTC 2024
enable-jmx-monitoring=false
rcon.port=25575
level-seed=
gamemode=survival
enable-command-block=false
enable-query=false
generator-settings={}
enforce-secure-profile=true
level-name=world
motd=A Minecraft Server
query.port=25565
pvp=true
generate-structures=true
max-chained-neighbor-updates=1000000
difficulty=easy
network-compression-threshold=256
max-tick-time=60000
require-resource-pack=false
use-native-transport=true
max-players=20
online-mode=false
enable-status=true
allow-flight=false
initial-disabled-packs=
broadcast-rcon-to-ops=true
view-distance=10
server-ip=
resource-pack-prompt=
allow-nether=true
server-port=25551
enable-rcon=true
sync-chunk-writes=true
resource-pack-id=
op-permission-level=4
prevent-proxy-connections=false
hide-online-players=false
resource-pack=
entity-broadcast-range-percentage=100
simulation-distance=10
rcon.password=874d2b8f42ff588308c8c049
player-idle-timeout=0
debug=false
force-gamemode=false
rate-limit=0
hardcore=false
white-list=false
broadcast-console-to-ops=true
spawn-npcs=true
spawn-animals=true
log-ips=true
function-permission-level=2
initial-enabled-packs=vanilla
level-type=minecraft\:normal
text-filtering-config=
spawn-monsters=true
enforce-whitelist=false
spawn-protection=16
resource-pack-sha1=
max-world-size=29999984

178
survival/spigot.yml Normal file
View File

@ -0,0 +1,178 @@
# This is the main configuration file for Spigot.
# As you can see, there's tons to configure. Some options may impact gameplay, so use
# with caution, and make sure you know what each option does before configuring.
# For a reference for any variable inside this file, check out the Spigot wiki at
# http://www.spigotmc.org/wiki/spigot-configuration/
#
# If you need help with the configuration or have any questions related to Spigot,
# join us at the Discord or drop by our forums and leave a post.
#
# Discord: https://www.spigotmc.org/go/discord
# Forums: http://www.spigotmc.org/
messages:
whitelist: You are not whitelisted on this server!
unknown-command: Unknown command. Type "/help" for help.
server-full: The server is full!
outdated-client: Outdated client! Please use {0}
outdated-server: Outdated server! I'm still on {0}
restart: Server is restarting
advancements:
disable-saving: false
disabled:
- minecraft:story/disabled
settings:
timeout-time: 60
restart-on-crash: true
restart-script: ./start.sh
save-user-cache-on-stop-only: false
sample-count: 12
bungeecord: false
player-shuffle: 0
user-cache-size: 1000
moved-wrongly-threshold: 0.0625
moved-too-quickly-multiplier: 10.0
netty-threads: 4
attribute:
maxHealth:
max: 2048.0
movementSpeed:
max: 2048.0
attackDamage:
max: 2048.0
log-villager-deaths: true
log-named-deaths: true
debug: false
world-settings:
default:
below-zero-generation-in-existing-chunks: true
view-distance: default
simulation-distance: default
thunder-chance: 100000
merge-radius:
item: 2.5
exp: 3.0
mob-spawn-range: 8
item-despawn-rate: 6000
arrow-despawn-rate: 1200
trident-despawn-rate: 1200
zombie-aggressive-towards-villager: true
nerf-spawner-mobs: false
enable-zombie-pigmen-portal-spawns: true
wither-spawn-sound-radius: 0
end-portal-sound-radius: 0
hanging-tick-frequency: 100
entity-activation-range:
animals: 32
monsters: 32
raiders: 48
misc: 16
water: 16
villagers: 32
flying-monsters: 32
wake-up-inactive:
animals-max-per-tick: 4
animals-every: 1200
animals-for: 100
monsters-max-per-tick: 8
monsters-every: 400
monsters-for: 100
villagers-max-per-tick: 4
villagers-every: 600
villagers-for: 100
flying-monsters-max-per-tick: 8
flying-monsters-every: 200
flying-monsters-for: 100
villagers-work-immunity-after: 100
villagers-work-immunity-for: 20
villagers-active-for-panic: true
tick-inactive-villagers: true
ignore-spectators: false
entity-tracking-range:
players: 48
animals: 48
monsters: 48
misc: 32
display: 128
other: 64
ticks-per:
hopper-transfer: 8
hopper-check: 1
hopper-amount: 1
hopper-can-load-chunks: false
dragon-death-sound-radius: 0
seed-village: 10387312
seed-desert: 14357617
seed-igloo: 14357618
seed-jungle: 14357619
seed-swamp: 14357620
seed-monument: 10387313
seed-shipwreck: 165745295
seed-ocean: 14357621
seed-outpost: 165745296
seed-endcity: 10387313
seed-slime: 987234911
seed-nether: 30084232
seed-mansion: 10387319
seed-fossil: 14357921
seed-portal: 34222645
seed-ancientcity: 20083232
seed-trailruins: 83469867
seed-trialchambers: 94251327
seed-buriedtreasure: 10387320
seed-mineshaft: default
seed-stronghold: default
hunger:
jump-walk-exhaustion: 0.05
jump-sprint-exhaustion: 0.2
combat-exhaustion: 0.1
regen-exhaustion: 6.0
swim-multiplier: 0.01
sprint-multiplier: 0.1
other-multiplier: 0.0
max-tnt-per-tick: 100
max-tick-time:
tile: 50
entity: 50
growth:
cactus-modifier: 100
cane-modifier: 100
melon-modifier: 100
mushroom-modifier: 100
pumpkin-modifier: 100
sapling-modifier: 100
beetroot-modifier: 100
carrot-modifier: 100
potato-modifier: 100
torchflower-modifier: 100
wheat-modifier: 100
netherwart-modifier: 100
vine-modifier: 100
cocoa-modifier: 100
bamboo-modifier: 100
sweetberry-modifier: 100
kelp-modifier: 100
twistingvines-modifier: 100
weepingvines-modifier: 100
cavevines-modifier: 100
glowberry-modifier: 100
pitcherplant-modifier: 100
verbose: false
commands:
spam-exclusions:
- /skill
silent-commandblock-console: false
replace-commands:
- setblock
- summon
- testforblock
- tellraw
log: true
tab-complete: 0
send-namespaced: true
players:
disable-saving: false
config-version: 12
stats:
disable-saving: false
forced-stats: {}

8
survival/survival.env Normal file
View File

@ -0,0 +1,8 @@
EULA=TRUE
TYPE=PAPER
SERVER_PORT=25551
# SPIGET_PLUGINS=28140
# https://www.spigotmc.org/resources/28140/ LuckPerms
PLUGINS=https://github.com/NEZNAMY/TAB/releases/download/4.1.2/TAB.v4.1.2.jar,https://download.luckperms.net/1526/bukkit/loader/LuckPerms-Bukkit-5.4.113.jar