Commit d281473
authored
[Feat] Wire LFGMgr into the world (#327)
Drive LFGMgr::Update() from World::Update every 30s via the existing
WUPDATE_LFGMGR timer, and call sLFGMgr.ResetDailyRecords() from the daily
quest reset path. Both gated behind a new LFG.Enable config option
(World.h enum, WorldConfig.cpp setter, mangosd.conf.dist.in block),
defaulting off. The timer had been dead since it was added: the interval
was set but nothing ever read it.
When LFG is off, send SMSG_LFG_DISABLED on login via the Phase 3a
LFGPackets::BuildDisabled builder. Verified in-game: the client clears its
LFG state and raises ERR_SYSTEM_DISABLED ("This system is currently
disabled."). Note it does NOT change the Dungeon Finder panel itself --
the opcode's handler fires the LFG_UPDATE Lua event, and LFDFrame.lua:30
has that registration commented out by Blizzard, so the panel keeps its
normal empty appearance. Populating it needs the lock/dungeon lists, which
is a later phase.
Fixes SMSG_LFG_DISABLED being unsendable: it was registered
STATUS_UNHANDLED, and WorldSession::SendPacket drops any such packet with
"tried to send an unhandled opcode 0x0815" before it reaches the wire.
Every other server-to-client opcode that is actually sent uses
STATUS_NEVER -- 483 of them against 13 stragglers. Nothing had ever tried
to send this one, so the mis-registration was invisible.
Adds LOG_FILTER_LFG rather than borrowing an unrelated filter bit, so the
tick trace can be enabled without turning on something else.
Also fixes iterator invalidation in RemoveOldRoleChecks: it erased from
m_roleCheckMap by key while iterating with the loop's ++roleItr,
invalidating the iterator before the increment. Switched to the
erase-returns-next-iterator idiom. This was dead code until now; the tick
would have hit it on the first expired role check.1 parent 6918569 commit d281473
9 files changed
Lines changed: 57 additions & 6 deletions
File tree
- src
- game
- Server
- WorldHandlers
- mangosd
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1054 | 1054 | | |
1055 | 1055 | | |
1056 | 1056 | | |
1057 | | - | |
| 1057 | + | |
1058 | 1058 | | |
1059 | 1059 | | |
1060 | 1060 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
| 74 | + | |
74 | 75 | | |
75 | 76 | | |
76 | 77 | | |
| |||
941 | 942 | | |
942 | 943 | | |
943 | 944 | | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
944 | 955 | | |
945 | 956 | | |
946 | 957 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1108 | 1108 | | |
1109 | 1109 | | |
1110 | 1110 | | |
1111 | | - | |
| 1111 | + | |
1112 | 1112 | | |
1113 | | - | |
1114 | | - | |
1115 | 1113 | | |
1116 | 1114 | | |
1117 | 1115 | | |
| |||
1127 | 1125 | | |
1128 | 1126 | | |
1129 | 1127 | | |
1130 | | - | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
1131 | 1133 | | |
1132 | 1134 | | |
1133 | 1135 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1146 | 1146 | | |
1147 | 1147 | | |
1148 | 1148 | | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
1149 | 1158 | | |
1150 | 1159 | | |
1151 | 1160 | | |
| |||
1976 | 1985 | | |
1977 | 1986 | | |
1978 | 1987 | | |
| 1988 | + | |
| 1989 | + | |
| 1990 | + | |
| 1991 | + | |
| 1992 | + | |
1979 | 1993 | | |
1980 | 1994 | | |
1981 | 1995 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
432 | 432 | | |
433 | 433 | | |
434 | 434 | | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
435 | 438 | | |
436 | 439 | | |
437 | 440 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
444 | 444 | | |
445 | 445 | | |
446 | 446 | | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
447 | 450 | | |
448 | 451 | | |
449 | 452 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
294 | 294 | | |
295 | 295 | | |
296 | 296 | | |
| 297 | + | |
297 | 298 | | |
298 | 299 | | |
299 | 300 | | |
| |||
417 | 418 | | |
418 | 419 | | |
419 | 420 | | |
| 421 | + | |
420 | 422 | | |
421 | 423 | | |
422 | 424 | | |
| |||
1396 | 1398 | | |
1397 | 1399 | | |
1398 | 1400 | | |
| 1401 | + | |
| 1402 | + | |
| 1403 | + | |
| 1404 | + | |
| 1405 | + | |
| 1406 | + | |
| 1407 | + | |
| 1408 | + | |
| 1409 | + | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
1399 | 1415 | | |
1400 | 1416 | | |
1401 | 1417 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
| 102 | + | |
102 | 103 | | |
103 | 104 | | |
104 | 105 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
| 90 | + | |
90 | 91 | | |
91 | 92 | | |
92 | | - | |
| 93 | + | |
93 | 94 | | |
94 | 95 | | |
95 | 96 | | |
| |||
0 commit comments