Commit graph

4792 commits

Author SHA1 Message Date
Jason Penilla
b0d7c2e971 Use AsyncAppender to keep logging IO off main thread 2021-08-12 04:46:41 -07:00
Minecrell
e36a7522b8 Improve Log4J Configuration / Plugin Loggers
Add full exceptions to log4j to not truncate stack traces

Disable logger prefix for various plugins bypassing the plugin logger

Some plugins bypass the plugin logger and add the plugin prefix
manually to the log message. Since they use other logger names
(e.g. qualified class names) these would now also appear in the
log. Disable the logger prefix for these plugins so the messages
show up correctly.
2017-09-23 21:07:20 +02:00
Minecrell
29788c758a Handle plugin prefixes using Log4J configuration
Display logger name in the console for all loggers except the
root logger, Bukkit's logger ("Minecraft") and Minecraft loggers.
Since plugins now use the plugin name as logger name this will
restore the plugin prefixes without having to prepend them manually
to the log messages.

Logger prefixes are shown by default for all loggers except for
the root logger, the Minecraft/Mojang loggers and the Bukkit loggers.
This may cause additional prefixes to be disabled for plugins bypassing
the plugin logger.
2017-09-21 16:14:55 +02:00
Minecrell
36723cdd60 Use TerminalConsoleAppender for console improvements
Rewrite console improvements (console colors, tab completion,
persistent input line, ...) using JLine 3.x and TerminalConsoleAppender.

Also uses the new ANSIComponentSerializer to serialize components when
logging them via the ComponentLogger, or when sending messages to the
console, for hex color support.

New features:
  - Support console colors for Vanilla commands
  - Add console colors for warnings and errors
  - Server can now be turned off safely using CTRL + C. JLine catches
    the signal and the implementation shuts down the server cleanly.
  - Support console colors and persistent input line when running in
    IntelliJ IDEA

Other changes:
  - Server starts 1-2 seconds faster thanks to optimizations in Log4j
    configuration

Co-Authored-By: Emilia Kond <emilia@rymiel.space>
2017-06-09 19:03:43 +02:00
Riley Park
66779f5c86 Adventure
== AT ==
public net.minecraft.network.chat.HoverEvent$ItemStackInfo item
public net.minecraft.network.chat.HoverEvent$ItemStackInfo count
public net.minecraft.network.chat.HoverEvent$ItemStackInfo components
public net.minecraft.network.chat.contents.TranslatableContents filterAllowedArguments(Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;

Co-authored-by: zml <zml@stellardrift.ca>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2021-01-29 17:54:03 +01:00
Aikar
b01c811c2f MC Utils
== AT ==
public net.minecraft.server.level.ServerChunkCache mainThread
public net.minecraft.server.level.ServerLevel chunkSource
public org.bukkit.craftbukkit.inventory.CraftItemStack handle
public net.minecraft.server.level.ChunkMap getVisibleChunkIfPresent(J)Lnet/minecraft/server/level/ChunkHolder;
public net.minecraft.server.level.ServerChunkCache mainThreadProcessor
public net.minecraft.server.level.ServerChunkCache$MainThreadExecutor
public net.minecraft.world.level.chunk.LevelChunkSection states
2016-03-28 20:55:47 -04:00
Jake Potrebic
a82a09d198 CB fixes
* Missing Level -> LevelStem generic in StructureCheck
  Need to use the right for injectDatafixingContext (Spottedleaf)

* Fix summon_entity effect attempting to add incorrect entity (granny)

* Removed incorrect parent perm for `minecraft.debugstick.always` (Machine_Maker)

* Fixed method signature of Marker#addPassenger (Machine_Maker)

* Removed unneeded UOE in CustomWorldChunkManager (extends BiomeSource) (Machine_Maker)

* Honor Server#getLootTable method contract (Machine_Maker)

Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2022-02-25 07:14:48 -08:00
Spottedleaf
41c27cbb9d ConcurrentUtil 2022-01-23 22:58:11 -08:00
Aikar
f829dcd46a MC Dev fixes 2016-03-30 19:36:20 -04:00
Jake Potrebic
769119f918 Paper config files
== AT ==
public org.spigotmc.SpigotWorldConfig getBoolean(Ljava/lang/String;Z)Z
public org.spigotmc.SpigotWorldConfig getDouble(Ljava/lang/String;)D
public org.spigotmc.SpigotWorldConfig getDouble(Ljava/lang/String;D)D
public org.spigotmc.SpigotWorldConfig getInt(Ljava/lang/String;)I
public org.spigotmc.SpigotWorldConfig getInt(Ljava/lang/String;I)I
public org.spigotmc.SpigotWorldConfig getList(Ljava/lang/String;Ljava/lang/Object;)Ljava/util/List;
public org.spigotmc.SpigotWorldConfig getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
public net.minecraft.server.dedicated.DedicatedServerProperties reload(Lnet/minecraft/core/RegistryAccess;Ljava/util/Properties;Ljoptsimple/OptionSet;)Lnet/minecraft/server/dedicated/DedicatedServerProperties;
public net.minecraft.world.level.NaturalSpawner SPAWNING_CATEGORIES
2022-06-08 22:20:16 -07:00
Jake Potrebic
e954a5a260 Test changes
- configure mockito agent to address changes in newer java versions see https://openjdk.org/jeps/451

Co-authored-by: yannnicklamprecht <yannicklamprecht@live.de>
2023-02-13 14:14:56 -08:00
Zach Brown
bc10922ef3 Build system changes
== AT ==
public net.minecraft.server.packs.VanillaPackResourcesBuilder safeGetPath(Ljava/net/URI;)Ljava/nio/file/Path;

Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2016-02-29 20:40:33 -06:00
Kyle Wood
f161aac557 Remap fixes 2021-06-11 05:25:03 -05:00
Kyle Wood
94c4e1cbc0 Setup Gradle project
The pom.xml file is deleted in this patch so the patch will fail to
apply if there are changes made to it from upstream - thus notifying us
that changes were made.
2020-12-10 20:54:19 -08:00
CraftBukkit/Spigot
fd78d37b56 Removed unneeded files
By: Initial Source <noreply+automated@papermc.io>
2024-12-11 22:51:20 +01:00
CraftBukkit/Spigot
9940174241 Add unload-frozen-chunks option
By: md_5 <git@md-5.net>
2024-05-18 11:39:58 +10:00
CraftBukkit/Spigot
479ce445d6 Configurable Below Zero Generation
By: DerFrZocker <derrieple@gmail.com>
2021-11-28 12:09:29 +11:00
CraftBukkit/Spigot
7cfc37b17d Configurable Thunder Chance
By: md_5 <git@md-5.net>
2021-10-24 20:29:25 +11:00
CraftBukkit/Spigot
e81bcdf643 Allow Disabling Player Data Saving
By: Sander Knauff <sanderknauff@hotmail.com>
2020-11-07 18:23:42 +11:00
CraftBukkit/Spigot
76c24a1454 Add log-villager-deaths option
By: md_5 <git@md-5.net>
2019-12-14 10:26:52 +11:00
CraftBukkit/Spigot
9ef9823b3b Allow Reading Old Large Chunks
The size of chunks in the region format is overdetermined. In particular their size on disk is indicated by both a sector count in the header, and actual size in the body.
If their size would overflow the header field (>= 255 sectors), it can just be read directly from the body instead.

This code/concept was adapted from MinecraftForge.

By: md_5 <git@md-5.net>
2019-02-19 22:30:00 +11:00
CraftBukkit/Spigot
6fcc9cce6d Add creative mode NBT permissions
By: md_5 <git@md-5.net>
2019-02-25 19:26:56 +11:00
CraftBukkit/Spigot
d16d3c3548 Configurable Advancement Disabling
Allow disabling any (or all) inbuilt advancements with a configuration option.

By: md_5 <git@md-5.net>
2017-06-09 16:29:31 +10:00
CraftBukkit/Spigot
93fea68749 Clear Packet Queue on Disconnect
By: md_5 <git@md-5.net>
2015-07-22 19:04:37 +10:00
CraftBukkit/Spigot
c4f3fcfce9 Use Map for getPlayer(String) lookup.
By: md_5 <git@md-5.net>
2015-07-13 19:05:15 +10:00
CraftBukkit/Spigot
d0a65bc995 Allow Capping (Tile)Entity Tick Time.
This patch adds world configuration options for max-tick-time.entity / max-tick-time.tile which allows setting a hard cap on the amount of time (in milliseconds) that a tick can consume. The default values of 50ms each are very conservative and mean this feature will not activate until the server is well below 15tps (minimum). Values of 20ms each have been reported to provide a good performance increase, however I personally think 25ms for entities and 10-15ms for tiles would give even more significant gains, assuming that these things are not a large priority on your server.

For tiles there is very little tradeoff for this option, as tile ticks are based on wall time for most things, however for entities setting this option too low could lead to jerkiness / lag. The gain however is a faster and more responsive server to other actions such as blocks, chat, combat etc.

This feature was commisioned by Chunkr.

By: md_5 <git@md-5.net>
2015-02-20 21:39:31 +11:00
CraftBukkit/Spigot
49288f7f95 BungeeCord Chat API
By: md_5 <git@md-5.net>
2014-12-13 03:06:05 +01:00
CraftBukkit/Spigot
5ec1e1bc24 Configurable Hanging Tick
By: drXor <mcyoung@mit.edu>
2014-08-09 13:56:51 -04:00
CraftBukkit/Spigot
d7f3ba3df3 Limit TNT Detonations per tick
This gives a per-world control on how much TNT will be processed per-tick,
preventing a massive TNT detonation from lagging out the server.

By: Aikar <aikar@aikar.co>
2014-08-20 18:12:32 -04:00
CraftBukkit/Spigot
c34736a0d2 Make debug logging togglable.
By: Minecrell <dev@minecrell.net>
2014-08-17 12:42:53 +02:00
CraftBukkit/Spigot
f026f7905e Add Hunger Config Values
By: lazertester <austin.techhead@gmail.com>
2014-08-17 19:56:17 +10:00
CraftBukkit/Spigot
83699d54bf Plug WorldMap Memory Leak
By: md_5 <git@md-5.net>
2014-08-08 19:57:03 +10:00
CraftBukkit/Spigot
0098808c9e Allow Attribute Capping.
Apply some sensible defaults and allow server owners to customize the maximum values of selected common attributes.

By: md_5 <git@md-5.net>
2014-07-28 16:55:51 +10:00
CraftBukkit/Spigot
5b20d95920 Apply NBTReadLimiter to more things.
By: md_5 <git@md-5.net>
2014-07-27 20:46:04 +10:00
CraftBukkit/Spigot
f972379105 Make "moved too quickly" limit configurable
By: Jonas Konrad <me@yawk.at>
2014-07-22 15:59:01 +02:00
CraftBukkit/Spigot
7b951a7ec6 Make "moved wrongly" limit configurable
By: Jonas Konrad <me@yawk.at>
2014-07-04 23:03:13 +02:00
CraftBukkit/Spigot
0166f71409 Prevent a crash involving attributes
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-07-19 19:54:41 +01:00
CraftBukkit/Spigot
6578ff97bb Add CommandLine EULA Flag
This flag contains the same message as eula.txt (albeit with proper grammar for 3rd person plural). By setting this flag you are agreeing to the terms listed in the message printed upon setting this flag, which are no different from those agreed to by any other method.

This feature only exists for hosting companies and people who manage servers in bulk who wish to agree to the terms by setting a flag in a script.

By: md_5 <git@md-5.net>
2014-07-09 10:35:44 +10:00
CraftBukkit/Spigot
0076297721 Safer JSON Loading
By: Suddenly <suddenly@suddenly.coffee>
2014-07-08 09:44:18 +10:00
CraftBukkit/Spigot
c4d2bdfd85 Further Seed Customisation
Allow server admins that really want to to customise the seeds used in world generation even further.

By: md_5 <git@md-5.net>
2014-07-04 13:28:45 +10:00
CraftBukkit/Spigot
4a1b3a723a Better item validation
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-07-02 23:35:51 +01:00
CraftBukkit/Spigot
804b118219 Limit block placement/interaction packets
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-06-29 21:10:34 +01:00
CraftBukkit/Spigot
7bee9a20b3 Configurable save-on-stop-only for UserCache
By: drXor <mcyoungsota@gmail.com>
2014-05-23 18:05:10 -04:00
CraftBukkit/Spigot
7e097e5d53 Implement PlayerSpawnLocationEvent.
By: ninja <xninja@openmailbox.org>
2014-04-08 14:05:19 +02:00
CraftBukkit/Spigot
542b7a7eb1 Configurable UserCache cap
By: drXor <mcyoungsota@gmail.com>
2014-04-25 18:17:30 -04:00
CraftBukkit/Spigot
05f3042755 Fix race condition that could kill connections before they were initiated
Because NetworkManagers are registered before they get their channel in
channelActive, the ServerConnection would remove them sometimes because
it thought they were disconnected. This commit fixes this by introducing
a 'preparing' variable that is true while the NetworkManager is not
initialized. The ServerConnection does not remove NetworkManagers with
this flag.

By: Jonas Konrad <me@yawk.at>
2014-04-25 23:46:46 +02:00
CraftBukkit/Spigot
8b9d2faa11 Prevent NoClassDefError crash and notify on crash
By: David <dmck2b@gmail.com>
2014-04-21 12:43:08 +01:00
CraftBukkit/Spigot
f1087e18c1 Fix Player Banning
This issue stems from the fact that Bukkit's API only allows a UUID to be banned, but Minecraft requires both a UUID and name. To fix this we modify the code to require a UUID or a name, or both. The correct fix would be expanding the API to be able to provide a name, however this would require plugin changes.

By: md_5 <git@md-5.net>
2014-04-15 10:32:48 +10:00
CraftBukkit/Spigot
b7597142d3 Use Offline Player Data Once if Required.
If we are online mode and the only copy of player data we can find is the player's offline mode data, we will attempt a once off conversion by reading this data and then renaming the file so it won't be used again.

By: md_5 <git@md-5.net>
2014-04-13 14:41:23 +10:00
CraftBukkit/Spigot
c3318769cd Print Stack on InternalException
By: md_5 <git@md-5.net>
2014-04-13 09:00:59 +10:00