diff --git a/.env.example b/.env.example index 7c4a619..666270f 100755 --- a/.env.example +++ b/.env.example @@ -1,5 +1,7 @@ -UID=500 -GID=500 +UID=1000 +GID=1000 + +VELOCITY_PORT=25565 RCON_PASSWORD=ChangeMe diff --git a/.gitignore b/.gitignore index 1092767..5eea443 100755 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,17 @@ /.env # Docker volumes -/velocity/data/* -/luckperms/data/* +/velocity/data/** +!/velocity/data/.keep + +/luckperms/data/** +!/luckperms/data/.keep + +/schematics/** + +/fabric/data/** +!/fabric/data/config +!/fabric/data/config/worldedit +!/fabric/data/config/worldedit/schematics +!/fabric/data/config/worldedit/schematics/.keep -!/**/.keep diff --git a/README.md b/README.md index d5e65ae..c002a76 100755 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # illegal_crime_mc The configuration files for the Illegal Crime Minecraft server. + diff --git a/docker-compose.yml b/docker-compose.yml index c970ffb..089ed36 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,6 +5,9 @@ services: user: "${UID}:${GID}" restart: unless-stopped depends_on: + fabric: + condition: service_healthy + restart: true luckperms_db: condition: service_healthy restart: true @@ -20,7 +23,7 @@ services: illegal_crime_mc_network: ipv4_address: "10.100.1.3" ports: - - 25565:25565/tcp + - "${VELOCITY_PORT}:25565/tcp" volumes: - ./velocity/data:/server:rw - ./velocity/config:/config:ro @@ -53,7 +56,134 @@ services: luckperms:vtXGoeps signedvelocity:Jp1p9BHR velocitab:TTtLPunq + + fabric: + image: itzg/minecraft-server + container_name: illegal_crime_fabric + restart: unless-stopped + depends_on: + luckperms_db: + condition: service_healthy + restart: true + secrets: + - rcon_password + - forwarding_secret + - luckperms_db_password + networks: + illegal_crime_mc_network: + ipv4_address: "10.100.1.5" + volumes: + - ./fabric/data:/data:rw + - ./fabric/config:/config:ro + - ./schematics:/data/config/worldedit/schematics:rw + environment: + UID: "${UID}" + GID: "${GID}" + + EULA: true + TYPE: FABRIC + SERVER_NAME: Illegal Crime Fabric + MOTD: Credit + VERSION: "1.21.3" + INIT_MEMORY: 512m + MAX_MEMORY: 4G + ENABLE_AUTOPAUSE: true + MAX_TICK_TIME: -1 + + ENFORCE_SECURE_PROFILE: false + SNOOPER_ENABLED: false + ENABLE_QUERY: false + + BROADCAST_CONSOLE_TO_OPS: false + BROADCAST_RCON_TO_OPS: false + + ONLINE_MODE: false + OP_PERMISSION_LEVEL: 2 + MAX_PLAYERS: 50 + DIFFICULTY: easy + LEVEL: world + + MODE: creative + LEVEL_TYPE: minecraft:flat + ENABLE_COMMAND_BLOCK: true + GENERATE_STRUCTURES: false + SPAWN_ANIMALS: false + SPAWN_MONSTERS: false + SPAWN_NPCS: false + SPAWN_PROTECTION: 0 + + USE_AIKAR_FLAGS: true + LOG_TIMESTAMP: true + + REPLACE_ENV_IN_PLACE: true + REPLACE_ENV_DURING_SYNC: true + REPLACE_ENV_VARIABLE_PREFIX: CFG_ + + ENABLE_RCON: true + RCON_PORT: 25575 + RCON_PASSWORD_FILE: /run/secrets/rcon_password + CFG_RCON_PASSWORD_FILE: /run/secrets/rcon_password + CFG_FORWARDING_SECRET_FILE: /run/secrets/forwarding_secret + + CFG_LUCKPERMS_DB_PASSWORD_FILE: /run/secrets/luckperms_db_password + + RCON_CMDS_STARTUP: |- + gamerule announceAdvancements false + gamerule commandBlocksEnabled true + gamerule commandBlockOutput false + gamerule doDaylightCycle false + gamerule doEntityDrops false + gamerule doFireTick false + gamerule doInsomnia false + gamerule doImmediateRespawn true + gamerule doMobLoot false + gamerule doMobSpawning false + gamerule doPatrolSpawning false + gamerule doTileDrops false + gamerule doTraderSpawning false + gamerule doVinesSpread false + gamerule doWeatherCycle false + gamerule doWardenSpawning false + gamerule keepInventory true + gamerule logAdminCommands false + gamerule modGriefing false + gamerule playersSleepingPercentage 0 + gamerule recipesUnlock false + gamerule showRecipeMessages false + gamerule tntExplodes false + time set 1000 + weather clear + + MODRINTH_PROJECTS: | + badpackets:hjhT2sMz + carpet-extra:WDB4578I + carpet-tis-addition:znBCTqSr + cloth-config:FgXq8Sfo + collective:UqTBXnWC + capture-playback:YmnYuB3l + carpet:ZF8ufR9V + fabric-api:Ybg4nYGj + fabricproxy-lite:AQhF7kvw + fabric-language-kotlin:476dzMG5 + g4mespeed:oPV7qsy2 + krypton:Acz3ttTp + ksyxis:ueN87SNs + litematica-server-paster:LttjgeM4 + lithium:W0Cc7ZVd + luckperms:S8033hpf + mods-command:1F0YwdWN + no-chat-reports:Cg7X9iDa + packet-fixer:XBM9PO5r + redstone-multimeter:kTiP34Lj + servercore:PgKTFLEL + servux:u85kwLvC + signedvelocity:AusZl7xe + spark:rExumjPo + threadtweak:HV6EY0h3 + vanilla-permissions:7awQNHzw + worldedit:3TQ8W0Ar + luckperms_db: image: postgres:17.4 container_name: illegal_crime_luckperms_db diff --git a/fabric/config/FabricProxy-Lite.toml b/fabric/config/FabricProxy-Lite.toml new file mode 100755 index 0000000..3677a69 --- /dev/null +++ b/fabric/config/FabricProxy-Lite.toml @@ -0,0 +1,5 @@ +hackOnlineMode = true +hackEarlySend = true +hackMessageChain = true +disconnectMessage = "This server requires you to connect with Velocity." +secret = "${CFG_FORWARDING_SECRET}" diff --git a/fabric/config/NoChatReports/NCR-Common.json b/fabric/config/NoChatReports/NCR-Common.json new file mode 100755 index 0000000..91b0fcf --- /dev/null +++ b/fabric/config/NoChatReports/NCR-Common.json @@ -0,0 +1,7 @@ +{ + "demandOnClientMessage": "You do not have No Chat Reports, and this server is configured to require it on client!", + "demandOnClient": false, + "convertToGameMessage": true, + "addQueryData": true, + "enableDebugLog": false +} diff --git a/fabric/config/collective.json5 b/fabric/config/collective.json5 new file mode 100755 index 0000000..62069c2 --- /dev/null +++ b/fabric/config/collective.json5 @@ -0,0 +1,12 @@ +{ + // When enabled, transfer the held items and armour from replaced entities by any of the Entity Spawn mods which depend on Collective. + "transferItemsBetweenReplacedEntities": true, + // The amount of times Collective loops through possible mob drops to get them all procedurally. Drops are only generated when a dependent mod uses them. Lowering this can increase world load time but decrease accuracy. + // min: 1, max: 500 + "loopsAmountUsedToGetAllEntityDrops": 100, + // The delay of the is-there-a-block-around-check around entities in ms. Used in mods which depends on a specific blockstate in the world. Increasing this number can increase TPS if needed. + // min: 0, max: 3600000 + "findABlockCheckAroundEntitiesDelayMs": 30000, + // Enables pets for Patrons. Will be added in a future release. + "enablePatronPets": true +} \ No newline at end of file diff --git a/fabric/config/lithium.properties b/fabric/config/lithium.properties new file mode 100755 index 0000000..fdb5556 --- /dev/null +++ b/fabric/config/lithium.properties @@ -0,0 +1,6 @@ +# This is the configuration file for Lithium. +# +# You can find information on editing this file and all the available options here: +# https://github.com/CaffeineMC/lithium-fabric/wiki/Configuration-File +# +# By default, this file will be empty except for this notice. diff --git a/fabric/config/luckperms/luckperms.conf b/fabric/config/luckperms/luckperms.conf new file mode 100755 index 0000000..2968472 --- /dev/null +++ b/fabric/config/luckperms/luckperms.conf @@ -0,0 +1,638 @@ +#################################################################################################### +# +----------------------------------------------------------------------------------------------+ # +# | __ __ ___ __ __ | # +# | | | | / ` |__/ |__) |__ |__) |\/| /__` | # +# | |___ \__/ \__, | \ | |___ | \ | | .__/ | # +# | | # +# | 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 = "fabric" + +# 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 = "PostgreSQL" + +# 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 = "10.100.1.2" + + # 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 = "luckperms" + + # Credentials for the database. + username = "luckperms" + password = "${CFG_LUCKPERMS_DB_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. +# => 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 = "pluginmsg" + +# 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 = 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. | # +# | | # +# +----------------------------------------------------------------------------------------------+ # + +# 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 ' +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_ Selects the value with the highest weight, but only if the +# value was inherited from a group on the given track. +# +# => lowest_on_track_ Same as above, except takes the value with the lowest weight. +# +# => highest_not_on_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_ Same as above, except takes the value with the lowest weight. +# +# => highest_from_group_ Selects the value with the highest weight, but only if the +# value was inherited from the given group. +# +# => lowest_from_group_ Same as above, except takes the value with the lowest weight. +# +# => highest_not_from_group_ Selects the value with the highest weight, but only if the +# value was not inherited from the given group. +# +# => lowest_not_from_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 = true + +# 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 owner of an integrated server should bypass permission checks. +# +# - This setting only applies when LuckPerms is active on a single-player world. +# - The owner of an integrated server is the player whose client instance is running the server. +integrated-server-owner-bypasses-checks = 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. +# - However, on Fabric this setting can be used as a "pseudo" root wildcard, as many mods support +# the operator system over permissions. +auto-op = 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 resolve Vanilla command target selectors for LP commands. +# See here for more info: https://minecraft.wiki/w/Target_selectors +resolve-command-selectors = false diff --git a/fabric/config/mods-command.conf b/fabric/config/mods-command.conf new file mode 100755 index 0000000..320b855 --- /dev/null +++ b/fabric/config/mods-command.conf @@ -0,0 +1,4 @@ +hidden-mods { + # Set the list of mod ids to hide/ignore. + hidden-mod-ids=[] +} diff --git a/fabric/config/packetfixer.properties b/fabric/config/packetfixer.properties new file mode 100755 index 0000000..e0f5d94 --- /dev/null +++ b/fabric/config/packetfixer.properties @@ -0,0 +1,13 @@ +#Packet Fixer config file. +#Default values (minecraft default): nbtMaxSize 2097152, packetSize 1048576, decoderSize 8388608 and varInt21Size 3. +#Max values are 2147483647 for packetSize/decoderSize/varInt21 and 9223372036854775807 for nbtMaxSize. +#Mon Mar 17 00:50:58 UTC 2025 +allSizesUnlimited=true +chunkPacketData=2097152 +decoderSize=8388608 +nbtMaxSize=2097152 +packetSize=1048576 +timeout=90 +varInt=5 +varInt21=3 +varLong=10 diff --git a/fabric/config/redstone_multimeter/options.json b/fabric/config/redstone_multimeter/options.json new file mode 100755 index 0000000..6ed8684 --- /dev/null +++ b/fabric/config/redstone_multimeter/options.json @@ -0,0 +1,14 @@ +{ + "meter": { + "allow_teleports": true + }, + "meter_group": { + "meter_limit": -1, + "max_idle_time": 72000 + }, + "event_types": { + "allowed": "all", + "blacklist": [], + "whitelist": [] + } +} \ No newline at end of file diff --git a/fabric/config/servercore/config.yml b/fabric/config/servercore/config.yml new file mode 100755 index 0000000..293c539 --- /dev/null +++ b/fabric/config/servercore/config.yml @@ -0,0 +1,317 @@ +# The main configuration file for ServerCore. +# Most of these settings can be reloaded without restarting using /servercore reload. + +# Most miscellaneous feature toggles. +features: + # Reverts enderpearl behavior to pre-1.21.2. The following will change when this setting is enabled: + # ► Enderpearls will no longer load chunks around them. + # ► Enderpearls will load / unload with chunks again instead of with their owner joining / leaving the game. + # Note: Toggling this setting may cause some old enderpearls from before the toggle to be lost. + prevent-enderpearl-chunkloading: false + # Prevents lagspikes caused by players moving into unloaded chunks. + prevent-moving-into-unloaded-chunks: false + # The amount of seconds between auto-saves when /save-on is active. + autosave-interval-seconds: 300 + # The fraction that decides the chance of experience orbs being able to merge with each other. (1 = 100%, 40 = 2.5%) + # Note that just like in vanilla, experience orbs will still need to be of the same size to actually merge. + xp-merge-fraction: 40 + # The radius in blocks that experience orbs will merge at. + xp-merge-radius: 0.5 + # The radius in blocks that items will merge at. + item-merge-radius: 0.5 + lobotomize-villagers: + # Makes villagers tick less often if they are stuck in a 1x1 space. + enabled: false + # Decides the interval in between villager ticks when lobotomized. + tick-interval: 20 + + +# Automatically modifies dynamic settings based on the server performance. +dynamic: + # Enables dynamic performance checks. + enabled: false + # The average MSPT to target. + target-mspt: 35 + # The settings that will be decreased when the server is overloaded, in the specified order. + # You can remove settings from the list that you don't want to be dynamically adjusted. + # ► max = The maximum value the server will increase the setting to. + # ► min = The minimum value the server will decrease the setting to. + # ► increment = The amount the setting will be increased or decreased by. + # ► interval = The amount of seconds between each check to increase or decrease. + dynamic-settings: + - setting: 'CHUNK_TICK_DISTANCE' + max: 10 + min: 6 + increment: 1 + interval: 15 + + - setting: 'MOBCAP_PERCENTAGE' + max: 100 + min: 50 + increment: 10 + interval: 15 + + - setting: 'SIMULATION_DISTANCE' + max: 10 + min: 6 + increment: 1 + interval: 15 + + - setting: 'CHUNK_TICK_DISTANCE' + max: 6 + min: 2 + increment: 1 + interval: 15 + + - setting: 'MOBCAP_PERCENTAGE' + max: 50 + min: 30 + increment: 10 + interval: 15 + + - setting: 'SIMULATION_DISTANCE' + max: 6 + min: 2 + increment: 1 + interval: 15 + + - setting: 'VIEW_DISTANCE' + max: 10 + min: 5 + increment: 1 + interval: 150 + + +# A special mobcap that only affects the breeding of animals and villagers. +breeding-cap: + # Enables breeding caps. + enabled: false + # The breeding cap for villagers. + # ► limit = The limit of mobs of the same type within range. Setting this to negative will disable the breeding cap. + # ► range = The range it will check for entities of the same type. + # ► unlimited-height = Whether to ignore the vertical distance when checking for entities of the same type. + villagers: + limit: 32 + range: 64 + unlimited-height: false + + # The breeding cap for animals. + # Note that this cap only checks for animals of the same type. + # If the limit is 32 you can still breed 32 cows and 32 pigs next to each other. + animals: + limit: 32 + range: 64 + unlimited-height: false + + +# Gives more control over mob spawning. +mob-spawning: + # Mobcap settings for zombie reinforcements. + # ► enforce-mobcap = Whether to enforce mobcaps for this type of mobspawning. + # ► additional-capacity = Additional capacity for this specific mobcap. Decides how much it can spawn over the regular mobcap. + # It is recommended to allow them to spawn a bit over the regular mobcap as they would otherwise never get a chance to spawn. + zombie-reinforcements: + enforce-mobcap: false + additional-capacity: 32 + + # Mobcap settings for zombified piglin spawning from nether portal random ticks. + nether-portal-randomticks: + enforce-mobcap: false + additional-capacity: 32 + + # Mobcap settings for mobs spawned from monster spawners. + monster-spawners: + enforce-mobcap: false + additional-capacity: 32 + + # Mobcap settings for silverfish spawned from the infested potion effect. + infested: + enforce-mobcap: false + additional-capacity: 32 + + # A list of mob categories with their respective mobcap and spawn interval. + # ► category = The vanilla spawn category. + # ► mobcap = The maximum amount of entities in the same category that can spawn near a player. + # ► spawn-interval = The interval between spawn attempts in ticks. Higher values mean less frequent spawn attempts. + categories: + - category: 'MONSTER' + mobcap: 70 + spawn-interval: 1 + + - category: 'CREATURE' + mobcap: 10 + spawn-interval: 400 + + - category: 'AMBIENT' + mobcap: 15 + spawn-interval: 1 + + - category: 'AXOLOTLS' + mobcap: 5 + spawn-interval: 1 + + - category: 'UNDERGROUND_WATER_CREATURE' + mobcap: 5 + spawn-interval: 1 + + - category: 'WATER_CREATURE' + mobcap: 5 + spawn-interval: 1 + + - category: 'WATER_AMBIENT' + mobcap: 20 + spawn-interval: 1 + + +# Settings for commands and their formatting. +commands: + # Enables the /servercore status command. + status-enabled: true + # Enables the /mobcaps command. + mobcaps-enabled: true + colors: + # The colors used in command feedback. You can use hex codes or minecraft legacy color names. + # The primary color is the most used color in command feedback. + primary: 'dark_aqua' + # The secondary color is used for highlighting important information, like values. + secondary: 'green' + # The tertiary color is mostly used for text in titles. + tertiary: 'aqua' + + +# Activation range can drastically reduce the amount of lag caused by ticking entities. +# It does this by cleverly skipping certain entity ticks based on the distance to players and other factors, like immunity checks. +# Immunity checks determine whether an entity should be ticked even when it's outside the activation range, like for example when it is falling or takes damage. +# Note: while this is a very powerful feature, it can still slow down mobfarms and break very specific technical contraptions. +activation-range: + # Enables activation range. + enabled: false + # Briefly ticks entities newly added to the world for 10 seconds (includes both spawning and loading). + # This gives them a chance to properly immunize when they are spawned if they should be. Can be helpful for mobfarms. + tick-new-entities: true + # Enables vertical range checks. By default, activation ranges only work horizontally. + # This can greatly improve performance on taller worlds, but might break a few very specific ai-based mobfarms. + use-vertical-range: false + # Skips 1/4th of entity ticks whilst not immune. + # This affects entities that are within the activation range, but not immune (for example by falling or being in water). + skip-non-immune: false + # Allows villagers to tick regardless of the activation range when panicking. + villager-tick-panic: true + # The time in seconds that a villager needs to be inactive for before obtaining work immunity (if it has work tasks). + villager-work-immunity-after: 20 + # The amount of ticks an inactive villager will wake up for when it has work immunity. + villager-work-immunity-for: 20 + # A list of entity types that should be excluded from activation range checks. + excluded-entity-types: + - 'minecraft:warden' + - 'minecraft:ghast' + - 'minecraft:hopper_minecart' + # The activation type that will get assigned to any entity that doesn't have a custom activation type. + # ► activation-range = The range an entity is required to be in from a player to be activated. + # ► tick-interval = The interval between 'active' ticks whilst the entity is inactive. Negative values will disable these active ticks. + # ► wakeup-interval = The interval between inactive entity wakeups in seconds. + # ► extra-height-up = Allows entities to be ticked when far above the player when vertical range is in use. + # ► extra-height-down = Allows entities to be ticked when far below the player when vertical range is in use. + default-activation-type: + activation-range: 16 + tick-interval: 20 + wakeup-interval: -1 + extra-height-up: false + extra-height-down: false + + # A list of custom activation types. + # ► name = The name of the activation type. + # ► entity-matcher = A list of conditions to filter entities. Only one of these conditions needs to be met for an entity to match. + # ► If an entity matches multiple activation types, the one highest in the list will be used. The conditions accept the following formats: + # - Entity type matching | Uses the entity type's identifier. | 'minecraft:zombie' matches zombies, but for example not husks or drowned. + # - Typeof class matching | Uses the 'typeof:' prefix. | 'typeof:monster' matches all monsters. + # ► Available typeof classes: mob, monster, raider, neutral, ambient, animal, water_animal, flying_animal, flying_monster, villager, projectile. + custom-activation-types: + - name: 'raider' + activation-range: 48 + tick-interval: 20 + wakeup-interval: 20 + extra-height-up: true + extra-height-down: false + entity-matcher: + - 'typeof:raider' + + - name: 'water' + activation-range: 16 + tick-interval: 20 + wakeup-interval: 60 + extra-height-up: false + extra-height-down: false + entity-matcher: + - 'typeof:water_animal' + + - name: 'villager' + activation-range: 16 + tick-interval: 20 + wakeup-interval: 30 + extra-height-up: false + extra-height-down: false + entity-matcher: + - 'typeof:villager' + + - name: 'zombie' + activation-range: 16 + tick-interval: 20 + wakeup-interval: 20 + extra-height-up: true + extra-height-down: false + entity-matcher: + - 'minecraft:zombie' + - 'minecraft:husk' + + - name: 'monster-below' + activation-range: 32 + tick-interval: 20 + wakeup-interval: 20 + extra-height-up: true + extra-height-down: true + entity-matcher: + - 'minecraft:creeper' + - 'minecraft:slime' + - 'minecraft:magma_cube' + - 'minecraft:hoglin' + + - name: 'flying-monster' + activation-range: 48 + tick-interval: 20 + wakeup-interval: 20 + extra-height-up: true + extra-height-down: false + entity-matcher: + - 'minecraft:ghast' + - 'minecraft:phantom' + + - name: 'monster' + activation-range: 32 + tick-interval: 20 + wakeup-interval: 20 + extra-height-up: true + extra-height-down: false + entity-matcher: + - 'typeof:monster' + + - name: 'animal' + activation-range: 16 + tick-interval: 20 + wakeup-interval: 60 + extra-height-up: false + extra-height-down: false + entity-matcher: + - 'typeof:animal' + - 'typeof:ambient' + + - name: 'creature' + activation-range: 24 + tick-interval: 20 + wakeup-interval: 30 + extra-height-up: false + extra-height-down: false + entity-matcher: + - 'typeof:mob' + + diff --git a/fabric/config/servercore/optimizations.yml b/fabric/config/servercore/optimizations.yml new file mode 100755 index 0000000..8ce1eb4 --- /dev/null +++ b/fabric/config/servercore/optimizations.yml @@ -0,0 +1,18 @@ +# Allows you to toggle specific optimizations that don't have full vanilla parity. +# These settings will only take effect after server restarts. + +# Prevents many different lagspikes caused by loading chunks synchronously. +# This for example causes maps to only update loaded chunks, which depending on the viewdistance can be a smaller radius than vanilla. +reduce-sync-loads: true +# Can significantly reduce the time spent on chunk iteration by only updating the ticking chunks list each second, rather than each tick. +# This is especially useful for servers with a high playercount and / or viewdistance. +cache-ticking-chunks: true +# Optimizes command block executions by caching parsed commands. +# Command parsing is a relatively expensive operation. By caching it we avoid parsing the same command every time it is executed. +optimize-command-blocks: false +# Can significantly reduce time spent on mobspawning, but isn't as accurate as vanilla on biome borders. +# This may cause mobs from another biome to spawn a few blocks across a biome border (this does not affect structure spawning!). +fast-biome-lookups: false +# Fluid random ticks, like lava spreading fire, are run twice each game tick. +# Enabling this will cancel the 'duplicate' second fluid tick, but this may cause slight behavior changes. +cancel-duplicate-fluid-ticks: false diff --git a/fabric/config/servux.json b/fabric/config/servux.json new file mode 100755 index 0000000..3c7ae16 --- /dev/null +++ b/fabric/config/servux.json @@ -0,0 +1,54 @@ +{ + "DataProviderToggles": { + "hud_data": true, + "litematic_data": true, + "structure_bounding_boxes": true, + "servux_main": true, + "tweaks_data": true, + "entity_data": true, + "debug_data": false + }, + "hud_data": { + "permission_level": 0, + "update_interval": 80, + "share_weather_status": false, + "weather_permission_level": 0, + "share_seed": false, + "seed_permission_level": 2 + }, + "litematic_data": { + "permission_level": 0, + "permission_level_paste": 0, + "fix_rail_rotations": true, + "fix_stairs_mirror": true + }, + "structure_bounding_boxes": { + "permission_level": 0, + "structures_blacklist_enabled": false, + "structures_whitelist_enabled": false, + "structures_blacklist": [ + "minecraft:buried_treasure" + ], + "structures_whitelist": [], + "update_interval": 40, + "timeout": 600 + }, + "servux_main": { + "permission_level": 0, + "permission_level_admin": 3, + "permission_level_easy_place": 0, + "default_language": "en_us", + "debug_log": false + }, + "tweaks_data": { + "permission_level": 0 + }, + "entity_data": { + "permission_level": 0, + "nbt_query_override": false, + "nbt_query_permission_level": 2 + }, + "debug_data": { + "permission_level": 2 + } +} \ No newline at end of file diff --git a/fabric/config/spark/config.json b/fabric/config/spark/config.json new file mode 100755 index 0000000..76e04b5 --- /dev/null +++ b/fabric/config/spark/config.json @@ -0,0 +1,4 @@ +{ + "_header": "spark configuration file - https://spark.lucko.me/docs/Configuration", + "backgroundProfiler": false +} diff --git a/fabric/config/threadtweak.json b/fabric/config/threadtweak.json new file mode 100755 index 0000000..095b332 --- /dev/null +++ b/fabric/config/threadtweak.json @@ -0,0 +1,13 @@ +{ + "threadCount": { + "bootstrap": 1, + "main": 3 + }, + "threadPriority": { + "game": 5, + "bootstrap": 1, + "main": 1, + "io": 1, + "integratedServer": 5 + } +} \ No newline at end of file diff --git a/fabric/config/worldedit/worldedit.properties b/fabric/config/worldedit/worldedit.properties new file mode 100755 index 0000000..454716b --- /dev/null +++ b/fabric/config/worldedit/worldedit.properties @@ -0,0 +1,46 @@ +#Don't put comments; they get removed +#Mon Mar 17 00:51:37 UTC 2025 +allow-symbolic-links=false +butcher-default-radius=-1 +butcher-max-radius=-1 +calculation-timeout=100 +cheat-mode=false +command-block-support=false +craftscript-dir=craftscripts +default-locale=default +default-max-changed-blocks=-1 +default-max-polygon-points=-1 +default-max-polyhedron-points=-1 +default-vertical-height=256 +disallowed-blocks=minecraft\:oak_sapling,minecraft\:jungle_sapling,minecraft\:dark_oak_sapling,minecraft\:spruce_sapling,minecraft\:birch_sapling,minecraft\:acacia_sapling,minecraft\:black_bed,minecraft\:blue_bed,minecraft\:brown_bed,minecraft\:cyan_bed,minecraft\:gray_bed,minecraft\:green_bed,minecraft\:light_blue_bed,minecraft\:light_gray_bed,minecraft\:lime_bed,minecraft\:magenta_bed,minecraft\:orange_bed,minecraft\:pink_bed,minecraft\:purple_bed,minecraft\:red_bed,minecraft\:white_bed,minecraft\:yellow_bed,minecraft\:powered_rail,minecraft\:detector_rail,minecraft\:short_grass,minecraft\:dead_bush,minecraft\:moving_piston,minecraft\:piston_head,minecraft\:sunflower,minecraft\:rose_bush,minecraft\:dandelion,minecraft\:poppy,minecraft\:brown_mushroom,minecraft\:red_mushroom,minecraft\:tnt,minecraft\:torch,minecraft\:fire,minecraft\:redstone_wire,minecraft\:wheat,minecraft\:potatoes,minecraft\:carrots,minecraft\:melon_stem,minecraft\:pumpkin_stem,minecraft\:beetroots,minecraft\:rail,minecraft\:lever,minecraft\:redstone_torch,minecraft\:redstone_wall_torch,minecraft\:repeater,minecraft\:comparator,minecraft\:stone_button,minecraft\:birch_button,minecraft\:acacia_button,minecraft\:dark_oak_button,minecraft\:jungle_button,minecraft\:oak_button,minecraft\:spruce_button,minecraft\:cactus,minecraft\:sugar_cane,minecraft\:bedrock +extended-y-limit=false +history-size=15 +log-commands=false +log-file= +log-format=[%1$tY-%1$tm-%1$td %1$tH\:%1$tM\:%1$tS %4$s]\: %5$s%6$s%n +max-brush-radius=6 +max-calculation-timeout=300 +max-changed-blocks=-1 +max-polygon-points=20 +max-polyhedron-points=20 +max-radius=-1 +max-super-pickaxe-size=5 +nav-use-glass=true +nav-wand-distance=50 +nav-wand-item=minecraft\:compass +profile=false +register-help=true +schematic-save-dir=schematics +scripting-timeout=3000 +server-side-cui=true +shell-save-type= +snapshots-dir= +snapshots-experimental=false +super-pickaxe-drop-items=true +super-pickaxe-many-drop-items=true +trace-unflushed-sessions=true +use-in-creative=false +use-inventory=false +use-inventory-creative-override=false +use-inventory-override=false +wand-item=minecraft\:wooden_axe diff --git a/fabric/data/config/worldedit/schematics/.keep b/fabric/data/config/worldedit/schematics/.keep new file mode 100755 index 0000000..e69de29 diff --git a/velocity/config/plugins/luckperms/config.yml b/velocity/config/plugins/luckperms/config.yml index a8f89e2..3121c23 100755 --- a/velocity/config/plugins/luckperms/config.yml +++ b/velocity/config/plugins/luckperms/config.yml @@ -228,7 +228,7 @@ watch-files: true # 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 +messaging-service: pluginmsg # If LuckPerms should automatically push updates after a change has been made with a command. auto-push-updates: true diff --git a/velocity/config/velocity.toml b/velocity/config/velocity.toml index b436219..1f8c335 100755 --- a/velocity/config/velocity.toml +++ b/velocity/config/velocity.toml @@ -16,7 +16,7 @@ show-max-players = 420 online-mode = true # Should the proxy enforce the new public key security standard? By default, this is on. -force-key-authentication = true +force-key-authentication = false # 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