Popular Content

Showing most liked content since 30/04/2017 in all areas

  1. 4 likes
    How do we do it? The short answer is actually more boring than you think... hours of studying hex code gathered from the client and network traffic with the server. The long answer I'm about to offer would have seen me burned as a heretic for spilling precious secrets, if this were still the old days, but MaNGOS today is about being free in every way. The three pillars of the MaNGOS Open philosophy are Open Source, Open Community, and Open Learning. So we all do our best to make sure the code is free, our door is open to everyone, and knowledge must be shared. A more complete answer must be prefaced with a brief trip to the past. Bear with me, if you please. Game server emulation has been around far longer than WoW itself, beginning in the late 90s with multiplayer games like Quake. Back then, these games often came with an official server you could install from the game disk so players could host their own multiplayer games. People smarter than me got curious and reverse-engineered these servers to create the foundation of knowledge and procedures that are still used to this day. MMOs use a centralized server, accessed over the Internet. One of the earliest examples is Phantasy Star Online, released for the Sega Dreamcast in 1998 and Windows a year later. So how do you create a server for a game when you don't actually have the server itself? The two basic tools used for creating a server emulator from scratch are the debugger and packet sniffer. I'll say more on that a little later. What I do know of the early genesis of WoW private servers is second-hand knowledge gained from the devs who'd been around nearly from the the beginning. It all began when a simple WoW sandbox evolved into a full server called Stormcraft. Early WoW p-servers were primitive by today's standard and closed source. Much of the game's features did not work correctly, if at all, and there was little anyone could do because the various devs kept their program code and knowledge secret. WoWDaemon (usually abbreviated to WoWD) was the beginning of the modern projects you see now, programmed in C++ and using an SQL database. So why the history lesson? Because every WoW server emulator in existence today owes a debt to those who came before. Whether it's MaNGOS or Ascent, or one of their many forks like Trinity, Cmangos, or Arcemu... we've built on over a decade of work by hundreds of developers. MaNGOS was started from a leak of the old WoWD server source. Standing on the shoulders of giants, as it were. The way this was all done involved using those two tools I mentioned earlier. First, a debugger is employed to dig into the heart of the WoW game client, reverse-engineering the client's inner workings to find opcodes and data handlers. Then a packet sniffer was used to save all the packets sent between the client and server during an actual game play session, also called "sniffs". A hex editor was frequently used to analyze file formats and the captured packets, allowing bright fellows to develop specialized tools to more efficiently sift through the client and network traffic for valuable data. Once it was understood how things worked, it then became possible to create compatible program code to make use of the methods and data that makes WoW playable. Since that time, specialized tools have been created to more efficiently get at the precious data needed to improve existing p-servers and keep up with new expansions so they can also be emulated correctly... eventually. It has taken all this time to get this far. I'm certain it will take longer still before anyone can truthfully declare any WoW p-server is 100% complete. That's a broad overview for you. As for the finer details, feel free to ask more questions. Either myself or someone will be happy to provide you the best information we have. I hope I've given you the answer you were seeking. Remember, MaNGOS belongs to you!
  2. 3 likes



    Don't forget to follow this page via the follow button above, you will be notified of new versions Mangos Two Server - - The Battle for Northrend This is a release candidate, it may contain bugs. For: World of Warcraft: Wrath of The Lich King Wiki: https://www.getmangos.eu/wiki/documentation/installation-guides/ Status: Playable Support client versions: 3.3.5a (12340) Mangos_TWO_April_20_2017.zip Builtin Scripts (SD3 & Eluna) Map Extractors Realm, World & Character databases Authentication Realm-Daemon server (realmd) Mangos-Daemon world server (Mangosd) Requirements: C++ Redistributable for Visual Studio 2017 (Included in .zip)
  3. 2 likes
    Grumbo'z VIP System VIP System: ========= ok we only have a couple basic Vip/Premium systems so far that I have found on our site so I figured I would release a complete version of my VIP System. --Built Tested and Approved for TC2 3.3.5a Eluna ONLY-- --Tested and Approved for TC2 4.3.4 Eluna ONLY-- --Rumored to be compatible with Mangos Eluna-- Addon scripts: Allows for VIP 1 to xx. max VIP level set in the core (VIPMAX) currently set to 5. A VIP Coin to give access to extra commands and perks. A VIP Stone that will level-up a player's VIP level. Stone is a one shot use. it will vanish after use. A '#resetTP' command for players to reset there own talent points. The command will add extra points based on VIP level also. A '#hp' command to buff a players health points based on there VIP level. Guild Member rewards. Items can be set to require a minimum VIP rank. A banker to deposit/withdraw MG.(Magic Gold) 2 custom drop scripts for npc's. TP reset command. VIP revive command. extra player levels per VIP rank. PvP gold looting. PvP item looting. VIP repair command. VIP World Chat System. Pick and choose which scripts you wish to use, its dynamic, or write your own scripts. The value is stored in RAM so you can access the stored value .ooooh maybe a new community project?... if you have your own scripts you have wrote to work with this and want to add them here in a post , just remember to be thorough with a very verbose 'how-to' whether it is Lua or C++ .. oh yea and it should work too. >> The Complete System << Enjoy everyone and have fun makin kewl new addonz for your server. Thanks to the following: @Rochet2 and @FoeReaper for the tons of info that got me to this point. This is another Eluna release of mine from EmuDevs I saved.
  4. 1 like
    @dves - I really don't know what MaNGOS code you have analysed, but if you look into the dep submodule you'll notice MaNGOS IS using ACE framework heavily. Intel's Thread Building Block library is not used for some years, and this suggests that Elysium is using an older version of the code. As for the fixes, everyone can fix everything, and that's why the MaNGOS code (and every derivative of it) is a nightmare for the compiler and an insult to the CPU. Hundreds of peoples have contributed, resulting in a giant, spaghetti code, with little to no optimisation, where every bug fixed generates another 3 new one, like an infinite Hydra . @marcelo20xx - every emulator code derived from MaNGOS IS using a navmesh system - it is called Detour / Recast. Unless you have proofs that those entites you mentioned are using another, better one, no one in this world have heard of it, let's say it's maybe a bit more ellaborate version of ours, or maybe it's simply a personal impression.
  5. 1 like
  6. 1 like
    Under normal conditions, db / core updates should not delete or alter charater progression.
  7. 1 like
    Very nice, much appreciated man... It's an awesome collection. Thank you!
  8. 1 like
    Not sure what happened there on covenant, but all is well in my DB. Ran a GM command to see if that corrected it. I suggest reset of the server and try again at this point.. If its still an issue after I will track it down why it works for me and not on covenant and submit a fix.
  9. 1 like
    Hi All, After over a year of work, I am almost ready to release localised language packs for mangos ! Do you use mangos and would prefer using one of the native supported languages ? I am looking for a small number of people from each locale to install and test the language packs Please PM me if you are interested Update: The base github repo is now active: GitHub - MangosExtras/MangosZero_Localised
  10. 1 like
    If you compile the code for the first time, there is no difference between build/rebuild. The real difference is afterwards, if you modify something in the code, Build will only compile the changes (very fast), Rebuild will compile everything (very slow).
  11. 1 like
    1. For the source code, you have to pull the modified files from git and compile them. The procedure: A) open a git shell in the cloned directory (Windows) or simply 'cd' into it (*nix) and issue this commands: - git stash (not mandatory, but this assures you have the original, unmodified older source code) - git pull origin master (this will fetch the latest changes from github) - git submodule update B) open MaNGOS.sln (Windows) or issue make install command (*nix) from the build directory. In case of VS choose the Build (not Rebuild) command, to compile only the changes, not the whole source code In exceptional cases, when the changes are big, after pull, you have to clean the build directory and use EasyBuild/cmake system to regenerate the build files 2. For database, the changes are submitted in the form of "patch" sql's, in the Update/Rel21 subdirectory of each Realm/Character/World dir. You have to import only those changes into MySQL. The patches have the name in the form Rel21_SS_DDD_xxx.sql, where SS = structure number (when database structure is altered), DDD = content number (when records are changed/added). You can see what versions you already have by looking at the db_version table of each of realm/char/world database and apply sequentially all the patch sql's greater than your version, starting with the content number. For example, if you have revision = 21 , structure = 07, content = 11 in db_version and Rel21_07_13_xxx.sql, Rel21_08_01_yyy.sql and Rel21_07_12_zzz.sql, the order you apply the patch will be Rel21_07_12, Rel21_07_13, Rel21_08_01. As for fetching the latest changes into db, see the A section above.
  12. 1 like
    If you add the loot to that chest's loot table, it will drop from all currently spawned chests. You have to add it to the exact chest that drops from that player.
  13. 1 like
    Hey all ! I'm happy to join your community I've play wow since 2005 but stop whith cataclysm to go play on private server 1.12.1 I don't play since one year, but i want to progress in c++ and sql so i think your project is very intresting to do that. Great job you realized !
  14. 1 like
    I think the content is pretty complete and scripted well enough, I've only tested a couple of raids - and not the whole thing, but they seem to be working fine ... Playable to say the least. So nice work with Zero, pls keep it up !
  15. 1 like
    Well, the server core requires data extracted from the game client to run. We are not allowed to distribute these data as this is part of Blizzard's property. For the line, it's rather easy: - Writting code to emulate wow server: yes - Running private server for public use or gain: no - Distributing Blizzard's property stuff: no Tal'
  16. 1 like
    In MangosThree we are still working on fully integration everything. In the meantime, there is a file called Patch_Easybuild.cmd This will allow easybuild to work as normal
  17. 1 like
    Hello and welcome What you're proposing is nice but can't be achieved, sadly We can't provide ready-to-use cores. However, fell free to join and get familiar with the code base already Tal'
  18. 1 like
    Is this still a problem? I have been doing some research on it but had some real life stuff cause trouble.
  19. 1 like
    Awesome. Thanks. I didn't see your post until right now but I appreciate the reply.
  20. 1 like
    Heya. First off, i couldn't quite figure where to post this, move it if it should be. I have started a project for providing a fluent and easy API, for remote communication from website to wow server core, and i'm looking for opinions, suggestions, collaborators and of course, users. without further ado, here is the github link ("https://github.com/sasin91/wow-emulator-communication"). Best regards ^_^, Sasin91 / Lotd / Quazye.
  21. 1 like
    Nice project, i linked this to @antz
  22. 1 like
    Many thanks ... looks very interesting I might try to implement it too ... Btw I solved my issue I'm thinking what if I add this to my destroy items on death function ... and would the 2 of them co-exist just fine, or will the item destroy script trigger first and then make the above script unable to pick up an item... anyhow, here is the topic containing the code used for item destroy if some1 else needs it, Rochet2 wrote it for me :
  23. 1 like
    Hello mangos community ! I am very pleased to be here ! I am working on a private vanilla wow server - trying to create a free economy environment for my players and some kind of death penalty - cause I think wow lacks it really... Anyhow, I am amazed with how well mangoszero is working for me so far, and I wanted to say hi and express my gratitude for a wonderful product ! Cheers ! PS: I need a little help with adding a very simple lua script to my server so that it does something on player death. Please let me know if you are willing to help me
  24. 1 like
    Hey Akar, No, it's a bit more complex than that, if you do what you suggest, player bots will always be compiled 1) You need to add a new global variable to handle end-user choice: https://github.com/mangoszero/server/blob/master/linux/getmangos.sh#L39 P_SOAP="0" P_DEBUG="0" P_STD_MALLOC="1" P_ACE_EXTERNAL="1" P_PGRESQL="0" P_TOOLS="0" P_SD3="1" P_ELUNA="1" P_PBOT="0" 2) You need to propose the choice to the end-user by adding a new option to this method: https://github.com/mangoszero/server/blob/master/linux/getmangos.sh#L730 # Select build options OPTIONS=$($DLGAPP --backtitle "MaNGOS Linux Build Configuration" \ --title "Build Options" \ --checklist "Please select your build options" 0 56 7 \ 1 "Enable Debug" Off \ 2 "Use Standard Malloc" On \ 3 "Use External ACE Libraries" On \ 4 "Use PostgreSQL Instead Of MySQL/MariaDB" Off \ 5 "Build Client Tools" Off \ 6 "Use SD3" On \ 7 "Use Eluna" On \ 8 "Use SOAP" Off \ 9 "Use Player Bot" Off \ 3>&2 2>&1 1>&3) 3) You need to handle this in the if-else sequence: https://github.com/mangoszero/server/blob/master/linux/getmangos.sh#L806 # See if Player Bots will be used if [[ $OPTIONS == *9* ]]; then P_PBOT="1" else P_PBOT="0" fi 4) Finally, you can update the cmake option: https://github.com/mangoszero/server/blob/master/linux/getmangos.sh#L854 cmake .. -DDEBUG=$P_DEBUG -DUSE_STD_MALLOC=$P_STD_MALLOC -DACE_USE_EXTERNAL=$P_ACE_EXTERNAL -DPOSTGRESQL=$P_PGRESQL -DBUILD_TOOLS=$P_TOOLS -DSCRIPT_LIB_ELUNA=$P_ELUNA -DSCRIPT_LIB_SD3=$P_SD3 -DSOAP=$P_SOAP --DPLAYERBOTS=$P_PBOT -DCMAKE_INSTALL_PREFIX="$INSTPATH" Tal'
  25. 1 like
    Your threads are all over the place. You can search the Eluna documentation for functions: http://www.elunaengine.com/?search=getitem One of the functions listed is http://www.elunaengine.com/Player/GetItemByPos.html which you can use on the dying player. From the documentation you can see what bag and slot numbers to use to get the equipment. Just loop through all of them and each time check if the item could be fetched and delete it. Deletion happens with http://www.elunaengine.com/Player/RemoveItem.html This should help you with figuring out how registering/hooking works: https://github.com/ElunaLuaEngine/Eluna/blob/master/docs/USAGE.md#registering-functions-to-events
  26. 1 like
    I do use my local computer primarily because it's easier on Windows. I do have Linux VM's to test build & installation scenario's. I do use to develop on my laptop for the Mangos Manager app to test the multiplatform aspect (running Linux Mint). I guess that a ready-to-use VM could be also usefull for developers without the need of generating all the data... but is it legal ? Tal'
  27. 1 like
    I have found that adding the systemd auto-start leads to failure. It should work, but I was unable to reach success. In the end, I stopped realmd and mangosd, removed them as services, and deleted the configuration files I created. I have not had any trouble starting realmd or mangosd manually. You can even make a script to 'manually' run them.
  28. 1 like
    I just started my discovery of MaNGOS, I have a limited experience in C++ (I did 2 semesters of C++ this year) and I'd love to try and contribute to a cool project like that ! But to be faire I'm a little lost. The codebase for MaNGOS Zero (the one I'm more interested in) is huge ! There is a lot of resources here on the forum but no clear guide on how to start contributing (or I haven't found it yet). So what would you advise me to do if I want to fix some bugs in MaNGOS Zero ? I know I won't be able to do it right away it will take time, but what would be the most efficient way to end up with a good enough understanding of the codebase to try and fix bugs ? Another thing that may be a setback is that I never played in proper Vanilla, so I dont know how it used to be at the time.
  29. 1 like
    With this method your server will always restart and there will be no "Has stopped working" issues. I've been on the lookout for this for a couple of weeks and now that i find out myself i thought, why not share it. Get a restarter, google or make your own in a .bat file. I am using this one: Click here 1. Open regedit.exe (you can type it in the Start Menu or run it through Task Manager) 2. Expand HKEY_LOCAL_MACHINE 3. In it, expand SOFTWARE 4. In it, expand Microsoft 5. In it, expand Windows 6. In it, Click on Windows Error Reporting (you should have reached HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting) 7. Right-click on Windows Error Reporting, go to New and select DWORD (32-bit) Value 8. Give it the name DontShowUI (exactly as written here) 9. Open it (double-click) and in the field “Value data” type in the number 1 You’re now done in the regedit. No more “Has stopped working” dialogs will appear. And i quote Foereaper: "As a side note, this will prevent EVERY error box from showing for any other program as well, as well for debug builds. Use at your own risk", if you decide to turn them back on, just change the value of DontShowUI to the number 0, or just delete DontShowUI Now open up your mangosd.conf file in your server folder and look up MaxCoreStuckTime, the current value is 0. Change it to anything above...10 i would say. Restart your server so the changes takes place and then your're done. Also i am using Windows Server 2008, it should work on Windows 7 or higher too. I am not sure.
  30. 1 like
    MaNGOS welcomes the Eluna Team and says farewell to emudevs Today we share some sad news, emudevs.com has officially closed its doors. The getMaNGOS team wishes to express their sorrow for a fellow community that has closed its doors. They provided support and their experience for many users in the emulation community, most notably they housed the Eluna teams main boards on the emudevs website. We also want to welcome from the Eluna team, Foereaper and Rochet into their new home here on the getMaNGOS site! That's right, it's official! You can now find the same Eluna team here right on the getMaNGOS website doing what they do best, Eluna! The Eluna teams new home can be found here https://www.getmangos.eu/forums/forum/119-eluna-central/ In there you can find a forum area for Eluna and links to the Eluna API documentation. The staff welcomes you to post any questions about Eluna on the Eluna forum area regardless of the core you use it on. The MaNGOS team has always had a strong relationship with supporting the Eluna team in the past and we look forward to a enjoyable future with everything the MaNGOS and Eluna teams do together. You are invited to express any comments or best wishes to the Eluna & emudevs team's on this thread here. Kind Regards, Antz (Project Lead) & MadMax (Community Lead) Community Manager's of https://www.getmangos.eu
  31. 1 like
    Sorry to hear about EMU, but i am glad Eluna has a home Cheers!
  32. 1 like
    Mangos Three Server View File Don't forget to follow this page via the follow button above, you will be notified of new versions Mangos Three Server - 0.21 - The Battle for the Elemental Planes This is a development build, it may contain bugs. For: World of Warcraft: Cataclysm Wiki: https://www.getmangos.eu/wiki/documentation/installation-guides/ Status: Testing, Unstable, Development Support client versions: 4.3.4 (15595) Mangos_THREE_March_13_2017.zip Builtin Scripts (SD3 & Eluna) Map Extractors Realm, World & Character databases Authentication Realm-Daemon server (realmd) Mangos-Daemon world server (Mangosd) Requirements: C++ Redistributable for Visual Studio 2017 (Included in .zip) Submitter madmax Submitted 13/03/2017 Category Mangos Three  
  33. 1 like

    Version 3.2.0 10192


    3.2.0 Patch Notes Patches 3.1.3 to 3.2.0 Once on the mega site just right-click and download the patches you need Extract and run "BNUpdate.exe". Contains: WoW- WoW- WoW- WoW- WoW- WoW- WoW-
  34. 1 like
    Hello there, it has been eight years since mangos was founded, and it was and interesting ride for me and many others. As things are, my private life and my work have slowly taken over any spare time I had available for mangos. Thus effective as of today, I decided to step down from any role I had in the mangos community, and say my farewells. My best wishes for the future, have a good ride. With kind regards, Daniel


The Link to the master list
of MaNGOS repositories:
Copyright © getMaNGOS. All rights Reserved.

This website is in no way associated with or endorsed by Blizzard Entertainment®