mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-27 05:23:51 +00:00
|
Some checks failed
Build / Build (arm64) (push) Has been cancelled
Build / Build (x86-64) (push) Has been cancelled
Build / Build (macOS arm64) (push) Has been cancelled
Build / Build (windows-arm64) (push) Has been cancelled
Build / Build (windows-x86-64) (push) Has been cancelled
Security / CodeQL (C/C++) (push) Has been cancelled
Security / Semgrep (push) Has been cancelled
Security / Sanitizer Build (ASan/UBSan) (push) Has been cancelled
The server can persist a corrupted near-origin position on map 0 (from a faulty area-trigger destination) across sessions. On re-login it sends the bad position via LOGIN_VERIFY_WORLD; if the player walks into the offending trigger again the server re-teleports there, and our heartbeats reinforce the bad save — creating a permanent teleport loop. Defenses added: - handleTeleportAck rejects MSG_MOVE_TELEPORT to near-origin on map 0 (no position update, no ACK, no world reload) - applyPlayerTransportState rejects player UPDATE_OBJECT MOVEMENT blocks pushing the same bad position - sendMovement blocks heartbeats originating from near-origin so the server cannot persist the bad save - 10-second area-trigger cooldown after teleport / world entry / login (replaces the one-shot suppress flag that re-fired on jitter) - Immediate STOP+HEARTBEAT after teleport ACK / WORLDPORT ACK / login to sync the real position with the server promptly - CMSG_AREATRIGGER firing now logged at WARNING level for diagnosis |
||
|---|---|---|
| .. | ||
| character.hpp | ||
| chat_handler.hpp | ||
| combat_handler.hpp | ||
| entity.hpp | ||
| entity_controller.hpp | ||
| expansion_profile.hpp | ||
| game_handler.hpp | ||
| game_interfaces.hpp | ||
| game_services.hpp | ||
| game_utils.hpp | ||
| group_defines.hpp | ||
| handler_types.hpp | ||
| inventory.hpp | ||
| inventory_handler.hpp | ||
| movement_handler.hpp | ||
| opcode_aliases_generated.inc | ||
| opcode_enum_generated.inc | ||
| opcode_names_generated.inc | ||
| opcode_table.hpp | ||
| opcodes.hpp | ||
| packet_parsers.hpp | ||
| player.hpp | ||
| protocol_constants.hpp | ||
| quest_handler.hpp | ||
| social_handler.hpp | ||
| spell_defines.hpp | ||
| spell_handler.hpp | ||
| spline_packet.hpp | ||
| transport_animator.hpp | ||
| transport_clock_sync.hpp | ||
| transport_manager.hpp | ||
| transport_path_repository.hpp | ||
| update_field_table.hpp | ||
| warden_constants.hpp | ||
| warden_crypto.hpp | ||
| warden_emulator.hpp | ||
| warden_handler.hpp | ||
| warden_memory.hpp | ||
| warden_module.hpp | ||
| world.hpp | ||
| world_packets.hpp | ||
| zone_manager.hpp | ||