Commit Graph

16 Commits

Author SHA1 Message Date
Aikar b6cf80ee66
Preload important classes such as Logger and JLine
This is for 2 reasons:
1) Ensuring our log4j is mostly loaded at OUR version.
   I've seen stack traces with line numbers that do not match our version. This means that some
   plugin has shaded in log4j and their loaded version is mixing with ours....
   So by at least trying to load a bunch of log4j classes before we load plugins, we can be
   more sure mixed versions are not loading.

2) If the jar file is replaced while the server is runnimg class not found errors galore
   This will preloaod a bunch of classes commonly seen to error during shutdown due to this.

   The goal here is to help let the server shutdown gracefully as possible. Some plugins will
   still blow up here if they access a class that hadn't been loaded yet, but goal is to at least
   stop freezing the shutdown process as it does with JLine and Log4j errors requiring an external kill.

   Ideally you should not replace jars while the server is running, but it is something that happens in
   development for testing.

Updated test server to do a copy though to avoid this happening in Paper development.
2020-05-24 13:19:08 -04:00
Aikar 4d38ee111f
Many fixes and improvements to chunk prioritization
I believe this brings us back to stable. A lot of complexity was
learned about juggling priorities.

We were essentially promoting more chunks to urgent than really
needed to be urgent.

So this commit adds a lot more logic to juggle neighbor priorities
and demote their priority once they meet the requirements needed of
them.

This greatly improves the performance of "urgent" chunks".

Fixes #3410
Fixes #3426
Fixes #3425
Fixes #3416
2020-05-22 01:03:42 -04:00
Aikar 78431dcaef
Update test server startup script 2020-04-09 20:45:38 -04:00
Shane Freeder 7bd0b6ab1a
[CI-SKIP] Add PAPER_TEST_APP_ARGS 2020-03-04 22:27:59 +00:00
Aikar 49f584a14b
[CI-SKIP] Update test server rebuild logic
Many times I've ran paper test trying to SHUTDOWN
the existing test server, only for it to see that my target folder
is missing (for whatever reason), and it try to build paper to make
the jar exists.

Well, the patch process will wipe out any uncommitted changes, causing
loss of work.

Now we will only build patches if your missing your entire Paper-Server
folder, and only trigger a mvn compile if the jar is missing.
2018-10-02 21:49:42 -04:00
Aikar 9ba2d1befb
[CI-SKIP] adjust test server memory flags 2018-09-09 16:59:33 -04:00
Aikar d089acb3bd
Switch to using ForgeFlower for Paper Only mc-dev imports
ForgeFlower is better than Spigots FernFlower at decompiling the source.

However, in order to maintain the CraftBukkit patches, we must keep
using spigots for the primary.

However, for any file that we import on top of Spigots imported files
there is nothing stopping us from using better decompiled files.

So these changes will use ForgeFlower to maintain a better set of
decomped files, so anything we add on top of Paper can start off
in a better spot.
2018-08-31 23:47:57 -04:00
Aikar 5b6dfb3463
NOT FINISHED!!! Current Progress on 1.13-pre7 update
This work is 100% unfinished. I am pushing it up so that we as a team
can work on this update.

Do not try to use this branch. You will fail.
2018-07-16 00:13:29 -04:00
Kyle Wood d45565f83b Handle gpg signing better (#1123)
Instead of checking whether it was set previously, setting it to false,
then setting it back to true if it was true before, just use the
command-line argument in git to override the config for that command.
Using a variable makes it pretty painless to do.
2018-05-24 13:41:50 -05:00
Zach Brown 9ff170660b
Move mc decompile source to its own folder
Makes caching easier, ever so slightly more organized.
2017-08-12 18:56:59 -05:00
Aikar ce5d34a9ab Update test server JVM flags. Bad me not even using my own flags! 2017-05-17 22:51:42 -04:00
Aikar f63a055b8b Change default Debugging port to avoid conflicts 2016-12-27 16:12:39 -05:00
DemonWav f6ef574012
Add tmux support to Paper test and add test to paper command help. 2016-05-11 22:08:19 -05:00
Zach Brown 13652bda9f
Add arguments to test server to allow local debug 2016-04-17 13:32:55 -05:00
Aikar 38b8a26236 Provide ability to wrap test server command for willies... 2016-04-09 21:46:09 -04:00
Aikar 7079bd6244 Add testserver command - quickly start a test server
This will help encourage testing with some widely used plugins
to help identify issues caused by changes before they are pushed.
2016-04-09 21:33:32 -04:00