Jump to content

crashuncle

Members
  • Posts

    132
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by crashuncle

  1. Can I edit the server dbc and change the price there?

    Yes google a bit to find out more, but as Davemm said its illegal to modify them.

    Still there is legal solution which could be discussed here, you can modify the DBCHandler itself and add/overwrite the values afterwards in the server code. I saw often such hacks here in the forum you may can search a bit and modify them for your use. A perfect solution would be of course a SQL table like "itemcost_overwrite".

  2. crashuncle, please post those compile errors you get with 0.12 branch. There shouldn't be anything difficult to solve them.

    9>SpellAuras.cpp
    9>..\\..\\src\\game\\SpellAuras.cpp(675) : error C2065: 'grid_object_checker': nichtdeklarierter Bezeichner
    9>..\\..\\src\\game\\SpellAuras.cpp(675) : error C2065: 'radius': nichtdeklarierter Bezeichner
    9>..\\..\\src\\game\\SpellAuras.cpp(676) : error C2065: 'world_object_checker': nichtdeklarierter Bezeichner
    9>..\\..\\src\\game\\SpellAuras.cpp(676) : error C2065: 'radius': nichtdeklarierter Bezeichner
    9>..\\..\\src\\game\\SpellAuras.cpp(692) : error C2065: 'grid_object_checker': nichtdeklarierter Bezeichner
    9>..\\..\\src\\game\\SpellAuras.cpp(692) : error C2065: 'radius': nichtdeklarierter Bezeichner
    9>..\\..\\src\\game\\SpellAuras.cpp(693) : error C2065: 'world_object_checker': nichtdeklarierter Bezeichner
    9>..\\..\\src\\game\\SpellAuras.cpp(693) : error C2065: 'radius': nichtdeklarierter Bezeichner

    9>Spell.cpp
    9>..\\..\\src\\game\\Spell.cpp(1173) : error C2065: 'pUnitTarget': nichtdeklarierter Bezeichner
    9>..\\..\\src\\game\\Spell.cpp(1174) : error C2065: 'pUnitTarget': nichtdeklarierter Bezeichner

    nichtdeklarierter Bezeichner = undeclared identifier

  3. I tested the latest patch with the latest 0.12 branch (8496) and got tons of patch conflicts, I solved them so good as I could but two parts still report a error.

    diff a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp    (rejected hunks)
    @@ -6940,8 +6940,8 @@ void Aura::PeriodicDummyTick()
    
                            CellLock<GridReadGuard> cell_lock(cell, p);
    
    -                        cell_lock->Visit(cell_lock, grid_object_checker,  *caster->GetMap());
    -                        cell_lock->Visit(cell_lock, world_object_checker, *caster->GetMap());
    +                        cell_lock->Visit(cell_lock, grid_object_checker,  *caster->GetMap(), *caster, radius);
    +                        cell_lock->Visit(cell_lock, world_object_checker, *caster->GetMap(), *caster, radius);
                        }
    
                        if(targets.empty())
    

    I found the CellLock part but it exist 2x in the 0.12 branch, one for AREA_AURA_FRIEND and one for AREA_AURA_ENEMY. It gives also tons of compile errors when I replace the parts so it looks like:

                        MaNGOS::AnyFriendlyUnitInObjectRangeCheck u_check(caster, owner, m_radius);
                       MaNGOS::UnitListSearcher<MaNGOS::AnyFriendlyUnitInObjectRangeCheck> searcher(targets, u_check);
                       TypeContainerVisitor<MaNGOS::UnitListSearcher<MaNGOS::AnyFriendlyUnitInObjectRangeCheck>, WorldTypeMapContainer > world_unit_searcher(searcher);
                       TypeContainerVisitor<MaNGOS::UnitListSearcher<MaNGOS::AnyFriendlyUnitInObjectRangeCheck>, GridTypeMapContainer >  grid_unit_searcher(searcher);
                       CellLock<GridReadGuard> cell_lock(cell, p);
    [color=Red]                    //Problem - The part in the patch doesnt exist at all, I added it 2x here since it made sense somehow, doesnt compile cause of grid_object_checker / world_object_checker
                       cell_lock->Visit(cell_lock, grid_object_checker,  *caster->GetMap(), *caster, radius);
                       cell_lock->Visit(cell_lock, world_object_checker, *caster->GetMap(), *caster, radius);[/color]

    The 2nd issue is related with that part:

    diff a/src/game/Spell.cpp b/src/game/Spell.cpp    (rejected hunks)
    @@ -1512,8 +1512,8 @@ void Spell::SetTargetMap(uint32 effIndex,uint32 targetMode,UnitList& TagUnitMap)
                        TypeContainerVisitor<MaNGOS::UnitListSearcher<MaNGOS::AnyAoETargetUnitInObjectRangeCheck>, GridTypeMapContainer>  grid_unit_searcher(searcher);
                        CellLock<GridReadGuard> cell_lock(cell, p);
    
    -                    cell_lock->Visit(cell_lock, world_unit_searcher, *m_caster->GetMap());
    -                    cell_lock->Visit(cell_lock, grid_unit_searcher, *m_caster->GetMap());
    +                    cell_lock->Visit(cell_lock, world_unit_searcher, *m_caster->GetMap(), *pUnitTarget, max_range);
    +                    cell_lock->Visit(cell_lock, grid_unit_searcher, *m_caster->GetMap(), *pUnitTarget, max_range);
                    }
                    if (tempUnitMap.empty())
                        break;
    

    It got issues with pUnitTarget, it looks one 0.12 like that:

                    MaNGOS::AnyAoETargetUnitInObjectRangeCheck u_check(m_caster, m_caster, max_range);
                   MaNGOS::UnitListSearcher<MaNGOS::AnyAoETargetUnitInObjectRangeCheck> searcher(tempUnitMap, u_check);
    
                   TypeContainerVisitor<MaNGOS::UnitListSearcher<MaNGOS::AnyAoETargetUnitInObjectRangeCheck>, WorldTypeMapContainer > world_unit_searcher(searcher);
                   TypeContainerVisitor<MaNGOS::UnitListSearcher<MaNGOS::AnyAoETargetUnitInObjectRangeCheck>, GridTypeMapContainer >  grid_unit_searcher(searcher);
    
                   CellLock<GridReadGuard> cell_lock(cell, p);
    [color=Red]                //Problem - Compile error related with pUnitTarget
                   cell_lock->Visit(cell_lock, world_unit_searcher, *m_caster->GetMap(), *pUnitTarget, max_range);
                   cell_lock->Visit(cell_lock, grid_unit_searcher, *m_caster->GetMap(), *pUnitTarget, max_range);[/color]

    I also noticed bigger differences in the Map.cpp, for example:

    diff a/src/game/Map.cpp b/src/game/Map.cpp    (rejected hunks)
    @@ -198,7 +199,8 @@ Map::Map(uint32 id, time_t expiry, uint32 InstanceId, uint8 SpawnMode, Map* _par
      : i_mapEntry (sMapStore.LookupEntry(id)), i_spawnMode(SpawnMode),
      i_id(id), i_InstanceId(InstanceId), m_unloadTimer(0),
      m_activeNonPlayersIter(m_activeNonPlayers.end()),
    -  i_gridExpiry(expiry), m_parentMap(_parent ? _parent : this)
    +  i_gridExpiry(expiry), m_parentMap(_parent ? _parent : this),
    +  m_VisibleDistance(DEFAULT_VISIBILITY_DISTANCE)
    {
        for(unsigned int idx=0; idx < MAX_NUMBER_OF_GRIDS; ++idx)
        {

    I simply used the existing part instead so it looks like:

    Map::Map(uint32 id, time_t expiry, uint32 InstanceId, uint8 SpawnMode)
     : i_mapEntry (sMapStore.LookupEntry(id)), i_spawnMode(SpawnMode),
     i_id(id), i_InstanceId(InstanceId), m_unloadTimer(0),
     m_activeNonPlayersIter(m_activeNonPlayers.end()),
     [color=Lime]//Problem - Here should be i_gridExpiry(expiry), m_parentMap(_parent ? _parent : this)
     i_gridExpiry(expiry),
     m_VisibleDistance(DEFAULT_VISIBILITY_DISTANCE)[/color]

    That part compiled without problems.

    The rest applied fine so far after resolving the patching issues, I look forward to see it on the 0.12 branch running. Thanks in advance for your help :)

    Here is the patch for the 0.12 branch http://filebeam.com/62a97b2cb89f74d1f687f60b0b9eab0d (The two compile errors still needs to be solved)

  4. 1GBIT uplink dedicated server

    8GB RAM

    Windows 2003 Server..

    Maybe more details like ...

    - Is it a 32 or 64bit OS?

    - What kind of HDDs are installed, do you have a HW RAID?

    - What are the CPUs? Can you maybe post all HW details?

    - Is MySQL running on the same machine?

    - Why are you using Windows for a Mangos Testserver?

    - What are your server settings?

  5. Some of the posted PHPMyAdmin leaks work on elder versions, I suggest always to remove it cause its a insecure script if you don't know what you do. I see enough servers where you can even get root access, because they dont run the webserver from the home directory they use the default /var/www/ dir and there are tons of exploits to abuse that.

    Use a SQL Client like HeidiSQL or Navicat they are also easy to use, in the meanwhile you should get used to queries. Also use secure passwords AND usernames, try to work with caps ;-)

  6. The Mangos Community has very big family's, I mean if I just look at the usernames then every 2nd here has a "family" with over 100 members minimum.

    Its nice to see that such big family's still exist and that they help so much with the tests :) I guess everyone who has a PC count as their family member.

    Anyway back to topic...

    Even if some say something different, its important to give the SQL Server so much resources as you can get. So its a good idea to run it on a extra machine and make a crossover LAN with 1Gbit (100Mbit are enough but when it bootup or reload something then it take about 2x more time depending on your HDDs).

    Give SQL a lot of RAM so it can cache enough of the Database, else Queries take longer and that increase also the lags on the Gameserver cause Mangos is as you noticed bad with multithreading so try to keep the mainthread so fluent as possible and 1k "testers"~ will be not a problem at all.

    Also use Scamps Mt patch else it will use the primary CPU core way too much! Also disable LoS if your CPUs get too much used that will increase the perfomance a lot.

  7. Hello Mangos Community,

    I would like to know if it is possible to change the binary name of Mangos under Linux, I know how to do it under Windows but Linux is a different topic again and I currently get only slowly trusted with it and the related developing.

    By default it shows "./mangos-worldd" ... how could I change it for example to "./mangos-worldd-alt"? I changed it first in the Makefile of the Mangosd source folder but then it didn't compiled anymore.

    Thanks in advance,

    Crashuncle

  8. http://www22.verizon.com/Residential/FiOSInternet/Plans/Plans.htm

    The 20/20 if you were wondering. /drool

    As for the code, I have the SQL stuff figured out. The conf will be easy as soon as I find it all.

    Getting back on topic, thx to crashuncle for the help. After looking @ all the code, it seems as if the only place that I would have to change it is common.h, chanigning the following lines:

    enum AccountTypes

    {

    SEC_PLAYER = 0,

    SEC_MODERATOR = 1,

    SEC_GAMEMASTER = 2,

    SEC_ADMINISTRATOR = 3,

    SEC_CONSOLE = 4 // must be always last in list, accounts must have less security level always also

    };

    to....

    enum AccountTypes

    {

    SEC_PLAYER = 0,

    SEC_MODERATOR = 1,

    SEC_GAMEMASTER = 2,

    SEC_ADMINISTRATOR = 3,

    SEC_SERVERADMIN = 4

    SEC_CONSOLE = 5 // must be always last in list, accounts must have less security level always also

    };

    And edit chat.cpp so that all the commands that currently say SEC_CONSOLE to say SEC_SERVERADMIN

    If I'm wrong, or if I'm I'm missing something, feel free to chime in. (not that I'm not going to make a backup or anything).

    Yes that's it generally.

    You can just do some optional stuff like adding it in the .account command (Level0.cpp -> HandleAccountCommand) so it shows everything correctly or change some logfile related stuff to a higher level so not every step of "Low Rank members" get logged or vice versa. Generally CTRL+F will be your friend.

    For now changing the rest in the Chat.cpp and also changing the Plevels in the commands table (2-3 UPDATE queries) will be enough.

    Disabling commands for a specific level can be also in the Chat.cpp -> ParseCommands, but you need to know what you do there.

  9. Well just add the other "command levels" in the source code, just search a bit its not that hard. The Server just need to know what you want from it, it cant read your mind :)

    Chat.cpp / Chat.h are interesting files for you, you can create your new user levels like "SEC_SERVERADMIN".

    Dont speak too loud about the "Fiber Connection" part here...

  10. Dear Mangos Community,

    I heard that it would be possible to make Mangos compatible with VersaNT (The Object database).

    ODBMS / OODBMS is used by a lot of companies and I heard it is a very stable and fast system compared to MySQL / MSSQL /PostregSQL, at least on their Website they say its very compatible with C++ and that it is 10x faster compared to other database basics.

    The only disadvantage is that a license cost / CPU about 6000$ but I personally still have one (Maybe could get one for development here) so im curios if that is generally even possible to connect Mangos somehow with it and if it would run stable ... or does it even make sense?

    With best regards,

    Crashuncle

  11. In active session list session with some id can be listed single time. Is same session logined second time it replace old session in list. Code guard this and disconnect old session. Without this checks old session deleted anyway and crash _always_. Before in old code old session not deleted but exist unrefereneced in memory and memory lost or server crash in some cases.

    In any cases old and new code not expect possibility 2 sessions with same session id in same time at server. But old code just not have full checks avoid this.

    Thank you for the explanation, I see its so far simply not possible.

  12. Dear Mangos Community,

    I noticed a problem that ACID (Yes I know its SD2 related, but their forum is quite inactive and this issue could be also core related) doesn't work suddenly in instances anymore. I use a quite old GIT revision from November and SD2 73X (Also from that time).

    A NPC cast the spells fine outside a instance but inside nothing works for no reason.

    Is there already a fix for that in GIT / SVN (SD2)? Can it be something else?

    With best regards,

    Crashuncle

  13. It works perfectly.

    But seriously, you really need to know what you do and it will take a lot of time. Also you will need a lot of patience and need to try a lot before you have a finally good working converter.

    So yes, it is possible but it need a lot of work and time. If you don't have a good database or any developers then don't do it if you like your ... "testers".

×
×
  • 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