NetSky
-
Posts
127 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by NetSky
-
-
anyways this core sided cooldown check would be good as temporary solution till something like mangos-"warden" is possible ^^
i was thinking of some external program for clients like punkbuster
this would open possibilities to check clients cheating without harming server performance at all
-
hmm ok maybe there are some adjustments needed i am working with a source with an enormous amount of changes compared to git but there should be no problem for a git compatible version this time i will push a repo @ git again because it is easier to review i have also needed data gathered for mounts like tundra mammoth e.g. but i could not test because i am testing on my own
vehicles i got working :
- All DK start vehicles
- Most Wintergrasp related vehicles(missing data for new ones of 3.22 - but maybe this these are only for use in new battleground (sry i forgot the name beacuse i am not playing often ) )
- All Argent Championship vehicles
- All Ulduar vehicles
- some additional vehicles(but need aditional implementation in package handling and playermount handling(e.g. implement player_click_spells similar to npc_click_spells )
This is not yet finished still a lot of work to do
e.g. different energytypes of vehicles still missing
-
i will update mine soon - as long as i am working with a modified version of the actual patch i did not realize which major bugs could be there.... transport unitflag was not added correctly for passive passenngers or passive vehicle pilots, movement packages were not handled correctly...
btw gathered also data for additional vehicles getting rid of vehicle_data and vehicle_seat_data by generic use of dbc seem to be no good ides since many vehicles need custom flags for correct work.
-
yes i realized this today sry i do not play much so i just suggested this would not work also without further investigations =)
@ xard : i already mentioned which method needs to be modified should not hard to find right place
-
unfortunatelly not if you apply any action in ScriptedAI npc leave MotionMaster->MoveFollow() and standing in one place. Hacks like this http://www.scriptdev2.com/dev-small-pet-t4609.html rewriting whole Pet behaviour are needed than.
no you are wrong it is working as intended if you use core implemented guardian ai
just as i said spells have to be added with autocastflag when guardian is created and everything is working fine
as far as i can see scripted ai maybe usefull for runeblade summon but nothing else... others can be soluted better with no waste of code
-
if (unitPlayer && target == this) { switch(spellProto->SpellFamilyName) { case SPELLFAMILY_DRUID: if (spellProto->SpellFamilyFlags & UI64LIT(0x100)) { // Glyph of Thorns if (Aura * aur = GetAura(57862, 0)) duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS; } break; case SPELLFAMILY_PALADIN: if (spellProto->SpellFamilyFlags & UI64LIT(0x00000002)) { // Glyph of Blessing of Might if (Aura * aur = GetAura(57958, 0)) duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS; } else if (spellProto->SpellFamilyFlags & UI64LIT(0x00010000)) { // Glyph of Blessing of Wisdom if (Aura * aur = GetAura(57979, 0)) duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS; } break; default: break; } }
i will provide a patchfile maybe later
this is addition for CalculateSpellDuration Method.
-
Can you upload it to git please? Or make a valid .patch ? Thanks in advance
you can create a patchfile yourself just copy paste
then run the patch with patch -p1 < file.patch in your source root
recompile ad.exe
and reextract your maps and test it
@bullek this is no core issue btw this is just related to missing data in map files - so newer revision will not fix this will be fixed if data is correctly extracted for maps
-
map extractor needs to be modified for wmos
you can try this hack for extracting additional wmo data fishing in places below 0 (caves) won't work
you need to reextract your maps
-
I have applied aliendiplomat fix but is the same...
Some screenshots of my main problems
About Ulduar, on the other hand exist the problem that I said, and i have discovered one more thing. If one can drive a vehicle and go far, then the second drive another vehicle and can drive his own vehicle but if the second go near the first the second appears in the first's vehicle and then the same problem... very odd....
I know Ulduar vehicles are very complex, I hope someone could work on it.
Thank you very much
first : this is db stuff not related to code anyway
second : energy for vehicles is not yet correctly implemented
-
would be possible to make the effect of a crash local? like only disconnect the affected players/units and not the whole server. Fault tolerance on mangos would be very nice, i'm pretty sure blizz servers already have that.
blizzard is not using single servers this type of handling instance/bg crashes is kind of old fashioned(means it
has always there, as far as I can remember )
-
Hi!
I have succesfully patched my core with this patch, and vehicles do what they should do, but i have a very very big problem:
Massacre at light point:
The cannons can shot but they can move, i mean, when I press "Up arrow" the cannon starts walking, etc...
Also I have applied ulduar vehicles with this
-- Salvaged Chopper REPLACE INTO npc_spellclick_spells VALUES (33062, 52196, 0, 0, 0, 0); REPLACE INTO creature_template_addon VALUES (33062, 0, 0, 0, 0, 0, 335, NULL, NULL); REPLACE INTO vehicle_data VALUES (335, 12, 62974, 62286, 62299, 64660, 0, 0, 0, 0, 0, 0, 0); REPLACE INTO vehicle_seat_data VALUES (3005, 1); -- Salvaged Demolisher REPLACE INTO npc_spellclick_spells VALUES (33109, 52196, 0, 0, 0, 0); REPLACE INTO creature_template_addon VALUES (33109, 0, 0, 0, 0, 0, 338, NULL, NULL); REPLACE INTO vehicle_data VALUES (338, 12, 62306, 62490, 62308, 62324, 0, 0, 0, 0, 0, 0, 0); REPLACE INTO vehicle_seat_data VALUES (3011, 1); -- Salvaged Siege Engine REPLACE INTO npc_spellclick_spells VALUES (33060, 52196, 0, 0, 0, 0); REPLACE INTO creature_template_addon VALUES (33060, 0, 0, 0, 0, 0, 336, NULL, NULL); REPLACE INTO vehicle_data VALUES (336, 12, 62345, 62522, 62346, 0, 0, 0, 0, 0, 0, 0, 0); REPLACE INTO vehicle_seat_data VALUES (3006, 1);
Then they started to work, but if you go in raid group, the first can drive the vehicle but when the second one tries to drive other vehicle jump to the first's vehicle, i mean, apparently only one vehicle can be used at the same time
Have you check this?
Thank you
should not happen maybe check creature data
-
yes that's correct you need correct npc_spellclick table data for this i cannot provide data for at the moment maybe udb or someone else could
-
Core: 8754
SD2: 1480
DB: YTDB 515
HEISEI: 51
Custom patch: mtmaps,blink,chatlog
OS: Linux 64 bit
Frecuently: 2hours aprox
(gdb) bt full #0 0x00007f711bfadfb5 in raise () from /lib/libc.so.6 No symbol table info available. #1 0x00007f711bfafbc3 in abort () from /lib/libc.so.6 No symbol table info available. #2 0x00007f711bfa6f09 in __assert_fail () from /lib/libc.so.6 No symbol table info available. #3 0x00000000006b095c in Aura::UnregisterSingleCastAura (this=0x7f70fd8c32a0) at ../../../src/game/SpellAuras.cpp:7410 caster = <value optimized out> __PRETTY_FUNCTION__ = "void Aura::UnregisterSingleCastAura()" #4 0x00000000007150d1 in Unit::RemoveAura (this=0x7f70fd343b50, i=@0x7f31, mode=6) at ../../../src/game/Unit.cpp:4055 Aur = (class Aura *) 0x7f0c AurSpellInfo = (const SpellEntry *) 0x7f7116ad5710 statue = <value optimized out> caster_channeled = <value optimized out> #5 0x0000000000716a5e in Unit::RemoveAura (this=0x7f70fd343b50, aura=0x7f70fd8c32a0, mode=AURA_REMOVE_BY_DEFAULT) at ../../../src/game/Unit.cpp:4043 i = {_M_node = 0x7f70f40b3110} #6 0x0000000000716b66 in Unit::RemoveNotOwnSingleTargetAuras ( this=0x7f70df0098d0, newPhase=0) at ../../../src/game/Unit.cpp:4026 aura = (class Aura *) 0x7f70fd8c32a0 ---Type <return> to continue, or q <return> to quit--- #7 0x0000000000716bc1 in Unit::RemoveFromWorld (this=0x7f70df0098d0) at ../../../src/game/Unit.cpp:11102 No locals. #8 0x0000000000524003 in Creature::RemoveFromWorld (this=0x7f70df0098d0) at ../../../src/game/Creature.cpp:157 No locals. #9 0x0000000000600fd7 in ObjectGridUnloader::Visit<Creature> ( this=<value optimized out>, m=@0x7f70f4356000) at ../../../src/game/ObjectGridLoader.cpp:263 No locals. #10 0x00000000006005f5 in ObjectGridUnloader::Unload (this=0x7f7118488d30, grid=@0x7f70f4355fd0) at ../../../src/game/../framework/GameSystem/TypeContainerVisitor.h:64 No locals. #11 0x00000000005cf2cc in Map::UnloadGrid (this=0x7f7108db51b0, x=@0x7f7118488ecc, y=@0x7f7118488ec8, pForce=<value optimized out>) at ../../../src/game/../framework/GameSystem/GridLoader.h:72 unloader = {i_grid = @0x7f70f4352bf0} grid = <value optimized out> gx = <value optimized out> __PRETTY_FUNCTION__ = "bool Map::UnloadGrid(const uint32&, const uint32&, bool)" #12 0x000000000078bba1 in RemovalState::Update (this=<value optimized out>, ---Type <return> to continue, or q <return> to quit--- m=@0x7f7108db51b0, grid=@0x7f70f4352bf0, info=<value optimized out>, x=@0x7f7118488ecc, y=@0x7f7118488ec8, t_diff=@0x7f7118488f64) at ../../../src/game/GridStates.cpp:65 No locals. #13 0x00000000005d9fa0 in Map::Update (this=0x7f7108db51b0, t_diff=@0x7f7118488f64) at ../../../src/game/Map.cpp:714 grid = <value optimized out> updater = {i_timeDiff = 172} grid_object_update = {i_visitor = @0x7f7118488ef0} world_object_update = {i_visitor = @0x7f7118488ef0} __PRETTY_FUNCTION__ = "virtual void Map::Update(const uint32&)" #14 0x00000000005e94a5 in MapManager::Update (.omp_data_i=0x7f7118488fc0) at ../../../src/game/MapManager.cpp:282 update_queue = {<std::_Vector_base<Map*, std::allocator<Map*> >> = { _M_impl = {<std::allocator<Map*>> = {<__gnu_cxx::new_allocator<Map*>> = {<No data fields>}, <No data fields>}, _M_start = 0x7f71022ed490, _M_finish = 0x7f71022ed5c0, _M_end_of_storage = 0x7f71022ed5c0}}, <No data fields>} #15 0x00000000005e961b in MapManager::Update (this=0x7f71091f9240, diff=<value optimized out>) at ../../../src/game/MapManager.cpp:288 update_queue = {<std::_Vector_base<Map*, std::allocator<Map*> >> = { _M_impl = {<std::allocator<Map*>> = {<__gnu_cxx::new_allocator<Map*>> = {<No data fields>}, <No data fields>}, _M_start = 0x7f71022ed490, ---Type <return> to continue, or q <return> to quit--- _M_finish = 0x7f71022ed5c0, _M_end_of_storage = 0x7f71022ed5c0}}, <No data fields>} #16 0x0000000000741d24 in World::Update (this=0xb870e0, diff=172) at ../../../src/game/World.cpp:1663 autobroadcaston = 1 #17 0x00000000004e84d1 in WorldRunnable::run (this=<value optimized out>) at ../../../src/mangosd/WorldRunnable.cpp:64 diff = 172 realCurrTime = 2788481844 realPrevTime = <value optimized out> prevSleepTime = 95 #18 0x00000000007e4efc in ACE_Based::Thread::ThreadTask (param=0x7f0c) at ../../../src/shared/Threading.cpp:183 _task = (class ACE_Based::Runnable *) 0x7f7105fc4c80 #19 0x00007f711ca9e3ba in start_thread () from /lib/libpthread.so.0 No symbol table info available. #20 0x00007f711c060fcd in clone () from /lib/libc.so.6 No symbol table info available. #21 0x0000000000000000 in ?? () No symbol table info available.
src/game/SpellAuras.cpp:7410
yes confirmed we need to make auraremove more safe commenting assert will cause freeze later on
-
Hello NetSky
Why you don't use git branch to push your patch ?
i use git but its not public ^^
-
As of yesterday I patched NetSky's Vehicles patch in with 8746, it's been up and running with no errors on UDB's 384 DB's for a little bit over 24 hours. it also has Dual_Specialization patch, and ahbot as well as the new pet branch and over 75 people has logged in with no problems or crashes....Great Job NetSky and Every one else whos helped make this.
this is not yet finished there are lot of outstanding improvements which need to be done till you can call this 'finished' ^^
i will start working with generic dbcs and correcting standstates @ vehicle enter/leave today - sry but i was busy updating acelibs
-
if you use my latest version of this patch you should not have any crashes / crashes only occure with outdated versions of this patch
-
seems due to new allocator whole mem for data needs to be reallocated instead of just linking already allocated memory
-
I thought you said the GetZoneId() call would be dangerous?
indeed
_player->GetOutdoorPvP()->HandlePlayerLeaveZone(_player, _player->GetZoneId());
this is what you got there: _player->GetZoneId()
this will later try to get players map and then crash because map was already deleted @ player instance leave(far tele)
but in current form it is save
-
should work as intended (not tested yet) :
if(Guild *pGuild = objmgr.GetGuildById(GuildId)) { uint8 purchasedTabs = pGuild->GetPurchasedTabs(); // Bank <-> Bank if (BankToBank) { if(purchasedTabs < BankTabDst || purchasedTabs < BankTab) { _player->SendEquipError( EQUIP_ERR_NONE, NULL, NULL ); return; } pGuild->SwapItems(_player, BankTab, BankTabSlot, BankTabDst, BankTabSlotDst, SplitedAmount); return; } // Player <-> Bank // allow work with inventory only if((!Player::IsInventoryPos(PlayerBag, PlayerSlot) && !(PlayerBag == NULL_BAG && PlayerSlot == NULL_SLOT) ) || purchasedTabs < BankTab) { _player->SendEquipError( EQUIP_ERR_NONE, NULL, NULL ); return; } // BankToChar swap or char to bank remaining if (ToChar) // Bank -> Char cases pGuild->MoveFromBankToChar(_player, BankTab, BankTabSlot, PlayerBag, PlayerSlot, SplitedAmount); else // Char -> Bank cases pGuild->MoveFromCharToBank(_player, PlayerBag, PlayerSlot, BankTab, BankTabSlot, SplitedAmount); }
we have to proof case for player bank bags too
ok i was looking for any exploits possible in itemtransfer elsewhere but seems to be already checked there
[EDIT:] ok tested! exploit not working any more i was not sure about purchasedTabs should it be purchasedTabs - 1 in check or just purchasedTabs?
@ elecyb : pls PM me if you got any other stuff like this to fix it soon as possible
-
hmm anybody experiencing that vellums get enchanted like some enchantable item and not tranformed into roll of enchating
-
you can add #define USE_STANDARD_MALLOC in memorymanagement
-
crashes were just related to removeplayer from outdoorpvp calls when logging out (alt+f4)beeing infight in instance because now map/player is removed earlier for crash prevention
+ if (_player->GetOutdoorPvP())
0
+ _player->GetOutdoorPvP()->HandlePlayerLeaveZone(_player, _player->GetZoneId());
this has to fix it - thx
-
i can provide gdb debugs i will send you links @ github
-
hi first of all nice job implementing this allocator but now i am experiencing allocation errors about 1 per hour if object destructor is called ... this is pretty strange because i was looking for further information at their homepage and it was pointed out that this kind of crashes should have been fixed already
i will try using my standard nix allocator instead just for comparison
Linux crash dumps
in OldBug reports
Posted
hi there
you could fix this with check if mover still present and return if not but you will get other not traceable crashes i already tried this