projectkig / kigpaper Goto Github PK
View Code? Open in Web Editor NEWThis project forked from papermc/paper
Paper 1.8.8 fork with critical performance tweaks, bug fixes and gameplay improvements.
Home Page: https://playkig.com
This project forked from papermc/paper
Paper 1.8.8 fork with critical performance tweaks, bug fixes and gameplay improvements.
Home Page: https://playkig.com
[Regression from regular Paper]
In order to ignore EntityDismountEvent
s triggered by Bukkit's Entity#eject, we check if the player is sneaking (LivingEntity class), which is error prone due to latency etc.
A solution would be to add a flag/enum as the cause of the dismount event, either natural or triggered via Bukkit.
I have a possible fix stashed locally, though I'll need to check all the possible ways the event can be fired.
Effect: leaders can dismount sometimes because they're not sneaking server side
What do you think about changing server's collections? Like player list or other collections, to the ones that have better performance? That would need heavy testing and benchmarks of course.
I saw Paper uses fastutil in their version of PlayerChunkMap, I don't remember exact name of the new class, but I think it's PlayerChunk, it really looks like it.
There is fastutil for example in:
PacketPlayOutEntityDestroy
PacketPlayOutGameStateChange
PacketPlayOutMultiBlockChange
PlayerMap
NBTTagLongArray
Chunk
NBTTagList
I think fastutil in PlayerMap (PlayerChunkMap and dirtyBlocks on 1.8) will be a huge improvement. What do you think?
As in the title
As in the title
I pulled the image ghcr.io/projectkig/kigpaper/kig-paper:ver-1.8.8_j9
, then copied server.jar
to my Windows machine. Upon starting it, I received the following error:
PS C:\lol> & 'C:\Program Files\Java\jre1.8.0_333\bin\java' -jar .\server.jar
Loading libraries, please wait...
java.lang.NoClassDefFoundError: Could not initialize class org.fusesource.jansi.WindowsAnsiOutputStream
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.apache.logging.log4j.core.appender.ConsoleAppender.getOutputStream(ConsoleAppender.java:128)
at org.apache.logging.log4j.core.appender.ConsoleAppender.getManager(ConsoleAppender.java:104)
at org.apache.logging.log4j.core.appender.ConsoleAppender.createAppender(ConsoleAppender.java:99)
at org.apache.logging.log4j.core.config.DefaultConfiguration.<init>(DefaultConfiguration.java:53)
at org.apache.logging.log4j.core.LoggerContext.<init>(LoggerContext.java:63)
at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:217)
at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:114)
at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:81)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:83)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:34)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:387)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:322)
at net.minecraft.server.v1_8_R3.MinecraftServer.<clinit>(MinecraftServer.java:53)
at org.bukkit.craftbukkit.Main.main(Main.java:201)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.destroystokyo.paperclip.Paperclip.main(Paperclip.java:177)
The official paper-1.8.8-445.jar works without any issues.
Windows Java version:
PS C:\lol> & 'C:\Program Files\Java\jre1.8.0_333\bin\java' -version
java version "1.8.0_333"
Java(TM) SE Runtime Environment (build 1.8.0_333-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode)
Running the Paperclip version gave the exact same error.
KigPaper works fine in ArchWSL. Java version:
[user@ArchWSL lol]$ /usr/lib/jvm/java-8-openjdk/bin/java -version
openjdk version "1.8.0_345"
OpenJDK Runtime Environment (build 1.8.0_345-b01)
OpenJDK 64-Bit Server VM (build 25.345-b01, mixed mode)
I'm getting this error when running "build.sh"
First, run
./remap.sh: line 41: zip: command not found
Removed log4j from vanilla jar. Make sure to have it as a dependency in pom.xml!
Applying class mappings...
Exception in thread "main" java.lang.IllegalArgumentException
at org.objectweb.asm.ClassReader.<init>(ClassReader.java:170)
at org.objectweb.asm.ClassReader.<init>(ClassReader.java:153)
at org.objectweb.asm.ClassReader.<init>(ClassReader.java:436)
at net.md_5.ss.repo.RuntimeRepo.getClass0(RuntimeRepo.java:25)
at net.md_5.ss.repo.ClassRepo.getClass(ClassRepo.java:22)
at net.md_5.ss.repo.AggregateRepo.getClass0(AggregateRepo.java:30)
at net.md_5.ss.repo.ClassRepo.getClass(ClassRepo.java:22)
at net.md_5.ss.model.ClassInfo$1.apply(ClassInfo.java:97)
at net.md_5.ss.model.ClassInfo$1.apply(ClassInfo.java:92)
at com.google.common.collect.Iterators$8.transform(Iterators.java:799)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:651)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at net.md_5.ss.remapper.EnhancedRemapper.findFieldDeclarer(EnhancedRemapper.java:45)
at net.md_5.ss.remapper.EnhancedRemapper.mapFieldName(EnhancedRemapper.java:107)
at net.md_5.ss.remapper.ClassRemapper.visitField(ClassRemapper.java:71)
at org.objectweb.asm.ClassReader.readField(ClassReader.java:768)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:689)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
at net.md_5.ss.model.ClassInfo.remap(ClassInfo.java:120)
at net.md_5.ss.SpecialSource.map(SpecialSource.java:96)
at net.md_5.ss.SpecialSource.main(SpecialSource.java:44)
Failed to apply class mappings.
Second run
Downloading unmapped vanilla jar...
Removing log4j...
Applying class mappings...
Applying member mappings...
Exception in thread "main" java.util.zip.ZipException: zip END header not found
at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1607)
at java.base/java.util.zip.ZipFile$Source.findEND(ZipFile.java:1497)
at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1504)
at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1308)
at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1271)
at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:733)
at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:850)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:248)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
at java.base/java.util.jar.JarFile.<init>(JarFile.java:350)
at java.base/java.util.jar.JarFile.<init>(JarFile.java:321)
at java.base/java.util.jar.JarFile.<init>(JarFile.java:287)
at net.md_5.ss.SpecialSource.map(SpecialSource.java:69)
at net.md_5.ss.SpecialSource.main(SpecialSource.java:44)
Failed to apply member mappings.
Hello, I'm running into a bit of an incompatibility issue here...
I compiled this for myself, and ran a test server with it.
Upon trying to use Citizens2, there is a method lookup error.
java.lang.NoSuchMethodError: org.bukkit.craftbukkit.v1_8_R3.CraftServer.getEntityMetadata()Lorg/bukkit/craftbukkit/v1_8_R3/metadata/EntityMetadataStore;
This error cannot be reproduced on a regular Paper installation, so I am wondering whether there is a breaking change to the org.bukkit.craftbukkit.v1_8_R3.CraftServer.getEntityMetadata()
method?
Is there a way to fix this, or some patch I should exclude when building?
Thank you for any support!
Java Version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b10)
OpenJDK 64-Bit Server VM (build 25.312-b10, mixed mode)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.