High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies
Go to file
Aikar e546c55b6e Optimize Chunk Unload Queue
Removing chunks from the unload queue when performing chunk lookups is a costly activity.

It drastically slows down server performance as many methods call getChunkAt, resulting in a bandaid
to skip removing chunks from the unload queue.

This patch optimizes the unload queue to instead use a boolean on the Chunk object itself to mark
if the chunk is active, and then insert into a LinkedList queue.

The benefits here is that all chunk unload queue actions are now O(1) constant time.

A LinkedList will never need to resize, and can be removed from in constant time when
used in a queue like method.

We mark the chunk as active in many places that notify it is still being used, so that
when the chunk unload queue reaches that chunk, and sees the chunk became active again,
it will skip it and move to next.
2016-03-18 18:03:44 -04:00
BuildData@29cbded5ff Submodules 2016-03-03 03:46:48 -06:00
Bukkit@60289d346e Upstream changes 2016-03-17 23:31:20 -05:00
Bukkit-Patches Patch rebuild. 2016-03-11 20:12:50 -06:00
CraftBukkit@a12b1a4770 Upstream changes 2016-03-17 23:31:20 -05:00
CraftBukkit-Patches SPIGOT-1953: Don't copy NavigationListener Map on Iteration. 2016-03-17 23:31:20 -05:00
Paperclip@98c39e89d1 Update for upstream changes 2016-03-03 04:07:25 -06:00
Spigot-API-Patches set default goals on all pom poms </cheer> 2016-03-18 02:13:51 -04:00
Spigot-Server-Patches Optimize Chunk Unload Queue 2016-03-18 18:03:44 -04:00
.gitignore Update for upstream changes 2016-03-03 04:07:25 -06:00
.gitmodules Add Paperclip support 2016-01-26 00:36:28 -06:00
.travis.yml Paper 1.9 2016-03-03 03:46:49 -06:00
applyPatches.sh Paper 1.9 2016-03-03 03:46:49 -06:00
build.sh remove that comment... 2016-03-18 01:50:06 -04:00
Contributing.md Fix Errors in Contributing.md 2016-03-15 16:21:57 -04:00
decompile.sh Paper 1.9 2016-03-03 03:46:49 -06:00
init.sh Add submodules and build scripts 2016-01-26 00:00:25 -06:00
makemcdevsrc.sh Add makemcdevsrc.sh 2016-03-08 22:08:16 -05:00
paperclip.sh Fix chest sound playing at the wrong locaton 2016-03-04 17:49:32 -06:00
pom.xml set default goals on all pom poms </cheer> 2016-03-18 02:13:51 -04:00
README.md skip jar creation on build unless --jar specified 2016-03-18 01:46:32 -04:00
rebuildPatches.sh Paper 1.9 2016-03-03 03:46:49 -06:00
remap.sh Basic OS X compatibility: It works 2016-01-26 01:50:49 -06:00
upstreamMerge.sh Update for upstream changes 2016-03-03 04:07:25 -06:00

Paper CI Status

High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.

IRC Support and Project Discussion

How To (Server Admins)

Download a copy of Paperclip.jar from our buildserver here: https://ci.destroystokyo.com/job/PaperSpigot/

Run the PaperClip jar directly from your server. Just like old times

PaperSpigot requires Java 8 or above.

How To (Compiling From Source)

To compile PaperSpigot, you need JDK 8, maven, and an internet connection.

Clone this repo, run ./build.sh --jar from bash, get files.

Leave off --jar if you only wish to resync your checkout and not create a paperclip jar file just yet.

Special Thanks To:

YourKit-Logo

YourKit, makers of the outstanding java profiler, support open source projects of all kinds with their full featured Java and .NET application profilers. We thank them for granting PaperSpigot an OSS license so that we can make our software the best it can be.