mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-06 09:03:52 +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.cpp | ||
| chat_handler.cpp | ||
| combat_handler.cpp | ||
| entity.cpp | ||
| entity_controller.cpp | ||
| expansion_profile.cpp | ||
| game_handler.cpp | ||
| game_handler_callbacks.cpp | ||
| game_handler_packets.cpp | ||
| inventory.cpp | ||
| inventory_handler.cpp | ||
| movement_handler.cpp | ||
| opcode_table.cpp | ||
| opcodes.cpp | ||
| packet_parsers_classic.cpp | ||
| packet_parsers_tbc.cpp | ||
| player.cpp | ||
| quest_handler.cpp | ||
| social_handler.cpp | ||
| spell_handler.cpp | ||
| spline_packet.cpp | ||
| transport_animator.cpp | ||
| transport_clock_sync.cpp | ||
| transport_manager.cpp | ||
| transport_path_repository.cpp | ||
| update_field_table.cpp | ||
| warden_crypto.cpp | ||
| warden_emulator.cpp | ||
| warden_handler.cpp | ||
| warden_memory.cpp | ||
| warden_module.cpp | ||
| world.cpp | ||
| world_packets.cpp | ||
| world_packets_economy.cpp | ||
| world_packets_entity.cpp | ||
| world_packets_social.cpp | ||
| world_packets_world.cpp | ||
| zone_manager.cpp | ||