Commit Graph

67 Commits

Author SHA1 Message Date
Zach Brown
f41436f787 Expose server build information
Co-authored-by: Zach Brown <1254957+zachbr@users.noreply.github.com>
Co-authored-by: Kyle Wood <kyle@denwav.dev>
Co-authored-by: Mark Vainomaa <mikroskeem@mikroskeem.eu>
Co-authored-by: Riley Park <rileysebastianpark@gmail.com>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Co-authored-by: masmc05 <masmc05@gmail.com>
2016-03-01 14:32:43 -06:00
Owen1212055
216388dfdf Paper Plugins
Co-authored-by: Micah Rao <micah.s.rao@gmail.com>
2022-07-06 23:00:31 -04:00
SirYwell
a0389538ec Rewrite LogEvents to contain the source jars in stack traces 2021-07-10 11:12:30 +02:00
Jason Penilla
34407fe880 Deobfuscate stacktraces in log messages, crash reports, and etc. 2021-06-20 18:19:09 -07:00
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
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
CraftBukkit/Spigot
c34736a0d2 Make debug logging togglable.
By: Minecrell <dev@minecrell.net>
2014-08-17 12:42:53 +02:00
CraftBukkit/Spigot
41b8d833db #1424: Trial changing a small number of inner enums to classes/interfaces to better support custom values
This PR is a subset of the enum PR #931 and is designed as a low impact
trial run of the design and backwards compatibility to inform
subsequent development.

Additional plugin compatibility features may be available by setting
`settings.compatibility.enum-compatibility-mode` to `true` in
`bukkit.yml`.

By: DerFrZocker <derrieple@gmail.com>
2024-07-06 17:14:22 +10:00
CraftBukkit/Spigot
c955ea1663 #1401: Add a config option to accept old keys in registry get calls
By: DerFrZocker <derrieple@gmail.com>
2024-05-29 06:45:14 +10:00
CraftBukkit/Spigot
65bc2541a3 Update to Minecraft 1.20.5
By: md_5 <git@md-5.net>
2024-04-24 01:15:00 +10:00
CraftBukkit/Spigot
100bb8f120 #1052: Add option to use cached map color palette
This reduces the conversion time drastically with the cost of slightly more memory usage.

By: DerFrZocker <derrieple@gmail.com>
2022-06-18 21:13:42 +10:00
CraftBukkit/Spigot
314b83ffae SPIGOT-6918: Add SpawnCategory API and configurations for Axolotls
By: Doc <nachito94@msn.com>
2022-02-07 18:47:27 +11:00
CraftBukkit/Spigot
c0b8deb846 Put Discord rather than IRC in config files
By: md_5 <git@md-5.net>
2022-01-03 08:21:46 +11:00
CraftBukkit/Spigot
2d0a775210 #934: Support for configuring Water Underground Creatures spawn settings
By: Doc <nachito94@msn.com>
2021-10-05 11:29:52 +11:00
CraftBukkit/Spigot
8144dfbd7f Add configuration options for water_ambient spawning
By: md_5 <git@md-5.net>
2020-06-26 18:39:42 +10:00
CraftBukkit/Spigot
e6566a0503 SPIGOT-5484: Add more spawn tick settings
By: Phoenix616 <mail@moep.tv>
2020-03-07 18:30:21 +01:00
CraftBukkit/Spigot
d775003bb2 Fix log messages being split across GUI and terminal
By: md_5 <git@md-5.net>
2020-01-22 09:10:36 +11:00
CraftBukkit/Spigot
77b64e0c78 Update to Minecraft 1.15.2
By: md_5 <git@md-5.net>
2020-01-22 08:00:00 +11:00
CraftBukkit/Spigot
7ca2721835 Re-add chunk GC for plugin chunk loads
By: md_5 <git@md-5.net>
2019-07-03 10:29:02 +10:00
CraftBukkit/Spigot
d6d34c98e7 SPIGOT-5106: Config option to prevent plugins with incompatible API's from loading
By: md_5 <git@md-5.net>
2019-06-29 16:36:58 +10:00
CraftBukkit/Spigot
a0f2b74c8d Update to Minecraft 1.14-pre5
By: md_5 <git@md-5.net>
2019-04-23 12:00:00 +10:00
CraftBukkit/Spigot
9f139c21fc Update default spawn-limits
By: md_5 <git@md-5.net>
2018-07-30 10:47:23 +10:00
CraftBukkit/Spigot
9202a305e9 Update default config links
By: md_5 <git@md-5.net>
2018-07-28 18:34:37 +10:00
CraftBukkit/Spigot
45bc3007b4 Add ignore-vanilla-permissions option to assist with disabling default commands
By: md_5 <git@md-5.net>
2018-07-16 12:06:06 +10:00
CraftBukkit/Spigot
89b3d6e8a6 SPIGOT-3491: Add option to bypass permissions in advancements
By: md_5 <git@md-5.net>
2017-08-06 09:07:24 +10:00
CraftBukkit/Spigot
40c8954e17 Update to Minecraft 1.12-pre2
By: md_5 <git@md-5.net>
2017-05-14 12:00:00 +10:00
CraftBukkit/Spigot
b020388b99 MC-100524: Fix log files getting overwritten
https://bugs.mojang.com/browse/MC-100524

Log files were previously overwritten when more than 7 were created on the same day.  This is caused by Log4J's default behavior with DefaultRolloverStrategy, which defaults to a max of 7.

While a max of 1000 doesn't fully stop this problem from happening, for 1000 log files in a single day to be reached the server would have to restart faster than once every 1.5 minutes, which is unlikely to happen.  So 1000 seems like a good limit.  A higher max isn't used because when it gets higher, there are performance hits due to the way Log4J checks for the next file.

By: Pokechu22 <Pokechu022@gmail.com>
2016-06-22 22:13:38 -07:00
CraftBukkit/Spigot
21d4bf5d1f Update to Minecraft 1.9
By: md_5 <git@md-5.net>
2016-03-01 08:32:46 +11:00
CraftBukkit/Spigot
c72d0324fc Update commands.yml headers
By: md_5 <git@md-5.net>
2015-06-01 19:23:31 +10:00
CraftBukkit/Spigot
a0a199a242 Remove unused bukkit.yml options and update links / info.
By: md_5 <git@md-5.net>
2015-05-31 12:11:56 +10:00
CraftBukkit/Spigot
a419776f3c Update to Minecraft 1.8
For more information please see http://www.spigotmc.org/

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-26 08:32:16 +11:00
CraftBukkit/Spigot
0232a71622 Update/improve configuration documentation.
By: EvilSeph <evilseph@gmail.com>
2014-02-11 00:39:23 -05:00
CraftBukkit/Spigot
8227c52d3f [Bleeding] Implement Mojang command fallback system. Adds BUKKIT-5385
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-02-07 18:40:59 -05:00
CraftBukkit/Spigot
512db9b878 Make console work on Windows again. Fixes BUKKIT-4956
Something the log4j ConsoleAppender does makes the console work correctly
on Windows. After trying to pull pieces of it out and run them manually
I decided to just put the appender back. We now once again start with the
ConsoleAppender then remove it immediately after starting.

By: Travis Watkins <amaranth@ubuntu.com>
2013-12-01 13:21:22 -06:00
CraftBukkit/Spigot
7537956dec Forward exceptions to log4j, cleanup logger handling. Fixes BUKKIT-4948
By: Travis Watkins <amaranth@ubuntu.com>
2013-12-01 11:15:18 -06:00
CraftBukkit/Spigot
d6140ccc93 Re-enable built in auto-save. Fixes BUKKIT-4800
When Minecraft first introduced an auto-save feature, we
were taken by surprise by how much of an impact it actually had on the performance
of the server. After investigating the potential causes of the significant
slow-downs we saw at the time, we came to the conclusion that it was a
combination of the auto-save interval being incredibly frequent and
servers already having an auto-save solution that was conflicting with the
newly added built-in one.

Since we noticed that most servers already had their own auto-save
solution, we decided to completely disable the built in auto-save by
default. In hindsight, however, we were so happy that we discovered and
squashed the cause of the performance issues that we forgot to consider
the future and, as a result, some servers have unfortunately been caught
by surprise when they ran their servers without any auto-save plugins.

Without the auto-save plugin conflict, however, Minecraft's default save
interval of 45 seconds is not suitable for the types of servers that run
Bukkit, to the point where it was negatively impacting performance. As
such, we've decided to re-enable the built in auto-save at an interval of
5 minutes for newly created servers.

By: EvilSeph <evilseph@gmail.com>
2013-10-23 19:29:05 -04:00
CraftBukkit/Spigot
e895c1e420 [Bleeding] Implement periodic chunk garbage collector
This adds two settings to bukkit.yml, allowing activation and control of
two chunk garbage collection triggering conditions:
chunk-gc/period-in-ticks controls a periodic GC, run once every N ticks
(default is 600); chunk-gc/load-threshold causes the GC to run once
after every N calls to loadChunk() on a given world (this call is an API
call used by plugins, and is distinct from the path taken for routine
player movement-based loading).  In both cases, setting to zero will
disable the given GC scheduling strategy.

In either case, the act of doing the GC is simply one of scanning the
loaded chunks, seeing which are NOT being used by one or more players
(due to view-distance) and which are not already queued for unload, and
queueing them for a normal unload.  Ultimately, the unload is then
processed the same as if the chunk were unloaded due to leaving the
view-distance range of all players, so the impact on plugins should be
no different (and strategies such as handling the ChunkUnloadEvent in
order to prevent unload will still work).

The initial interval for the periodic GC is randomized on a per-world
basis, in order to avoid all world being GCed at the same time -
minimizing potential lag spikes.

By: Mike Primm <mike@primmhome.com>
2012-12-10 09:38:26 -06:00
CraftBukkit/Spigot
d54778d339 Add a custom shutdown message set in bukkit.yml. Addresses BUKKIT-3031
By: feildmaster <admin@feildmaster.com>
2012-12-03 19:32:44 -06:00
CraftBukkit/Spigot
64a7434f5a Implement API for ambient mob spawn limit. Add spawn-limit.ambient to
bukkit.yml. Adds BUKKIT-2765

By: Travis Watkins <amaranth@ubuntu.com>
2012-10-31 11:18:41 -05:00
CraftBukkit/Spigot
1f7d5bc41b Remove spawn-radius setting in bukkit.yml in favour of spawn-protection in
server.properties. Fixes BUKKIT-2657

By: EvilSeph <evilseph@gmail.com>
2012-10-28 01:30:09 -04:00
CraftBukkit/Spigot
42dfd206a6 [Bleeding] Add autosave interval setting in bukkit.yml. Adds BUKKIT-2507
The new setting is located at "ticks-per.autosave". By changing this
value, it affects how often a full save is automatically executed,
measured in ticks.

This value is defaulting to 0 (off) because we believe that the vast
majority of servers already have a third-party solution to automatically
saving the server at set intervals. Having the built in auto-save disabled
by default ensures that we are not saving things twice; doing so leads to
absolutely no benefits, but results in detrimental and noticeable
unnecessary performance decrease.

For servers that do not use an automated external script to perform saves,
this setting can be turned on by setting the value higher than 0, with 900
being the value used in vanilla.

By: Mike Primm <mike@primmhome.com>
2012-08-18 17:36:39 -05:00
CraftBukkit/Spigot
24abca3c43 Implement new deprecated warning state configuration option
By: Wesley Wolfe <weswolf@aol.com>
2012-08-06 23:52:49 -05:00
CraftBukkit/Spigot
f54cb1e14e Add query-plugins setting. Addresses BUKKIT-1781
By: H31IX <effectsdude@gmail.com>
2012-06-09 13:59:52 -04:00
CraftBukkit/Spigot
02fa535888 Add per-world spawn limits with fallback to server-wide bukkit.yml settings.
Fixes BUKKIT-1565

By: Travis Watkins <amaranth@ubuntu.com>
2012-04-23 19:01:22 -05:00
CraftBukkit/Spigot
12fff3a0e9 Added configurable Connection Throttle. Addresses BUKKIT-1274
By: EvilSeph <evilseph@gmail.com>
2012-03-22 08:03:24 -04:00