NL0bP / AAEmu

A server software for ArcheAge written in .Net Core
Other
16 stars 8 forks source link

[BUG] <Баг с кораблями в последней ревизии emu 3.0> #69

Closed Black-Judge closed 3 months ago

Black-Judge commented 4 months ago

I confirm that:

Code branch that is affected by this issue

AAEmu-client_version-3.0_client(2017-03-15)+

Bug description

В последней ревизии emu 3.0 проявился баг с кораблями, если призвать например Тримаран, встать за штурвал не представляется возможным, отозвать транспортное средство также не получится, если отлететь на определенное расстояние и попытаться призвать наземный транспорт будет писать что Подойдите ближе, через некоторое время происходит закрытие клиента с ошибкой. Повторный вход на персонажа возможен только после перезагрузки сервера. При вызове транспорта в логе такая ошибка 10:03:04 [ERROR] TaskManager - System.NullReferenceException: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at AAEmu.Game.Core.Packets.G2C.SCSlaveStatusPacket..ctor(Slave slave) in /server/AAEmuDev/AAEmu.Game/Core/Packets/G2C/SCSlaveStatusPacket.cs:line 17 at AAEmu.Game.Models.Game.Units.Slave.AddVisibleObject(Character character) in /server/AAEmuDev/AAEmu.Game/Models/Game/Units/Slave.cs:line 599 at AAEmu.Game.Models.Game.World.Region.AddToCharacters(GameObject obj) in /server/AAEmuDev/AAEmu.Game/Models/Game/World/Region.cs:line 164 at AAEmu.Game.Core.Managers.World.WorldManager.AddVisibleObject(GameObject obj) in /server/AAEmuDev/AAEmu.Game/Core/Managers/World/WorldManager.cs:line 927 at AAEmu.Game.Models.Game.World.GameObject.Show() in /server/AAEmuDev/AAEmu.Game/Models/Game/World/GameObject.cs:line 80 at AAEmu.Game.Models.Game.World.GameObject.Spawn() in /server/AAEmuDev/AAEmu.Game/Models/Game/World/GameObject.cs:line 67 at AAEmu.Game.Core.Managers.SlaveManager.Create(Character owner, SlaveSpawner useSpawner, UInt32 templateId, Item item, Transform positionOverride) in /server/AAEmuDev/AAEmu.Game/Core/Managers/SlaveManager.cs:line 665 at AAEmu.Game.Core.Managers.SlaveManager.Create(Character owner, SkillItem skillData, Transform positionOverride) in /server/AAEmuDev/AAEmu.Game/Core/Managers/SlaveManager.cs:line 348 at AAEmu.Game.Models.Game.Skills.Effects.SpecialEffects.SpawnSlave.Execute(BaseUnit caster, SkillCaster casterObj, BaseUnit target, SkillCastTarget targetObj, CastAction castObj, Skill skill, SkillObject skillObject, DateTime time, Int32 value1, Int32 value2, Int32 value3, Int32 value4) in /server/AAEmuDev/AAEmu.Game/Models/Game/Skills/Effects/SpecialEffects/SpawnSlave.cs:line 32 at AAEmu.Game.Models.Game.Skills.Effects.SpecialEffect.Apply(BaseUnit caster, SkillCaster casterObj, BaseUnit target, SkillCastTarget targetObj, CastAction castObj, EffectSource source, SkillObject skillObject, DateTime time, CompressedGamePackets packetBuilder) in /server/AAEmuDev/AAEmu.Game/Models/Game/Skills/Effects/SpecialEffect.cs:line 49 at AAEmu.Game.Models.Game.Skills.Skill.ApplyEffects(BaseUnit caster, SkillCaster casterCaster, BaseUnit targetSelf, SkillCastTarget targetCaster, SkillObject skillObject) in /server/AAEmuDev/AAEmu.Game/Models/Game/Skills/Skill.cs:line 1025 at AAEmu.Game.Models.Game.Skills.Skill.ScheduleEffects(BaseUnit caster, SkillCaster casterCaster, BaseUnit target, SkillCastTarget targetCaster, SkillObject skillObject) in /server/AAEmuDev/AAEmu.Game/Models/Game/Skills/Skill.cs:line 756 at AAEmu.Game.Models.Game.Skills.Skill.Cast(BaseUnit caster, SkillCaster casterCaster, BaseUnit target, SkillCastTarget targetCaster, SkillObject skillObject) in /server/AAEmuDev/AAEmu.Game/Models/Game/Skills/Skill.cs:line 651 at AAEmu.Game.Models.Tasks.Skills.CastTask.Execute() in /server/AAEmuDev/AAEmu.Game/Models/Tasks/Skills/CastTask.cs:line 27 at AAEmu.Game.Core.Managers.TaskJob.Execute(IJobExecutionContext context) in /server/AAEmuDev/AAEmu.Game/Core/Managers/TaskManager.cs:line 276

При дисконнекте клиента в логе такая ошибка

10:05:40 [FATAL] PacketMarshaler - System.NullReferenceException: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at AAEmu.Game.Core.Packets.G2C.SCSlaveStatusPacket..ctor(Slave slave) in /server/AAEmuDev/AAEmu.Game/Core/Packets/G2C/SCSlaveStatusPacket.cs:line 17 at AAEmu.Game.Models.Game.Units.Slave.AddVisibleObject(Character character) in /server/AAEmuDev/AAEmu.Game/Models/Game/Units/Slave.cs:line 599 at AAEmu.Game.Models.Game.World.GameObject.AddVisibleObject(Character character) in /server/AAEmuDev/AAEmu.Game/Models/Game/World/GameObject.cs:line 111 at AAEmu.Game.Models.Game.Units.Slave.AddVisibleObject(Character character) in /server/AAEmuDev/AAEmu.Game/Models/Game/Units/Slave.cs:line 601 at AAEmu.Game.Models.Game.World.Region.AddToCharacters(GameObject obj) in /server/AAEmuDev/AAEmu.Game/Models/Game/World/Region.cs:line 146 at AAEmu.Game.Core.Managers.World.WorldManager.AddVisibleObject(GameObject obj) in /server/AAEmuDev/AAEmu.Game/Core/Managers/World/WorldManager.cs:line 946 at AAEmu.Game.Models.Game.World.Transform.Transform.FinalizeTransform(Boolean includeChildren) in /server/AAEmuDev/AAEmu.Game/Models/Game/World/Transform/Transform.cs:line 449 at AAEmu.Game.Core.Packets.C2G.CSMoveUnitPacket.Execute() in /server/AAEmuDev/AAEmu.Game/Core/Packets/C2G/CSMoveUnitPacket.cs:line 257 at AAEmu.Game.Core.Network.Game.GamePacket.Decode(PacketStream ps) in /server/AAEmuDev/AAEmu.Game/Core/Network/Game/GamePacket.cs:line 177 10:05:40 [ERROR] GameProtocolHandler - System.NullReferenceException: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at AAEmu.Game.Core.Packets.G2C.SCSlaveStatusPacket..ctor(Slave slave) in /server/AAEmuDev/AAEmu.Game/Core/Packets/G2C/SCSlaveStatusPacket.cs:line 17 at AAEmu.Game.Models.Game.Units.Slave.AddVisibleObject(Character character) in /server/AAEmuDev/AAEmu.Game/Models/Game/Units/Slave.cs:line 599 at AAEmu.Game.Models.Game.World.GameObject.AddVisibleObject(Character character) in /server/AAEmuDev/AAEmu.Game/Models/Game/World/GameObject.cs:line 111 at AAEmu.Game.Models.Game.Units.Slave.AddVisibleObject(Character character) in /server/AAEmuDev/AAEmu.Game/Models/Game/Units/Slave.cs:line 601 at AAEmu.Game.Models.Game.World.Region.AddToCharacters(GameObject obj) in /server/AAEmuDev/AAEmu.Game/Models/Game/World/Region.cs:line 146 at AAEmu.Game.Core.Managers.World.WorldManager.AddVisibleObject(GameObject obj) in /server/AAEmuDev/AAEmu.Game/Core/Managers/World/WorldManager.cs:line 946 at AAEmu.Game.Models.Game.World.Transform.Transform.FinalizeTransform(Boolean includeChildren) in /server/AAEmuDev/AAEmu.Game/Models/Game/World/Transform/Transform.cs:line 449 at AAEmu.Game.Core.Packets.C2G.CSMoveUnitPacket.Execute() in /server/AAEmuDev/AAEmu.Game/Core/Packets/C2G/CSMoveUnitPacket.cs:line 257 at AAEmu.Game.Core.Network.Game.GamePacket.Decode(PacketStream ps) in /server/AAEmuDev/AAEmu.Game/Core/Network/Game/GamePacket.cs:line 177 at AAEmu.Game.Core.Network.Game.GameProtocolHandler.OnReceive(GameConnection connection, Byte[] buf, Int32 bytes) in /server/AAEmuDev/AAEmu.Game/Core/Network/Game/GameProtocolHandler.cs:line 171

Steps to reproduce

зайти в игру персонажем, призвать например Тримаран /item add self 23618, попытаться встать за штурвал, отлететь на сушу и попытаться призвать наземный транспорт, дождаться аварийного дисконнекта клиента.

Expected behavior

Screenshots

https://youtu.be/MylHGzam3i4

Any additional context for this bug

NL0bP commented 3 months ago

Исправлен в 4f54aa230d041a9af91abc88c564c7555c43f91c