Всем привет! Замечена следующая ошибка:
Если зарегистрироваться на TvT и при этом будет активный ЦЦ-канал, то при телепорте на ивент получаем следующую ошибку в ГС:
[21:26:54] WARN PvPEvent: Exception on changing state to PORTING_TO state.
java.lang.NullPointerException: Cannot invoke "l2.gameserver.model.Party.getCommandChannel()" because "<local2>" is null
at l2.gameserver.model.matching.CCMatchingRoom.getMemberType(Unknown Source)
at l2.gameserver.network.l2.s2c.ExManageMpccRoomMember.<init>(Unknown Source)
at l2.gameserver.model.matching.CCMatchingRoom.updateMemberPacket(Unknown Source)
at l2.gameserver.model.matching.MatchingRoom.broadcastPlayerUpdate(Unknown Source)
at l2.gameserver.model.CommandChannel.removeParty(Unknown Source)
at l2.gameserver.model.Party.removePartyMember(Unknown Source)
at events.TvT2.PvPEvent$TvTParticipantController.portParticipantsTo(Unknown Source)
at events.TvT2.PvPEvent.J(Unknown Source)
at events.TvT2.PvPEvent$PvPStateTask.run(Unknown Source)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:842)
java.lang.NullPointerException: Cannot invoke "l2.gameserver.model.Party.getCommandChannel()" because "<local2>" is null
at l2.gameserver.model.matching.CCMatchingRoom.getMemberType(Unknown Source)
at l2.gameserver.network.l2.s2c.ExManageMpccRoomMember.<init>(Unknown Source)
at l2.gameserver.model.matching.CCMatchingRoom.updateMemberPacket(Unknown Source)
at l2.gameserver.model.matching.MatchingRoom.broadcastPlayerUpdate(Unknown Source)
at l2.gameserver.model.CommandChannel.removeParty(Unknown Source)
at l2.gameserver.model.Party.removePartyMember(Unknown Source)
at events.TvT2.PvPEvent$TvTParticipantController.portParticipantsTo(Unknown Source)
at events.TvT2.PvPEvent.J(Unknown Source)
at events.TvT2.PvPEvent$PvPStateTask.run(Unknown Source)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:842)
По итогу, часть участников остаётся сидеть в городе и часть сидит в локации без движений до тех пор, пока не перезагрузишь сервер. Сделать релог нельзя в этом состоянии.
Или может это я где-то накосячил?
P.S. Обнова сборки за 26.10.
Если зарегистрироваться на TvT и при этом будет активный ЦЦ-канал, то при телепорте на ивент получаем следующую ошибку в ГС:
[21:26:54] WARN PvPEvent: Exception on changing state to PORTING_TO state.
java.lang.NullPointerException: Cannot invoke "l2.gameserver.model.Party.getCommandChannel()" because "<local2>" is null
at l2.gameserver.model.matching.CCMatchingRoom.getMemberType(Unknown Source)
at l2.gameserver.network.l2.s2c.ExManageMpccRoomMember.<init>(Unknown Source)
at l2.gameserver.model.matching.CCMatchingRoom.updateMemberPacket(Unknown Source)
at l2.gameserver.model.matching.MatchingRoom.broadcastPlayerUpdate(Unknown Source)
at l2.gameserver.model.CommandChannel.removeParty(Unknown Source)
at l2.gameserver.model.Party.removePartyMember(Unknown Source)
at events.TvT2.PvPEvent$TvTParticipantController.portParticipantsTo(Unknown Source)
at events.TvT2.PvPEvent.J(Unknown Source)
at events.TvT2.PvPEvent$PvPStateTask.run(Unknown Source)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:842)
java.lang.NullPointerException: Cannot invoke "l2.gameserver.model.Party.getCommandChannel()" because "<local2>" is null
at l2.gameserver.model.matching.CCMatchingRoom.getMemberType(Unknown Source)
at l2.gameserver.network.l2.s2c.ExManageMpccRoomMember.<init>(Unknown Source)
at l2.gameserver.model.matching.CCMatchingRoom.updateMemberPacket(Unknown Source)
at l2.gameserver.model.matching.MatchingRoom.broadcastPlayerUpdate(Unknown Source)
at l2.gameserver.model.CommandChannel.removeParty(Unknown Source)
at l2.gameserver.model.Party.removePartyMember(Unknown Source)
at events.TvT2.PvPEvent$TvTParticipantController.portParticipantsTo(Unknown Source)
at events.TvT2.PvPEvent.J(Unknown Source)
at events.TvT2.PvPEvent$PvPStateTask.run(Unknown Source)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:842)
По итогу, часть участников остаётся сидеть в городе и часть сидит в локации без движений до тех пор, пока не перезагрузишь сервер. Сделать релог нельзя в этом состоянии.
Или может это я где-то накосячил?
P.S. Обнова сборки за 26.10.
Last edited:

