Jump to content

crashuncle

Members
  • Posts

    132
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by crashuncle

  1. What Skirnir said is correct so far, it will be hard to do something against them. Such things happen often especially open source projects are a welcome meal for such persons. If you want to prevent that then the only way is to go closed source sadly.
  2. 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".
  3. Sure here it is: http://paste2.org/p/426710 (SpellAuras issue) (65/66) (82/83) http://paste2.org/p/426712 (Spell issue) (56/57)
  4. 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
  5. 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)
  6. I think not all SQL servers support "REPLACE" and its slower, but the idea itself is good. There shouldn't be a break between the deletion and the insert at all.
  7. That is a good idea since there are like 10 different anti-cheat patches and all of them have always conflicts which need to be solved first which is very time eating, except someone knows a easy way to fix that when you apply patches. (Without changing the source by hand) Don't give cheaters a chance
  8. 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?
  9. 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 ;-)
  10. That's a really useful patch, one of the best ones I saw here in the last weeks. The code looks also pretty clean (except the hacks) and every line makes sense. I will test it carefully soon in debug mode and report any upcoming bugs. Keep up your good work
  11. 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.
  12. This makes sense, I think it will also improve the performance not only save space and theoretically it also need less RAM?
  13. Oh that is everything I have to do? On Windows I need to change it in the project files cause ScriptDev2 cant find Mangos anymore else.
  14. 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
  15. 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.
  16. 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...
  17. A tower, a horde building and two ships are also possible (Without any modifications)
  18. Can you create a patch of the current branch? It would be nice to see the changes. ( I don't see any difference @ HandleCharDeleteOpcode )
  19. A possibility to "pre-load" the maps at the boot would be nice at least for machines with enough RAM.
  20. 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
  21. Its not that easy you need to change a lot internal and also define the new ranks (Search a bit in the source code) and you need to change the checks to log commands and stuff else your GMLogs are full of spam.
  22. Thank you for the explanation, I see its so far simply not possible.
  23. 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
  24. 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".
  25. Yep I found the same, I don't understand why it crash but I guess its session related. Vladimir what strange stuff could happen, crashes?
×
×
  • 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