Jump to content

FragFrog

Members
  • Posts

    159
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by FragFrog

  1. Because you risk having a crash 2 lines into your new logfile with no lines in it at all yet - making the entire endeavour rather an exercise in futility. Of course, using enough lines the chance of that happening diminish and purely resource-wise it is probably one of the best solutions.

    I do not honestly know how well certain filesystems handle trimming from the beginning of a file - partially the reason why I have not written something like this myself. Ideally the last lines would only be kept in memory, but this of course does not really work if the server itself crashes and takes that memory with it. Memcached (link) could be used to store it, but that would require people to run an additional program, which is undesirable from a usability point of view.

    Just a thought here: what are the opinions on storing a fixed number of rows in a MySQL memory table? These are volatile tables that clear when restarting MySQL, but that should not be a problem - a crash in mangosd almost never means a crash in MySQL in my experience. Then logging could rotate on an incremental unique ID that resets after a predetermined number of entries has been added, like this (PSEUDO-CODE):

    private static int i = 0;
    
    void addEntry (String logline) {
     query("REPLACE INTO `crashlog` (`id`, `time`, `entry`)
            VALUES(%u, NOW(), %s)", i, logline);
     i = i > 100 ? 0 : i++;
    }
    

    This way you would always get the last 100 lines, only those lines, no additional disk-IO is required and the only overhead would be an additional query call - which should be relatively light for a Memory table. Thoughts?

  2. If you need a tool that copy the last ammount of given lines to a extra file you can do so by coding it into the mangos core, or code a simple application.

    It is a posibility, but then you would still get enormous logfiles till they are truncated. My major concern is I cannot let loglevel stay at 3 when I am not expecting crashes since if the server stays up a day or two (which is often the case) we'd be looking at ~15Gb of logfile. I am not sure the filesystem would even be able to handle it, nor whether there is enough space on the server.

    Another approach would be to place this code into the core with hardcoded loglevel 3. So the user can choose a normal log file with log debug 0-3, and (if enabled) he would get the detailes log also. In this case, the extra generation of another log file have to be triggered in core. Need extra time.

    Aye, this would be the optimal solution but as you said, is probably harder to make. Hence why I would be more than happy with a function to simply limit log filesize - so after a fixed number of lines has been written, each new line write also removes the first line from the log.

  3. In my experience, most crashes are undetectable in the logs unless you have loglevel = 3 active. Unfortunately, if you do not know what causes a crash you can't reproduce, this means it can take a while before the crash happens again.

    On our server this means even after a few hours with loglevel = 3 we get several hundred megabytes of log, and we often have uptimes in excess of one day - which would make them way too big to handle.

    So I was wondering: is it possible to add an optional limit to the log filesize, and only keep the last couple'a hundred lines or so? I understand this would increase load a bit, but to be frank load's not a problem for us and crashes are.

    Not sure if we're the only ones having a problem with huge logfiles, or whether this is easy to achieve, but figured I'd post it here and see what others think :lol:

  4. What bug does the patch fix? A druid in tree-form should generate bonus healing equal to 25% of his spirit.

    For which repository revision was the patch created? 0.12 (backport from 7819)

    Is there a thread in the bug report section or at lighthouse? No, figured I'd fix this one myself.

    Who has been writing this patch? Me, FragFrog

    When a druid shapeshifts into tree of life form, effect 5420 is cast, triggering 34123 in turn with an additional modify for spirit/4 bonus healing. However, Aura::HandleShapeShiftBoosts also already casts that spell, resulting in the boost never actually aplying. This simply removes the redundant cast from Aura::HandleShapeShiftBoosts.

    0.12 branch only - in 0.13 and beyond this spell is changed to a static spell granting 6% bonus healing instead, which makes the bug not occur there. However, I believe the redundant cast is present there as well (see patch 7164), so while not bugged, for later branches too it is neater to either remove the cast here, or in Spell::EffectDummy.

    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -5227,8 +5227,7 @@ void Aura::HandleShapeshiftBoosts(bool apply)
                break;
            case FORM_TREE:
                spellId1 = 5420;
    -            spellId2 = 34123;
    -            break;
    +		 	 break;
            case FORM_TRAVEL:
                spellId1 = 5419;
                break;
    

  5. Aye, but I expect DB data to be outdated - or at least not as up-to-date as the ingame command will show. Ideally I want to be able to complete a quest for a currently logged in player with GaME through the RA console - this would be a lot easier for our GM's than teleporting to them, looking up the quest ID and then performing the command manually.

  6. And a new one for me:

    Revision: * * 8569 dc6df3f5caa9022b9502281829b80a13ddbd1780
    Date 1:12:2009. Time 15:5 
    //=====================================================
    *** Hardware ***
    Processor: Intel(R) Core(TM)2 CPU         E8400  @ 3.00GHz
    Number Of Processors: 2
    Physical Memory: 4181744 KB (Available: 2053120 KB)
    Commit Charge Limit: 4194303 KB
    
    *** Operation System ***
    Microsoft Windows Server 2003 Standard Edition Service Pack 2 (Version 5.2, Build 3790)
    
    //=====================================================
    Exception code: C0000005 ACCESS_VIOLATION
    Fault address:  00409D91 01:00008D91 C:\\MaNGOS\\mangosd.exe
    
    Registers:
    EAX:00000025
    EBX:0BBCC888
    ECX:00000000
    EDX:000027B0
    ESI:00000000
    EDI:007FFDB0
    CS:EIP:001B:00409D91
    SS:ESP:0023:0EB988F4  EBP:0EB9A910
    DS:0023  ES:0023  FS:003B  GS:0000
    Flags:00010206
    
    Call stack:
    Address   Frame     Function      SourceFile
    00409D91  00000000  ?getNGrid@Map@@ABEPAV?$NGrid@$0BA@VPlayer@@U?$TypeList@VPlayer@@U?$TypeList@VCreature@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@U?$TypeList@VGameObject@@U?$TypeList@VCreature@@U?$TypeList@VDynamicObject@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@@@V?$SingleThreaded@VPlayer@@@MaNGOS@@@@II@Z+D1
    00494EFD  00000000  ?PlayerRelocation@Map@@QAEXPAVPlayer@@MMMM@Z+1FD
    004C4C78  00000000  ?SetPosition@Player@@QAE_NMMMM_N@Z+1A8
    007722D0  00000000  ?HandleMoveTeleportAck@WorldSession@@QAEXAAVWorldPacket@@@Z+160
    005B090F  00000000  ?Update@WorldSession@@QAE_NI@Z+18F
    005CF70E  00000000  ??0CreatureEventAI@@QAE@ABV0@@Z+9E5E
    005CBA05  00000000  ??0CreatureEventAI@@QAE@ABV0@@Z+6155
    0042ECBE  00000000  ?getSource@?$Reference@V?$GridRefManager@VCorpse@@@@VCorpse@@@@QBEPAVCorpse@@XZ+178CE
    007FFDC9  00000000  ?GetFloatDefault@Config@@QAEMPBDM@Z+DC9
    00A01B84  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
    78543433  00000000  _endthreadex+44
    785434C7  00000000  _endthreadex+D8
    77E6482F  00000000  GetModuleHandleA+DF
    

  7. And another - see this one cropping up about every other day, again, is there really even any point in posting here? :P

    Revision: * * 8569 dc6df3f5caa9022b9502281829b80a13ddbd1780
    Date 29:11:2009. Time 18:31 
    //=====================================================
    *** Hardware ***
    Processor: Intel(R) Core(TM)2 CPU         E8400  @ 3.00GHz
    Number Of Processors: 2
    Physical Memory: 4181744 KB (Available: 2041584 KB)
    Commit Charge Limit: 4194303 KB
    
    *** Operation System ***
    Microsoft Windows Server 2003 Standard Edition Service Pack 2 (Version 5.2, Build 3790)
    
    //=====================================================
    Exception code: C00000FD STACK_OVERFLOW
    Fault address:  0042EE37 01:0002DE37 C:\\MaNGOS\\mangosd.exe
    
    Registers:
    EAX:0EAA2000
    EBX:0BC46BE0
    ECX:0EA9A8F4
    EDX:000000E6
    ESI:00000000
    EDI:007FFDB0
    CS:EIP:001B:0042EE37
    SS:ESP:0023:0EABAFBC  EBP:0EABAFC4
    DS:0023  ES:0023  FS:003B  GS:0000
    Flags:00010206
    
    Call stack:
    Address   Frame     Function      SourceFile
    0042EE37  00000000  ?getSource@?$Reference@V?$GridRefManager@VCorpse@@@@VCorpse@@@@QBEPAVCorpse@@XZ+17A47
    0068FF5E  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+2706E
    004565F5  00000000  ?CastSpell@Unit@@QAEXPAV1@PBUSpellEntry@@_NPAVItem@@PAVAura@@_K@Z+1B5
    00456438  00000000  ?CastSpell@Unit@@QAEXPAV1@I_NPAVItem@@PAVAura@@_K@Z+118
    00463C17  00000000  ?HandleDummyAuraProc@Unit@@AAE_NPAV1@IPAVAura@@PBUSpellEntry@@II@Z+1117
    00474201  00000000  ?ProcDamageAndSpellFor@Unit@@AAEX_NPAV1@IABV?$set@W4AuraType@@U?$less@W4AuraType@@@std@@V?$allocator@W4AuraType@@@3@@std@@W4WeaponAttackType@@PBUSpellEntry@@IW4SpellSchoolMask@@@Z+4D1
    004626EB  00000000  ?ProcDamageAndSpell@Unit@@QAEXPAV1@IIIW4SpellSchoolMask@@PBUSpellEntry@@_NW4WeaponAttackType@@@Z+22B
    00457CC3  00000000  ?SpellNonMeleeDamageLog@Unit@@QAEIPAV1@II_N1@Z+313
    007AE7B8  00000000  ?HandleRepairItemOpcode@WorldSession@@QAEXAAVWorldPacket@@@Z+22B8
    0069433E  00000000  ?SendCastResult@Spell@@SAXPAVPlayer@@PBUSpellEntry@@EW4SpellCastResult@@@Z+259E
    0068B725  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+22835
    0068AED6  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+21FE6
    00690B1B  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27C2B
    00690996  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27AA6
    0069005A  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+2716A
    004565F5  00000000  ?CastSpell@Unit@@QAEXPAV1@PBUSpellEntry@@_NPAVItem@@PAVAura@@_K@Z+1B5
    00456438  00000000  ?CastSpell@Unit@@QAEXPAV1@I_NPAVItem@@PAVAura@@_K@Z+118
    0046572F  00000000  ?HandleDummyAuraProc@Unit@@AAE_NPAV1@IPAVAura@@PBUSpellEntry@@II@Z+2C2F
    00474201  00000000  ?ProcDamageAndSpellFor@Unit@@AAEX_NPAV1@IABV?$set@W4AuraType@@U?$less@W4AuraType@@@std@@V?$allocator@W4AuraType@@@3@@std@@W4WeaponAttackType@@PBUSpellEntry@@IW4SpellSchoolMask@@@Z+4D1
    0046267B  00000000  ?ProcDamageAndSpell@Unit@@QAEXPAV1@IIIW4SpellSchoolMask@@PBUSpellEntry@@_NW4WeaponAttackType@@@Z+1BB
    00457CC3  00000000  ?SpellNonMeleeDamageLog@Unit@@QAEIPAV1@II_N1@Z+313
    007AE7B8  00000000  ?HandleRepairItemOpcode@WorldSession@@QAEXAAVWorldPacket@@@Z+22B8
    0069433E  00000000  ?SendCastResult@Spell@@SAXPAVPlayer@@PBUSpellEntry@@EW4SpellCastResult@@@Z+259E
    0068B725  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+22835
    0068AED6  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+21FE6
    00690B1B  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27C2B
    00690996  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27AA6
    0069005A  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+2716A
    004565F5  00000000  ?CastSpell@Unit@@QAEXPAV1@PBUSpellEntry@@_NPAVItem@@PAVAura@@_K@Z+1B5
    00456438  00000000  ?CastSpell@Unit@@QAEXPAV1@I_NPAVItem@@PAVAura@@_K@Z+118
    00463C17  00000000  ?HandleDummyAuraProc@Unit@@AAE_NPAV1@IPAVAura@@PBUSpellEntry@@II@Z+1117
    00474201  00000000  ?ProcDamageAndSpellFor@Unit@@AAEX_NPAV1@IABV?$set@W4AuraType@@U?$less@W4AuraType@@@std@@V?$allocator@W4AuraType@@@3@@std@@W4WeaponAttackType@@PBUSpellEntry@@IW4SpellSchoolMask@@@Z+4D1
    004626EB  00000000  ?ProcDamageAndSpell@Unit@@QAEXPAV1@IIIW4SpellSchoolMask@@PBUSpellEntry@@_NW4WeaponAttackType@@@Z+22B
    00457CC3  00000000  ?SpellNonMeleeDamageLog@Unit@@QAEIPAV1@II_N1@Z+313
    007AE7B8  00000000  ?HandleRepairItemOpcode@WorldSession@@QAEXAAVWorldPacket@@@Z+22B8
    0069433E  00000000  ?SendCastResult@Spell@@SAXPAVPlayer@@PBUSpellEntry@@EW4SpellCastResult@@@Z+259E
    0068B725  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+22835
    0068AED6  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+21FE6
    00690B1B  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27C2B
    00690996  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27AA6
    0069005A  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+2716A
    004565F5  00000000  ?CastSpell@Unit@@QAEXPAV1@PBUSpellEntry@@_NPAVItem@@PAVAura@@_K@Z+1B5
    00456438  00000000  ?CastSpell@Unit@@QAEXPAV1@I_NPAVItem@@PAVAura@@_K@Z+118
    00463C17  00000000  ?HandleDummyAuraProc@Unit@@AAE_NPAV1@IPAVAura@@PBUSpellEntry@@II@Z+1117
    00474201  00000000  ?ProcDamageAndSpellFor@Unit@@AAEX_NPAV1@IABV?$set@W4AuraType@@U?$less@W4AuraType@@@std@@V?$allocator@W4AuraType@@@3@@std@@W4WeaponAttackType@@PBUSpellEntry@@IW4SpellSchoolMask@@@Z+4D1
    004626EB  00000000  ?ProcDamageAndSpell@Unit@@QAEXPAV1@IIIW4SpellSchoolMask@@PBUSpellEntry@@_NW4WeaponAttackType@@@Z+22B
    00457CC3  00000000  ?SpellNonMeleeDamageLog@Unit@@QAEIPAV1@II_N1@Z+313
    007AE7B8  00000000  ?HandleRepairItemOpcode@WorldSession@@QAEXAAVWorldPacket@@@Z+22B8
    0069433E  00000000  ?SendCastResult@Spell@@SAXPAVPlayer@@PBUSpellEntry@@EW4SpellCastResult@@@Z+259E
    0068B725  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+22835
    0068AED6  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+21FE6
    00690B1B  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27C2B
    00690996  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27AA6
    0069005A  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+2716A
    004565F5  00000000  ?CastSpell@Unit@@QAEXPAV1@PBUSpellEntry@@_NPAVItem@@PAVAura@@_K@Z+1B5
    00456438  00000000  ?CastSpell@Unit@@QAEXPAV1@I_NPAVItem@@PAVAura@@_K@Z+118
    0046572F  00000000  ?HandleDummyAuraProc@Unit@@AAE_NPAV1@IPAVAura@@PBUSpellEntry@@II@Z+2C2F
    00474201  00000000  ?ProcDamageAndSpellFor@Unit@@AAEX_NPAV1@IABV?$set@W4AuraType@@U?$less@W4AuraType@@@std@@V?$allocator@W4AuraType@@@3@@std@@W4WeaponAttackType@@PBUSpellEntry@@IW4SpellSchoolMask@@@Z+4D1
    0046267B  00000000  ?ProcDamageAndSpell@Unit@@QAEXPAV1@IIIW4SpellSchoolMask@@PBUSpellEntry@@_NW4WeaponAttackType@@@Z+1BB
    00616F08  00000000  ?PeriodicTick@Aura@@IAEXXZ+9E8
    006072F9  00000000  ?Update@Aura@@MAEXI@Z+419
    0045D2E2  00000000  ?_UpdateSpells@Unit@@IAEXI@Z+152
    00453907  00000000  ?Update@Unit@@UAEXI@Z+37
    00625891  00000000  ?Update@Creature@@UAEXI@Z+5E1
    00623DD2  00000000  ??0?$GridReference@VGameObject@@@@QAE@XZ+3442
    004ADFFF  00000000  ?next@?$GridReference@V?$NGrid@$0BA@VPlayer@@U?$TypeList@VPlayer@@U?$TypeList@VCreature@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@U?$TypeList@VGameObject@@U?$TypeList@VCreature@@U?$TypeList@VDynamicObject@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@@@V?$SingleThreaded@VPlayer@@@MaNGOS@@@@@@QAEPAV1@XZ+1037F
    004ADF82  00000000  ?next@?$GridReference@V?$NGrid@$0BA@VPlayer@@U?$TypeList@VPlayer@@U?$TypeList@VCreature@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@U?$TypeList@VGameObject@@U?$TypeList@VCreature@@U?$TypeList@VDynamicObject@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@@@V?$SingleThreaded@VPlayer@@@MaNGOS@@@@@@QAEPAV1@XZ+10302
    004AD710  00000000  ?next@?$GridReference@V?$NGrid@$0BA@VPlayer@@U?$TypeList@VPlayer@@U?$TypeList@VCreature@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@U?$TypeList@VGameObject@@U?$TypeList@VCreature@@U?$TypeList@VDynamicObject@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@@@V?$SingleThreaded@VPlayer@@@MaNGOS@@@@@@QAEPAV1@XZ+FA90
    004AD223  00000000  ?next@?$GridReference@V?$NGrid@$0BA@VPlayer@@U?$TypeList@VPlayer@@U?$TypeList@VCreature@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@U?$TypeList@VGameObject@@U?$TypeList@VCreature@@U?$TypeList@VDynamicObject@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@@@V?$SingleThreaded@VPlayer@@@MaNGOS@@@@@@QAEPAV1@XZ+F5A3
    004ACCB0  00000000  ?next@?$GridReference@V?$NGrid@$0BA@VPlayer@@U?$TypeList@VPlayer@@U?$TypeList@VCreature@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@U?$TypeList@VGameObject@@U?$TypeList@VCreature@@U?$TypeList@VDynamicObject@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@@@V?$SingleThreaded@VPlayer@@@MaNGOS@@@@@@QAEPAV1@XZ+F030
    004A938F  00000000  ?next@?$GridReference@V?$NGrid@$0BA@VPlayer@@U?$TypeList@VPlayer@@U?$TypeList@VCreature@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@U?$TypeList@VGameObject@@U?$TypeList@VCreature@@U?$TypeList@VDynamicObject@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@@@V?$SingleThreaded@VPlayer@@@MaNGOS@@@@@@QAEPAV1@XZ+B70F
    004A3C56  00000000  ?next@?$GridReference@V?$NGrid@$0BA@VPlayer@@U?$TypeList@VPlayer@@U?$TypeList@VCreature@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@U?$TypeList@VGameObject@@U?$TypeList@VCreature@@U?$TypeList@VDynamicObject@@U?$TypeList@VCorpse@@VTypeNull@@@@@@@@@@V?$SingleThreaded@VPlayer@@@MaNGOS@@@@@@QAEPAV1@XZ+5FD6
    0049450D  00000000  ?Update@Map@@UAEXABI@Z+35D
    00499FA3  00000000  ?Update@InstanceMap@@UAEXABI@Z+13
    0079706E  00000000  ?Finalize@?$RandomMovementGenerator@VCreature@@@@QAEXAAVCreature@@@Z+1043E
    005E5B38  00000000  ??0CreatureEventAI@@QAE@ABV0@@Z+20288
    005CBE1B  00000000  ??0CreatureEventAI@@QAE@ABV0@@Z+656B
    0042ECBE  00000000  ?getSource@?$Reference@V?$GridRefManager@VCorpse@@@@VCorpse@@@@QBEPAVCorpse@@XZ+178CE
    007FFDC9  00000000  ?GetFloatDefault@Config@@QAEMPBDM@Z+DC9
    00A01B84  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
    78543433  00000000  _endthreadex+44
    785434C7  00000000  _endthreadex+D8
    77E6482F  00000000  GetModuleHandleA+DF
    

  8. It depends on the country you are in, but in most countries it is absolutely perfectly legal to log any (chat) messages send through your service. Just as you can for instance log what employees are doing on the internet during office hours. In some cases this requires you to inform your users their messages might be read, but I doubt it is the case with Mangos.

    That being said, while usefull to find hackers for example, I am unsure how it can be done with an unmodified core. Should not be too hard though, it's just text.

  9. Mangos: 8719 - 0.12 backport

    SD2: 1476 - 0.12 backport.

    Seen a couple of these now - near as I can tell something to do with a Paladin aura. Again. Really, you'd think after ~1500 revisions someone would figure out a way to let aura's not crash the server...

    Revision: * * 8569 dc6df3f5caa9022b9502281829b80a13ddbd1780
    Date 28:11:2009. Time 17:1 
    //=====================================================
    *** Hardware ***
    Processor: Intel(R) Core(TM)2 CPU         E8400  @ 3.00GHz
    Number Of Processors: 2
    Physical Memory: 4181744 KB (Available: 1891572 KB)
    Commit Charge Limit: 4194303 KB
    
    *** Operation System ***
    Microsoft Windows Server 2003 Standard Edition Service Pack 2 (Version 5.2, Build 3790)
    
    //=====================================================
    Exception code: C00000FD STACK_OVERFLOW
    Fault address:  0042EE37 01:0002DE37 C:\\MaNGOS\\mangosd.exe
    
    Registers:
    EAX:0EAA2000
    EBX:0BC5ECA8
    ECX:0EAA2CD8
    EDX:33A8C218
    ESI:00000000
    EDI:007FFDB0
    CS:EIP:001B:0042EE37
    SS:ESP:0023:0EAA3CE8  EBP:0EAA3CF0
    DS:0023  ES:0023  FS:003B  GS:0000
    Flags:00010206
    
    Call stack:
    Address   Frame     Function      SourceFile
    0042EE37  00000000  ?getSource@?$Reference@V?$GridRefManager@VCorpse@@@@VCorpse@@@@QBEPAVCorpse@@XZ+17A47
    00464641  00000000  ?HandleDummyAuraProc@Unit@@AAE_NPAV1@IPAVAura@@PBUSpellEntry@@II@Z+1B41
    00474201  00000000  ?ProcDamageAndSpellFor@Unit@@AAEX_NPAV1@IABV?$set@W4AuraType@@U?$less@W4AuraType@@@std@@V?$allocator@W4AuraType@@@3@@std@@W4WeaponAttackType@@PBUSpellEntry@@IW4SpellSchoolMask@@@Z+4D1
    0046267B  00000000  ?ProcDamageAndSpell@Unit@@QAEXPAV1@IIIW4SpellSchoolMask@@PBUSpellEntry@@_NW4WeaponAttackType@@@Z+1BB
    00462894  00000000  ?CastMeleeProcDamageAndSpell@Unit@@QAEXPAV1@IW4SpellSchoolMask@@W4WeaponAttackType@@W4MeleeHitOutcome@@PBUSpellEntry@@_N@Z+194
    00457852  00000000  ?DealFlatDamage@Unit@@QAEXPAV1@PBUSpellEntry@@PAIPAUCleanDamage@@PA_N_N@Z+CC2
    00457A93  00000000  ?SpellNonMeleeDamageLog@Unit@@QAEIPAV1@II_N1@Z+E3
    007AE7B8  00000000  ?HandleRepairItemOpcode@WorldSession@@QAEXAAVWorldPacket@@@Z+22B8
    0069433E  00000000  ?SendCastResult@Spell@@SAXPAVPlayer@@PBUSpellEntry@@EW4SpellCastResult@@@Z+259E
    0068B725  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+22835
    0068AED6  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+21FE6
    00690B1B  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27C2B
    00690996  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27AA6
    0069005A  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+2716A
    0045682D  00000000  ?CastCustomSpell@Unit@@QAEXPAV1@PBUSpellEntry@@PBH22_NPAVItem@@PAVAura@@_K@Z+16D
    004566B2  00000000  ?CastCustomSpell@Unit@@QAEXPAV1@IPBH11_NPAVItem@@PAVAura@@_K@Z+82
    004647C1  00000000  ?HandleDummyAuraProc@Unit@@AAE_NPAV1@IPAVAura@@PBUSpellEntry@@II@Z+1CC1
    00474201  00000000  ?ProcDamageAndSpellFor@Unit@@AAEX_NPAV1@IABV?$set@W4AuraType@@U?$less@W4AuraType@@@std@@V?$allocator@W4AuraType@@@3@@std@@W4WeaponAttackType@@PBUSpellEntry@@IW4SpellSchoolMask@@@Z+4D1
    0046267B  00000000  ?ProcDamageAndSpell@Unit@@QAEXPAV1@IIIW4SpellSchoolMask@@PBUSpellEntry@@_NW4WeaponAttackType@@@Z+1BB
    00462894  00000000  ?CastMeleeProcDamageAndSpell@Unit@@QAEXPAV1@IW4SpellSchoolMask@@W4WeaponAttackType@@W4MeleeHitOutcome@@PBUSpellEntry@@_N@Z+194
    00457852  00000000  ?DealFlatDamage@Unit@@QAEXPAV1@PBUSpellEntry@@PAIPAUCleanDamage@@PA_N_N@Z+CC2
    00457A93  00000000  ?SpellNonMeleeDamageLog@Unit@@QAEIPAV1@II_N1@Z+E3
    007AE7B8  00000000  ?HandleRepairItemOpcode@WorldSession@@QAEXAAVWorldPacket@@@Z+22B8
    0069433E  00000000  ?SendCastResult@Spell@@SAXPAVPlayer@@PBUSpellEntry@@EW4SpellCastResult@@@Z+259E
    0068B725  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+22835
    0068AED6  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+21FE6
    00690B1B  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27C2B
    00690996  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27AA6
    0069005A  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+2716A
    0045682D  00000000  ?CastCustomSpell@Unit@@QAEXPAV1@PBUSpellEntry@@PBH22_NPAVItem@@PAVAura@@_K@Z+16D
    004566B2  00000000  ?CastCustomSpell@Unit@@QAEXPAV1@IPBH11_NPAVItem@@PAVAura@@_K@Z+82
    004647C1  00000000  ?HandleDummyAuraProc@Unit@@AAE_NPAV1@IPAVAura@@PBUSpellEntry@@II@Z+1CC1
    00474201  00000000  ?ProcDamageAndSpellFor@Unit@@AAEX_NPAV1@IABV?$set@W4AuraType@@U?$less@W4AuraType@@@std@@V?$allocator@W4AuraType@@@3@@std@@W4WeaponAttackType@@PBUSpellEntry@@IW4SpellSchoolMask@@@Z+4D1
    0046267B  00000000  ?ProcDamageAndSpell@Unit@@QAEXPAV1@IIIW4SpellSchoolMask@@PBUSpellEntry@@_NW4WeaponAttackType@@@Z+1BB
    00462894  00000000  ?CastMeleeProcDamageAndSpell@Unit@@QAEXPAV1@IW4SpellSchoolMask@@W4WeaponAttackType@@W4MeleeHitOutcome@@PBUSpellEntry@@_N@Z+194
    00457852  00000000  ?DealFlatDamage@Unit@@QAEXPAV1@PBUSpellEntry@@PAIPAUCleanDamage@@PA_N_N@Z+CC2
    00457A93  00000000  ?SpellNonMeleeDamageLog@Unit@@QAEIPAV1@II_N1@Z+E3
    007AE7B8  00000000  ?HandleRepairItemOpcode@WorldSession@@QAEXAAVWorldPacket@@@Z+22B8
    0069433E  00000000  ?SendCastResult@Spell@@SAXPAVPlayer@@PBUSpellEntry@@EW4SpellCastResult@@@Z+259E
    0068B725  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+22835
    0068AED6  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+21FE6
    00690B1B  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27C2B
    00690996  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27AA6
    0069005A  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+2716A
    0045682D  00000000  ?CastCustomSpell@Unit@@QAEXPAV1@PBUSpellEntry@@PBH22_NPAVItem@@PAVAura@@_K@Z+16D
    004566B2  00000000  ?CastCustomSpell@Unit@@QAEXPAV1@IPBH11_NPAVItem@@PAVAura@@_K@Z+82
    004647C1  00000000  ?HandleDummyAuraProc@Unit@@AAE_NPAV1@IPAVAura@@PBUSpellEntry@@II@Z+1CC1
    00474201  00000000  ?ProcDamageAndSpellFor@Unit@@AAEX_NPAV1@IABV?$set@W4AuraType@@U?$less@W4AuraType@@@std@@V?$allocator@W4AuraType@@@3@@std@@W4WeaponAttackType@@PBUSpellEntry@@IW4SpellSchoolMask@@@Z+4D1
    0046267B  00000000  ?ProcDamageAndSpell@Unit@@QAEXPAV1@IIIW4SpellSchoolMask@@PBUSpellEntry@@_NW4WeaponAttackType@@@Z+1BB
    00462894  00000000  ?CastMeleeProcDamageAndSpell@Unit@@QAEXPAV1@IW4SpellSchoolMask@@W4WeaponAttackType@@W4MeleeHitOutcome@@PBUSpellEntry@@_N@Z+194
    00457852  00000000  ?DealFlatDamage@Unit@@QAEXPAV1@PBUSpellEntry@@PAIPAUCleanDamage@@PA_N_N@Z+CC2
    00457A93  00000000  ?SpellNonMeleeDamageLog@Unit@@QAEIPAV1@II_N1@Z+E3
    007AE7B8  00000000  ?HandleRepairItemOpcode@WorldSession@@QAEXAAVWorldPacket@@@Z+22B8
    0069433E  00000000  ?SendCastResult@Spell@@SAXPAVPlayer@@PBUSpellEntry@@EW4SpellCastResult@@@Z+259E
    0068B725  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+22835
    0068AED6  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+21FE6
    00690B1B  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27C2B
    00690996  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27AA6
    0069005A  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+2716A
    0045682D  00000000  ?CastCustomSpell@Unit@@QAEXPAV1@PBUSpellEntry@@PBH22_NPAVItem@@PAVAura@@_K@Z+16D
    004566B2  00000000  ?CastCustomSpell@Unit@@QAEXPAV1@IPBH11_NPAVItem@@PAVAura@@_K@Z+82
    004647C1  00000000  ?HandleDummyAuraProc@Unit@@AAE_NPAV1@IPAVAura@@PBUSpellEntry@@II@Z+1CC1
    00474201  00000000  ?ProcDamageAndSpellFor@Unit@@AAEX_NPAV1@IABV?$set@W4AuraType@@U?$less@W4AuraType@@@std@@V?$allocator@W4AuraType@@@3@@std@@W4WeaponAttackType@@PBUSpellEntry@@IW4SpellSchoolMask@@@Z+4D1
    0046267B  00000000  ?ProcDamageAndSpell@Unit@@QAEXPAV1@IIIW4SpellSchoolMask@@PBUSpellEntry@@_NW4WeaponAttackType@@@Z+1BB
    00462894  00000000  ?CastMeleeProcDamageAndSpell@Unit@@QAEXPAV1@IW4SpellSchoolMask@@W4WeaponAttackType@@W4MeleeHitOutcome@@PBUSpellEntry@@_N@Z+194
    00457852  00000000  ?DealFlatDamage@Unit@@QAEXPAV1@PBUSpellEntry@@PAIPAUCleanDamage@@PA_N_N@Z+CC2
    00457A93  00000000  ?SpellNonMeleeDamageLog@Unit@@QAEIPAV1@II_N1@Z+E3
    007AE7B8  00000000  ?HandleRepairItemOpcode@WorldSession@@QAEXAAVWorldPacket@@@Z+22B8
    0069433E  00000000  ?SendCastResult@Spell@@SAXPAVPlayer@@PBUSpellEntry@@EW4SpellCastResult@@@Z+259E
    0068B725  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+22835
    0068AED6  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+21FE6
    00690B1B  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27C2B
    00690996  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+27AA6
    0069005A  00000000  ?Update@?$ConfusedMovementGenerator@VPlayer@@@@QAE_NAAVPlayer@@ABI@Z+2716A
    0045682D  00000000  ?CastCustomSpell@Unit@@QAEXPAV1@PBUSpellEntry@@PBH22_NPAVItem@@PAVAura@@_K@Z+16D
    004566B2  00000000  ?CastCustomSpell@Unit@@QAEXPAV1@IPBH11_NPAVItem@@PAVAura@@_K@Z+82
    004647C1  00000000  ?HandleDummyAuraProc@Unit@@AAE_NPAV1@IPAVAura@@PBUSpellEntry@@II@Z+1CC1
    00474201  00000000  ?ProcDamageAndSpellFor@Unit@@AAEX_NPAV1@IABV?$set@W4AuraType@@U?$less@W4AuraType@@@std@@V?$allocator@W4AuraType@@@3@@std@@W4WeaponAttackType@@PBUSpellEntry@@IW4SpellSchoolMask@@@Z+4D1
    0046267B  00000000  ?ProcDamageAndSpell@Unit@@QAEXPAV1@IIIW4SpellSchoolMask@@PBUSpellEntry@@_NW4WeaponAttackType@@@Z+1BB
    00462894  00000000  ?CastMeleeProcDamageAndSpell@Unit@@QAEXPAV1@IW4SpellSchoolMask@@W4WeaponAttackType@@W4MeleeHitOutcome@@PBUSpellEntry@@_N@Z+194
    0045A57D  00000000  ?DoAttackDamage@Unit@@QAEXPAV1@PAIPAUCleanDamage@@1W4SpellSchoolMask@@1PAW4VictimState@@11W4WeaponAttackType@@PBUSpellEntry@@_N@Z+154D
    0045AA61  00000000  ?AttackerStateUpdate@Unit@@QAEXPAV1@W4WeaponAttackType@@_N@Z+251
    004B45FB  00000000  ?Update@Player@@UAEXI@Z+52B
    00494289  00000000  ?Update@Map@@UAEXABI@Z+D9
    005E5B38  00000000  ??0CreatureEventAI@@QAE@ABV0@@Z+20288
    005CBE1B  00000000  ??0CreatureEventAI@@QAE@ABV0@@Z+656B
    0042ECBE  00000000  ?getSource@?$Reference@V?$GridRefManager@VCorpse@@@@VCorpse@@@@QBEPAVCorpse@@XZ+178CE
    007FFDC9  00000000  ?GetFloatDefault@Config@@QAEMPBDM@Z+DC9
    00A01B84  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
    78543433  00000000  _endthreadex+44
    785434C7  00000000  _endthreadex+D8
    77E6482F  00000000  GetModuleHandleA+DF
    
    Call stack:
    Address   Frame     Function      SourceFile
    

  10. Through the Remote Admin Console it is possible to get a lot of information on accounts and server status, but so far I have been unable to do character specific quest commands - if it already is possible to do this, I'd be much obliged if someone could explain how.

    What I want to do:

    .quest complete [questId] [characterId] - complete the specified quest for the specified character.

    And if possible:

    .quest list [characterId] - return a list of all active quests for the specified character.

    I noticed some other commands already take a [character] argument like 'repairitems' and 'send', it would help me a lot if someone could help me perform similar commands for quest! :)

    (And yes, for those wondering, I am indeed currently working on a character quest module for GaME :D)

  11. GaME is easily enough updated if you do submit this, but there are a lot of other applications using it in some form or another (like Minimanager, MicroManager I think and some others) - backwards compatability would be nice.

    Personally I dislike the raw remote console alltogether - it only allows a single user to connect and as far as I know everything you can do using RA can also be done with commands ingame. It is one of the reasons I started work on GaME in an attempt to provide a more userfriendly interface to the console commands. As such, I would not waste too much time and effort on this :D

  12. Reason some are large and some are small is because it all depends on many factors - like CPU speed, type, amount of RAM, hard-disk speed, connection, whether the server is dedicated, whether the SQL and game server run on the same machine, etc etc.

    Furthermore a lot also depends on your exact settings: mtmaps, unload vmaps, enable vmaps, compression value, amount of players, etc. You really won't find a conclusive answer because there isn't one. It would be like asking three random people how fast their car can go - and each one has a different car. The answer is completely meaningless (after all, by average every being on the planet has 3.4 legs and owns a sheep).

    If you really want some info: our main server uses anywhere between 600 and 1500Mb of RAM (depending on load and uptime) and holds 250 simultanious users easily (no lag, CPU load at 15%). Our testserver generally uses around the same amount of RAM and can hold about 50 users before it starts to lag, since it's on a slower pipe. That's with the exact same version and settings as our main server of course.

    In general, if your server is dedicated, bandwith will be an issue long before memory, version or CPU speed is.

  13. I know of at least 3 excelent packages for windows that do just that (in fact, with windows Vista and later, a trafic monitoring tool is included in your task manager: go to the performance tab and hit 'Resource Monitor'), none for linux though. Top should give you some information I think?

    From experience I'd say that with 150 ~ 250 users we use about 2Mbps on average - but peak requirement is a bit higher than that, so for your needs it should suffice but if you get more users you might want to invest in a bit more bandwidth. I would advice 1Mbit / 100 users + 1Mbit overhead as general rule of thumb.

  14. To be frank, I do not think this is the time to go worry about micro-optimalisations. There are areas that can give far greater performance increase (like using prepared statements for example, or making the worldserver multithreaded) than using these very small improvements.

    If the core was bugfree, stable and all other means of optimizing had been exhausted, yes, but as it stands I prefer the developers to focus on other issues. Though of course I look forward to seeing patches from you on this matter, I am sure they will be accepted if they help.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use