Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 03/06/2015 in all areas

  1. 8 points

    Version 0.21.GitHub

    3,086 downloads

    Mangos Zero Server with playerbots For: World of Warcraft ClassicInstall Guides: https://www.getmangos.eu/wiki/documentation/installation-guides/ Status: Playable Support client versions: 1.12.1 (build 5875),1.12.2 (build 6005) and 1.12.3 (build 6141) MangosZero-Serverx86.zip (32 bit) MangosZero-Serverx64.zip (64 bit) Built in Scripts (SD3 & Eluna) Playerbot Allows players to spawn bots to group up and play with them. Settings for this are in aiplayerbot.conf.dist This can be enabled or disabled in the config file Map Extractors Realm, World & Character databases Authentication Realm-Daemon server (realmd) Mangos-Daemon world server (Mangosd) Requirements: C++ Redistributable for Visual Studio 2015 (Included in .zip)
  2. 5 points

    Version 0.21.GitHub

    1,754 downloads

    Mangos One Server - 0.21 For: World of Warcraft: The Burning Crusade Wiki: https://www.getmangos.eu/wiki/documentation/installation-guides/ Status: Playable Support client versions: 2.3.4 (8606) Mangosone-Serverx86.zip (32 Bit) MangosOne-Serverx64.zip (64 Bit) 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 2015 (Included in .zip)
  3. 5 points
    Flawless install. Thank you for the precompiled binaries. Not having a solid internet connection, this keeps me sane.
  4. 4 points
    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!
  5. 3 points
    Hello everyone, I made a website where you can download private server addons for the versions vanilla, tbc and wotlk. I think that the website is pretty self-explanatory, but if you do have any comments, questions or feature requests, please shoot me a PM or write a comment! Link: https://private-addons.com Thank you very much
  6. 3 points

    Version 0.21.GitHub

    2,069 downloads

    Mangos Two Server - 0.21 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) MangosTwo-Serverx86.zip (32 Bit) MangosTwo-Serverx64.zip (64 Bit) 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 2015 (Included in .zip)
  7. 3 points
    function buff(event, player, message, Type, lang) if(message:lower() == "buff")then player:AddAura(48074, player) player:AddAura(35912, player) player:AddAura(38734, player) player:AddAura(65075, player) player:AddAura(65077, player) player:AddAura(43223, player) player:AddAura(15366, player) player:AddAura(36880, player) player:AddAura(36880, player) player:AddAura(16609, player) player:AddAura(48073, player) player:AddAura(48469, player) player:AddAura(26035, player) player:SendBroadcastMessage("You have been Buffed!") end end RegisterPlayerEvent(42, buff) You can use this simple script and add any spells as buffs you want. Can also change here whatever broadcast message you want when player gets buffed, and can even change the default .buff command to something else. Enjoy The original code i have found long time ago somewhere on Emudevs forums which are lost now. Ofc i edited the code slightly and you can too, to fit your needs.
  8. 3 points
    From what I recall from Vanilla, that was something that existed in the game itself as well. I guess it depends what walls are being cast through. Staff on the Kronos server for example customized that so that those things cannot be cast through after a community vote.
  9. 3 points
    Goals for 2017 For 2017 the following are what we would like to achieve: Release Version 21 for Zero, One and Two containing all the recent updates and fixes we have. Release Version 21 for Three and Four - which will involve a massive amount of work to get these cores up to date. Redo the server commands to make them a bit more standard and obvious. Break out AHBot into its own daemon process Develop a mangos update daemon, which allows the ability to apply DB content and minor updates automatically Create Editors for the other xxxdocs systems (we currently only have a dbDoc Editor) Normalise the character DB and remove data blob fields Continue to standardise the code across the cores where its appropriate to do so. Document where it differs and why. Move some hardcoded values from the core into the DB, possibly some enums as well. Implement Stormlib library for Zero, One and Two and remove mlib Apply the Unified Extractor to Three and Four (requires stormlib) Look at removing DBC usage from the Core and change the extraction process to include importing into a DB for use by the core. Including Multiple locale support. This would facilitate the removal of stormlib / mlib from the core and only be needed by the extraction tools. Finish implementing the database localisation and allow localised db content to be loaded and edited. Including a localisation editor to allow localised translations to be created/edited by users. Look at Adapting EAI to match SAI functionality. As well as some of the more obvious ones: Clear down reported bugs on the Project Tracker. Improve the World Database with updates and corrections. Improve the Wiki Documentation. Include some example Eluna scripts to assist those starting out learning to script with Eluna. Include some custom Eluna scripts to help showcase it's abilities. Finally, we would like to get into a twice yearly Release cycle of more major releases. MangosVB (Formerly Spurious) RoadMap for 2017 Add RealmDB from c++ Mangos and modifying MangosVB to be compatible with it. Work out how to get MangosVB to use the standard Mangos map format. Finishing warden functionality (so it can use/read signatures from DB) Merge all of the changes from Zero to One and Two Investigate into voice functionality for One / Two Doing spells.. implementing them like stealth and getting a proper DB script system in place Getting it compiled and running under unix (using mono)
  10. 2 points
    I finally found this forum and couldn't be more excited! I've only been playing since 2015, but love the game and would like to set up my own private server at home, so here I am! Clearly a lot of work has gone into this, so from a newbie - thank you!
  11. 2 points
    No, you're not right! Updatemask is used as part of client/server dialog to send changes to the client. Everytime an object field CHANGES at the server side (from the last time it's update was sent), the corresponding updatemask bit is set to 1. When an object changes server side, the updatemask is sent along with the changed fields (and only those) to the client. After the object update is sent to the client, the updatemask resets all its bits to 0. When you first create an object first time, ALL FIELDS MUST BE INITIALIZED, so the updatemask bits are all 1 and you send to the client all object fields. There is no field left unintialized.
  12. 2 points
    dont you need to match both name and password as uppercase?, some thing like this? $password_string = sha1(strtoupper($username) . ':' . strtoupper($sha_pass_hash))
  13. 2 points

    Version 0.21.GitHub

    955 downloads

    Mangos Three Server - 0.21 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) MangosThree-Serverx86.zip (32 Bit) MangosThree-Serverx64.zip (64 Bit) 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 2015 (Included in .zip)
  14. 2 points
    Русификация БД 3.3.5. Есть ошибки при загрузке в таблице db script string но сервер запускается Скачать с Яндекс диска
  15. 2 points
    Hello, Grertings from Spain, actually I am using mangostwo, it awoseme remember the WoW with my friends! Thanks for all.
  16. 2 points
    HOW TO CREATE WAYPOINTS - get things moving A short Introduction how a path is handled PREREQUISITES For every movement of a creature in the wow - world a definition has to be made. (Except the case a hungry one is looking at you for breakfast) The involved objects are: a db table called creature_movement, one with the little strange name db_script_string, one creature you want to teach a way and - last but not least you in the game with GM rights activated. A SQL interface to the database is also needed - equal which you prefer. The Information created in this process later can be <recycled> and used in scripts - eg some escorts type follower or the same way some boss scripts. In any case we recommend to finish the waypoints first and to deal with scripts later. BASICS - what do I need to know The route is stored in creature_movement in the following way : id = the guid of the mob and point = an autoincrement counter starting at 1. According to this waypoints always are just pointing to a single creature and - changing single waypoints later is a mess. Mostly the starting point of the route is the spawn poin. Leaving this way maybe possible but not effective. In all cases memorize the spawnpoint cause here your route starts. Also be aware of programming waypoints needs some time and maybe a lot of running work too.... STEP 1 - cleaning up First find your npc. You need the id and the guid of him. .go creature <guid> may be helpful. .npc info (target the npc first) gives the needed numbers. If youre replacing an old way perhaps save it now. Looking at the waypoints is simply done with SELECT * FROM creature_movement WHERE id = <guid> To erase former informations in the database you simply use DELETE FROM creature_movement WHERE id = <guid> Now your npc has no waypoints. STEP 2 - The running job Do the following : select your npc switch off his need to visit waypoints UPDATE `creature` SET `MovementType`=1 WHERE `guid`= <guid> LIMIT 1; select the npc then type .npc follow EXCURSION - server manners If that looks strange - lets look at the sense behind. When you visiting the wow world just a part of it is transferred to the client and also in the core just the parts are loaded where some player action occurs. The same way not used areas are taken out of memory on client and server side. You can imagine that a circle-like area around your character. When programming long ways you could get error messages cause some parts of your way are unloaded. Cause you have to select the npc to set his ways and if you are going too far away it is automatically deselected. OK now position yourself at the first spot and type with npc selected .wp add <guid> Congrats - The first waypoint has just been made. Between 2 waypoints the npc always takes a straight line - so to make realistic curves you have to do this by setting more waypoints to simulate it. Follow your path and set your waypoints - and dont forget less is more every waypoint is server workload so just make the neccesary. The npc is going through the waypoint list till the end. When hes at the end restarting again with the first waypoint. That means you must set the way more or less in a circle to return to starting point - else you will see a lost creature hopping through the fields searching for the first entry with odd behavior. Step 3 - Nothing without verification Switch on waypoints for your companion UPDATE `creature` SET `MovementType`=2 WHERE `guid`= <guid> LIMIT 1; if the mob is doing nothing try typing .reload all Now the creature should start moving and following your route. Watch one "round" to see if it all works correctly. Step 4 - EXTRAS - cream on top To make additional actions for your (now running) creature you have to access a single waypoint to tell him an action. If you look into your waypoints select * from creature_movement where id = <guid> You see the following data fields : 5 textid, emote, spell, waittime and a script_id. And a - empty - wpguid. EXCURSION - searching for guids To put something into a waypoint you have to identify it. That's not that easy when you made 30 or 40. Normally waypoints just exist in the database. To work with them visually, the first step is to spawn them - yes - spawn ! Normally a waypoint has no guid. .wp show <guid_of_your_npc> The core generates guids for every waypoint you use atm. To optionally control it - on the right side of table select * from creature_movement where id = <guid> Making long distance ways it can happen that not all wps are generated - then simply walk to the other part and use the command again. Now you're able to identify every single waypoint by his guid in the database. VERY IMPORTANT - clean up when your finished. Every spawned waypoint uses a guid - like you created a lot of mobs. When your finished type .wp show off - to delete the waypoint dummies STEP 5 - WAIT - for what ? is at it says ... just standing there around doing nothing simply set the wait time - be aware that this are milliseconds ... one minute = 60000 STEP 6 - TEXT - Adding Speech There are textid1 to textid5 to be used from 1 up. if more than one is used randomly one will be chosen. To make this far from easy - there is no text field. Its a reference into db_script_string. And to make it just more complicated entries must be between 2000000000 and 2000010000 !!! so you have to add your text into that table and afterwards you can tell the waypoints. just use content_default for your messages - the other fields are for translations into different languages STEP 7 - EMOTES - clapping npcs Simply store an emote number here reference you'll find in the dbc emote tables STEP 8 - SPELLS AND SCRIPTS This is going too far for a introduction. You may find Information about possible spells and scripting at other tutorials. ADDENDUM - THE MESSY THING To change a single waypoint entry is a challange. Ok - a position change can be easy done by .npc move When its spawned. But inserting a new point .. you first have to create that point. Than you must free the sequence number he should use - they are a unique key so no equals allowed in the database - by rising all upper waypoints one step up and after that you can give the new one the insertion number. Works with 5 waypoints but is a challange for a long route. The other way round - to swap the gps coordinates - is also not an easy task. So take care that the basic waypoints are all correct and working. In case of error often it will be faster to rebuild the path from scratch than playing around.
  17. 2 points
    Official getMaNGOS Discord Server Launched! getMaNGOS is pleased to announce the launch of a new public Discord server. For years MaNGOS had an IRC channel, today we move to Discord having ceased using IRC sometime ago. All of our in-house Developers may or may not be on the public discord server but most will. You can join the Discord server by clicking the purple blocks all over the website on the right hand side. While Discord is web-based you can download the app here. The Discord platform supports Windows, Mac, Android, iOS and Linux, you will be able to stay in touch with the MaNGOS community from anywhere! If you are unfamiliar with Discord you can read about it on their website. Kind Regards, Antz (Project Lead) & MadMax (Community Lead) Community Manager's of https://www.getmangos.eu
  18. 2 points
    Today I bring you a quick update on the Rabbid Grizzly and the Blighted Elk that roam the Dragonsblight. Reworked all spawn locations and removed a huge amount of duplicates. I have added a before and after picture of an area that showed the most obvious improvement.
  19. 2 points
    MangosTwo (wotlk) has had significantly less development over the years compared to TC, which until recently was focussed only on wotlk. - because of this TC has always traditionally been the defacto core for running wotlk. The last two years have involved massive redesigns of the mangos foundation and we are improving the cores daily now. - As the different MaNGOS cores now share a lot of code, any improvements are applied across the cores thus allowing us to gain ground.
  20. 2 points
    I don't think you're going to see a more specific or straightforward error message than this, ever. It's telling you that the call to SendNotification on line 10 has a bad argument, that it is nil, when it expects a string. The argument there is the variable named 'message', which isn't defined anywhere in this script, hence the reason you're getting this error.
  21. 2 points
    It looks like this was fixed in mangostwo according to the thread below, but it still seems broken in mangosone. I'm running the latest pre-built mangosone release (0.21.7.4). I've noticed a few other broken quests as well. Should I submit these to the bug tracker if I don't see them there already?
  22. 2 points
    Hello, in this tutorial, I will explain a step-by-step approach to configure, install and run Mangos on a Ubuntu 16.04 LTS system. To fully execute the installation, you need an original copy of the game client version you want to run. This guide has been fully tested on an empty Ubuntu 16.04 LTS system with minimal installation. Let's go.. Setup the database: Ubuntu is supporting MySQL by default. This part of the guide will help you to setup your instance of MySQL. Launch a terminal, and if it's not already the case, you need to become the 'root' user: sudo su - root Then, install MySQL, enter your root password when you will be prompted for: apt-get -y install mysql-server Once MySQLis installed, start it: systemctl start mysql I do advise you to add Mysql service at startup to execute it automatically: systemctl enable mysql Let's secure your mysql installation, execute the following command: mysql_secure_installation I advise you to setup the following parameters: Do not enforce the use of the password plugin Do not change the root password Remove anonymous access Disable remote access for the root user Remove the test database Reload the privileges Now that the setup of the database is done, we need to add the prerequisites for the mangos database configuration. We need to start by creating an user for mangos, login to the database using: mysql -u root -p Create the user you wish, the example given is creating an user 'mangos' who can connect from the 'localhost' and has the password 'password' (do not forget the ';') at the end: CREATE USER 'mangos'@'localhost' IDENTIFIED BY 'password'; We then need to grant privileges to that user that we can use it later to setup the Mangos schemas (again, do not forget the ';' symbol): GRANT ALL PRIVILEGES ON *.* TO 'mangos'@'localhost'; Exit the terminal: quit Congratulations, you have setup the pre-requisites for the database on Ubuntu ! Install Mangos: We are now at the interesting part, how do we install Mangos on Ubuntu ? Well, assuming you are logged in as 'root', go to the home directory: cd ~ Now, we can download our installer: wget https://raw.githubusercontent.com/mangoszero/server/master/linux/getmangos.sh Set the permissions to be allowed to execute it: chmod 700 getmangos.sh And execute it: ./getmangos.sh Before we go further, some explanations on the available activities: Install Prerequisites will install all the necessary dependencies for you to build & run mangos. Toggled by default. Set Download And Install Paths will allow you to specify where the sources must be downloaded and where the binaries must be installed. Toggled by default. Clone Source repositories will help you cloning the Mangos sources. Toggled by default. Build MaNGOS will assist you in the building process of MaNGOS. Toggled by default. Install MaNGOS will help you installing MaNGOS. Toggled by default. Install Databases will assist you in the database schemas creation. Toggled by default. Extract Resources will help you to extract the DBC, maps, mmaps and vmaps from the game client. Toggled by default. Create Code::Blocks Project File will create a project for the Code::Blocks editor. Do not toggle this option if you don't plan to edit the MaNGOS sources. Now that you know everything, let the default options selected and select 'Ok' thanks to the Tab key. The script is now installing the necessary dependencies on your Ubuntu. You will be prompted to provide your agreement to install the build dependencies. Select 'Yes' two times. User selection: Mangos provides you the opportunity to run it under another user than the 'root' one. This is a good practice to isolate softwares and limit the security impact in case of an exploited vulnerability. The default proposed run user is 'mangos' but you can change if you wish. Select 'Ok' to continue. If you have already performed this step, the installer will ask you whether you want to keep that user. I advise you to reply 'Yes' except if you know what you are doing. Choose WoW Release: The next screen is requesting you to choose the WoW release you are willing to install. Select the one you that fits your wish and select 'Ok'. Source-Code Path: The next screen is asking you to provide the source path. By default, the proposed format is /home/<run user>/<wow version>/src. For instance, for a run user 'mangos' and a wow version 'Vanilla', the proposed path will be: /home/mangos/zero/src Reply 'Yes' to create the directory if it does not exist. If it does exist and contains sources, the installer will ask you whether you want to delete the content or not. Installation Path: The next screen is asking you to provide the installation path. This is the location from where you will execute the Mangos processes. By default, the proposed format is /home/<run user>/<wow version>. For instance, for a run user 'mangos' and a wow version 'Vanilla', the proposed path will be: /home/mangos/zero If it does exist and contains compiled sources, the installer will ask you whether you want to delete the content or not. Clone or update MaNGOS: The next step of the script is asking you whether you want to clone, update or use an existing copy of the MaNGOS sources. For a fresh installation, select the option '0 Clone a fresh copy of MaNGOS'. The installer will now connect to Github and check the available development branch, currently, the last stable release is the Rel21 and is hosted in the 'master' branch. The installer is now cloning the server and database repositories. Build Options: You are now at the build step. Some explanations over this screen: Enable Debug will setup debug flags and more tracing on Mangos. Use this build option only if you're requested to to fix a bug. Building a software in debug mode significantly reduces its performances. Use Standard Malloc, toggle this option to use the standard memory allocation. Untoggle this option only if you know what you are doing. Use External ACE libraries. Allows you to use the ACE libraries coming from your system. Untoggle this option only if you know what you are doing. Use PostgreSQL insteald of MySQL/MariaDB. Allows you to use another database provider than the default one. This option has not been tested and, if you have followed the tutorial so far, you should have setup MySQL ;-) Build Client Tools will build the extractors necessary to get dbc, maps, mmaps and vmaps out of the game client. Unselect this option only if you already have these resources extracted. Use SD3 will allow you to build the ScriptDev3 Engine provided with MaNGOS. We advise you to keep this option toggled except if you don't like living world based on C++ scripts. Use Eluna will allow you to build the Eluna Engine provided with MaNGOS. We advise you to keep this option toggled except if you don't like living world based on LUA scripts. Select 'Ok' to proceed with the build process and confirm that would want to build MaNGOS. The installer is now building MaNGOS. Depending on the speed of your system, you have the time to drink a glass of water or a cup of coffee. :-) Installation: You will now be prompted to install Mangos. Select 'Yes' to install it. Database Operations: Wait.. another database setup ?! Yes, but this time, we are populating the database with the mangos data. You have three options here: Install clean databases to setup a fresh database Update existing databases to update your old version of the database Skip database work... but it wouldn't make sense :-) Select the first option if you are performing a fresh installation. You will be prompted to select your type of database. If you followed the guide so far, you should select "MySQL". The installer will then request your database information, if you followed the guide, you need to provide the following input: Hostname: localhost Port: 3306 User: mangos Password: password You can now choose into several options: ReInstall the realm database, containing all the realms information and the accounts ReInstall the world database, containing all the world configuration ReInstall the characters database, containing all the characters information Update the realmlist to setup an initial game server By default, all options must be toggled. The installer will now perform the database import. Extract Game Data: This step will copy the extractors to the wow game location, extract dbc, maps, mmaps and vmaps and copy these extracted data to your installation directory. The installer will automatically look for a suitable WoW client into your /home directory. If it doesn't find anything, you will have to provide your game location path. If the provided path doesn't contain any game data, the installer will exit. The extractor steps allows you to select the artifacts you want to extract: DBC and Maps, which are the minimum set of data you need to extract Mmaps which are the movement maps, based on vectoriel calculation, required for an efficient pathfinding Vmaps which are the virtual maps, used for collision detection and LoS detection The Mmaps extraction is taking several hours, you will have the time to sleep or drink several coffees. :-) Congratulations ! You almost did it ! Still few steps to perform before you can play on your preferred game. First of all, you need to switch to your run user. If you used mangos, the command will look like: su - mangos You need then to go to the configuration directory of your installation, if you installed Vanilla, it will look like the following command: cd /home/mangos/zero/etc Copy the realmd.conf.dist and mangosd.conf.dist files to their expected name: cp realmd.conf.dist realmd.conf cp mangosd.conf.dist mangosd.conf Edit the realmd.conf and find the line LoginDatabaseInfo. Provide your database information, according to this guide and if you have installed Vanilla, it should look like: LoginDatabaseInfo = "127.0.0.1;3306;mangos;password;zero_realm" Save your file and edit the file mangosd.conf. You need to provide the database information for the three database we have configured with our installer: LoginDatabaseInfo = "127.0.0.1;3306;mangos;password;zero_realm" WorldDatabaseInfo = "127.0.0.1;3306;mangos;password;zero_world" CharacterDatabaseInfo = "127.0.0.1;3306;mangos;password;zero_characters" Save your file and go back to the 'root' user: exit Make sure it keeps running ! What could be cooler than having the MaNGOS server starting automatically with your server ? Not much... so let's configure systemd to do so ! First of all, we need to tell it that we have two new services. Declare them by creating the corresponding files: touch /etc/systemd/system/realmd.service touch /etc/systemd/system/mangosd.service # Or give it a better name like zero.service if it's a vanilla gaming server for instance. Now, edit the /etc/systemd/system/realmd.service file and add the following content (Replace the installation path and the run user by the settings you have provided during the installation): [Unit] Description=Realmd service After=network.target mysql.service [Service] Type=simple User=mangos ExecStart=/home/mangos/zero/bin/realmd -c /home/mangos/zero/etc/realmd.conf Restart=on-abort [Install] WantedBy=multi-user.target Save this file and edit the /etc/systemd/system/mangosd.service file (or the better name you gave to it) with the following content (same remark than above the installation path and the run user): [Unit] Description=WoW Vanilla service After=network.target mysql.service [email protected] [Service] Type=simple User=mangos ExecStart=/home/mangos/zero/bin/mangosd -c /home/mangos/zero/etc/mangosd.conf WorkingDirectory=/home/mangos/zero/bin StandardInput=tty TTYPath=/dev/tty3 TTYReset=yes TTYVHangup=yes Restart=on-abort [Install] WantedBy=multi-user.target We are almost there ! You now need to tell systemd to reload its configuration: systemctl daemon-reload And let's start our processes to verify that they work: systemctl start realmd systemctl start mangosd To verify that it worked, execute the following command: systemctl status realmd systemctl status mangosd If it's working properly, you should have an output indicating you the success status for both service. The last step is to tell systemd to execute them at startup, for this, execute the following commands: systemctl enable realmd systemctl enable mangosd Congratulations ! You are now done with the MaNGOS setup on Ubuntu 16.04 :-) You can now reboot your computer to verify that everything is indeed started: reboot
  23. 2 points
    A problem was found in the extractor this morning which caused the extraction to fail, this has now been fixed
  24. 2 points
    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.
  25. 2 points
    Hi forum, Today I will teach you how to install MaNGOS on Ubuntu virtual box. As some of you may know I an supporting a MaNGOS WoW server installation bash script on Ubuntu/Debian. I always do prefer running my WoW server on a virtual machine, so everything can become easy as pie when you mes it up The thing we will need: 1. Ubuntu OS: ( https://www.ubuntu.com/download/desktop ) (Ubuntu 16.04 x32 or x64) This is so called "GUEST OS" 2. Oracle virtual box: ( https://www.virtualbox.org/wiki/Downloads ) ( Depending on your host. I am gonna install it for Windows my "HOST OS" ) 3. Oracle VB additions: "VirtualBox #VERSION# Oracle VM VirtualBox Extension Pack" ( Click on the link that says this in [2] ) First download all the stuff above and save it to folder of choice ( I am gonna call it "INSTALL" ). Go to your INSTALL folder and open the virtual box to install it. This is pretty straight forward, though if you do not like where your virtual machine HDDs are stored, you can always change it by ( File -> Preferences -> [Left list] General -> Default Machine folder ). I prefer mine in "E:\VirtualMachines". Now we need to install the extensions. Go to ( File -> Preferences -> [Left list] Extensions -> Extension packages -> The little arrow-down button ). It will prompt you to browse for your extension. Give it the file downloaded file in point [3]. We are now done, so go ahead and create a virtual machine. Name it whatever you like but keep it consistent ( I used "Ubuntu 16.04 WoW x64" ). The type must be "Linux" and the version "Ubuntu" ( x32 or x64 depending on pint [1] ). Click "Next" This screen is used to set the memory [Memory] Press ( Ctrl + Shift + Esc ) to open the task manager and view how much RAM do you have free. You can use the half of it. I had 16GB free, so I went for 8GB. [Hard disk] Please use at least 10GB as there are dependencies and additional software needed for installing MaNGOS. [Hard disk file type] Make sure you always *.VDI, if you want to extend the virtual HDD in the future. [Storage of physical hard disk] If you use "Dynamically allocated" the virtual HDD grows in size as you install sutff in the GUEST ( In our case the Ubuntu ). The "Fixed size" will allocate the whole HDD on creation. [File location and size] This tells Oracle VB where to store your virtual HDD. It must be a valid file name. I personally use the name, which I create my VMs with ( "Ubuntu 16.04 WoW x64" ) and the limit which the virtual HDD should never exceed. Now go ahead and click on "Settings" We are now going to configure the system, so click on (System). Tab (Motherboard) Boot order: 1) Optical, 2) HDD Chipset: PIIX3 Pointing device: USB tablet Extended features: Check only (I/O APIC), (Hardware Clock in UTC Time) Tab (Processor) Processor: Give it all CPUs available Execution cap: Never go all the way up to 100. I keep it at 70% Enable PAE/NX checked Tab (Acceleration): Check all the check-boxes and set interface to default. Configuring the (Display) Tab (Screen) Video memory: 128 or 64 MB is quite good Monitor count: How many monitors is it displayed in. I use one of my two. Do not mess with the other tabs Configuring the (Storage). Here you will have a storage tree with IDE and SATA. Go ahead and delete the IDE controller (Right-click->Delete or Del), then add a CD drive to the SATA controller by clicking the CD icon with the green plus sign. A prompt will appear for media selection. Click "Chose Disk" and insert the ISO downloaded in [1]. Configure adapter one of the network tab to bridged if you have a second network card and you want your server to run on it or NAT if you don't. I am gonna use "Intel Pro 1000 MT Desktop (82540EM)" as Ubuntu takes it without any drivers. Now Click "OK" on the settings window to apply your changes to the Ubuntu VM. Start it and follow the Ubuntu installation. until you install the Ubuntu OS from the CD in [1]. When you see the desktop showing for the first time, open the software sources ( https://help.ubuntu.com/community/Repositories/Ubuntu ) and on "Download from" drop down menu chose "Main server" then "Reload". Open the terminal and type "apt-get update". After this you must install VB dependencies. I also have a script for that purpose: https://github.com/dvdvideo1234/UbuntuBatches/tree/master/VirtualBox Download the script to your home folder and start it. It will install all the VB dependencies (Do you want to install dependencies [y/n]? y). Beware there will be restart needed if you chose to run the update manager (Do you want to run force-update [y/n]? y). Now install the VB addition CD provided by Oracle by clicking (Devices->Insert Guest Addition CD Image..) and hit the run button. Authorize it to proceed and follow the console prompt. After the installation you will have bi-directional copy-paste and all needed VB hardware support. We are finally here to install MaNGOS from source. I have a script dedicated to this here ( View the readme.md for further questions ): https://github.com/dvdvideo1234/UbuntuBatches/tree/master/MaNGOS Download the script to your folder of choice ( I will call it "SEVER" ), mark it as executable (sudo chmod +x config.sh) and run it. The title ("TITLE") that you chose will be installed in the "SERVER"/"TITLE". directory. Now follow the console prompt and anwer the questions seen. If you are not using a proxy, answer "Are you using a proxy [n or <proxy:port>] ?" with "n" The script supports vanilla WoW too. I just forgot to update the readme.md After the installation is done. It will compile and install the MaNGOS WoW server. and you must extract and install the maps and vmaps yourself, so please follow the continued MaNGOS project maps installation procedure here: You are practically done ;). Have fun playing in your private server.
  26. 2 points
    It loops through the elements in buffs table. _ is the key and v is the value from the table. _ is often used to indicate that the variable is not used. https://repl.it/HLJ3/0 http://www.lua.org/manual/5.2/manual.html#3.3.5 http://www.lua.org/manual/5.2/manual.html#pdf-ipairs http://www.lua.org/manual/5.2/manual.html#pdf-pairs
  27. 2 points
    Hello, Well i am an old member that used to play with mangos around 2010 and stopped due to university and the life of a student and now i decided to make my return once again. As i saw a lot have changed, some things are the same and that i have to make a catch up.
  28. 2 points
    ok i made you an example using a simple 2D table to store the buff id's. local command = "buff"; -- here we define "command" as local variable with a string value of "buff". I defined it as a `local` outside any functions so it is localized to this Lua file only. local buff = {}; -- here i define the variable `buff` as an empty table (Without data).again i have defined it as a local outside any functions so it is localized to this Lua file only. buff = {48074,35912,38734,65075,65077,43223,15366,36880,36880,16609,48073,48469,26035}; -- Here I will now store data in the table named `buff`. each id separated by a comma. each spot will be a unique address piece(1,2,3,4,5,6.....) accessed by using the full adress. so to puff a player with buff id '43223' i will use the command `player:AddAura(buff[6], player)` and the player will get buffed with 43223. function buff(event, player, message, Type, lang) if(message:lower() == command)then -- here we chech every chat message (converting it to `lower`case) to see if it matches absolute(==) the string stored in the variable `command`. local entry_id; -- here i am defining a variable i will use ONLY inside this function so when its local inside a function it will be localized to only that function and you can make a new variable inside another function using the same name but different stored data. for entry_id = 1, #buff do -- here i am starting a loop. telling it that entry_id will be from 1 to the max size of the `buff` table (#buff). player:AddAura(buff[entry_id], player); -- now using the full address to pinpoint a location of stored data we will apply the data as a buff to the player. end -- end for when our current loop is complete and increase entry_id +1 or if entry_id value is the max size for the loop then end and exit the loop. player:SendBroadcastMessage("You have been Buffed!") end -- end for the end of our if statement. end -- end of function end. RegisterPlayerEvent(42, buff)
  29. 2 points
    Eluna has SetPower so stop there. You can code it by using http://www.elunaengine.com/Global/bit_rshift.html or http://www.lua.org/manual/5.2/manual.html#pdf-bit32.rshift local addvalue = bit_rshift(140, GetLoyaltyLevel()) * 125 -- assume GetLoyaltyLevel is implemented elsewhere Im not sure what you refer to with the values. You mean the addvalue values? That could be possible too. I made a complete example of the conversion here, its basically just converted the c++ to lua: https://pastebin.com/PhbRd97v I think though that the modifypower could possibly be added as an eluna function.
  30. 2 points
    Grumbo`z Mall Warz ver.1.0e ever wanted to have a custom's mall that the Ally and Horde had to fight over for control ? well..... look no farther , now you can. you can set up this script to apply to a certain map/zone/area and it will spawn a neutral flag that will give control of the location to a team that manages to get to the flag and tag it. when the flag re-spawns it will represent the controlling team . while the flag is spawned the apposing team can try and reach the flag to tag it. once the flag has been captured it will de-spawn . a completely random timer is generated to re-spawn the flag , this timer is an adjustable feature in the script. with vendor npc's faction set to (35), the vendors will faction change based on the controlling team's faction. For Eluna. includes: 1 lua script. 1 sql file for objects and npc template. demo video : >> Grumbo`z Mall Warz << this is one of my older scripts for Eluna.
  31. 2 points
    So, I'm not sure if this gets asked a lot... But I'm extremely curious... How did you guys (the dev team at mangos) actually create the core? Wouldn't you need to get Blizzard's "secret server files"? I'm very curious.
  32. 2 points
    So i spent a few hours with Madmax who got me all sorted out. From what we can tell nothing was technically wrong, we tried new files, new settings, all of that. In the end he cleared out my realmlist table and started it again from scratch. I wish I could put out more of "this is how to fix xyz problem in the future" but we wouldn't really figure out what fixed it other than clearing out the realm table and starting over. I want to say thank you to Madmax publicly, what an excellent help! I have donated to the site as I hope others who gain help here will consider doing. Thanks for the excellent community!
  33. 2 points
    I believe this issue may be related to: https://github.com/mangoszero/server/commit/1ff6c40b0d95e21ba220158eb010dc310fb85d8b If you can, can you try reverting this change and see whether the problem goes away: To revert the commit... 1) Open your git bash / shell and navigate to the sourcecode 2) type git revert 1ff6c40b0d95e21ba220158eb010dc310fb85d8b 3) Assuming that that worked without any errors, rebuild the source, copy it to your server and test
  34. 2 points
    Even if that were true, the point of kuJay's question was how a WoW server emulator is created from scratch without access to the actual retail server code. You are correct that much of the effort for older clients now is directed toward implementing and fixing features to replicate the game play as it existed at the time a particular client was current on official retail. That doesn't mean no further work is needed on the other areas. A lot of assumptions about the reliability of old research led to the perpetuation of bad information and data. There are still many opcodes whose functions are unknown. Certain file types were incorrectly analyzed in the past. Maps are only just now being correctly understood in their proper context, which has finally allowed transports to function properly after many years. There is still much data mining and reverse-engineering that needs done, especially for more recent expansions.
  35. 2 points
    My god, this is an interesting read. Thank you very much, @Unkle Nuke. This stuff is really cool.
  36. 2 points
    Well, us curmudgeons have to be poked once in a while, if only to make sure we're still breathing.
  37. 2 points
    Great write up Unkle Sorry we had to drag you out or retirement yet again! Me & @antz keep doing this hehe @kurJay I hope Unkle's reply has helped you understand a little more where MaNGOS comes from, as Unkle said, if you have anymore questions feel free to ask. Hopefully I wont have to pull Unkle out of retirement again
  38. 2 points
    I have added WoWhead tooltips to the getmangos website. This change is site-wide and immediate. Methods of inserting tooltip popups. Using the standard insert link and linking to a wowhead.com item page will get you a popup in a link. Text with a popup link Click the new image in the editor bar above (second from the left in the top row) and enter the item ID. Linked by itemid Linking an image. Exactly the same as the above methods. The above will work anywhere on the site. This means you can link items in bug reports, forum posts etc.
  39. 2 points
    Fix was commited here. Please pull the latest source code, rebuild and test for every known case. Awaiting feedback.
  40. 2 points
    Hi,antz. I check the db character set,it's "latin1",then I change it to "utf-8",It works! thank you very much!!! ps:I suggest add the "DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci" in the end of all create database sql at InstallDatabases.bat/InstallDatabases.sh. like this: %mysql%mysql -q -s -h %svr% --user=%user% --password=%pass% --port=%port% -e "create database %wdb% DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
  41. 2 points
    Hello everyone, I am new to the MaNGOS forum. I am not new to MaNGOS, I have been creating private servers using the core for quite a few years now. I took a small hiatus for about 3 years but I am back in action. My new project is going to be done completely based on MaNGOS and I will become an active member of this forum. I hope to contribute to this team and help in any way I can. I am thinking about just a 1.12.1 server but I am considering a version of each. (1.12.1)(2.4.3)(3.3.5a) What are your thoughts?
  42. 2 points
    The fix works as intended. Will PR in the next few (days?) and close this thread when completed Thanks @Korisko for testing it out for me. ..And broke a few other things. haha
  43. 2 points
    If you install Doxygen and then point it at the sourcecode if should generate a chunk of code hierarchy which you can read
  44. 2 points
    Hello vanbeef, same here, I heard a lot of things where about to come to mangos2 so I wanted to come back and see where that was heading. I'm still so surprised to see daily updates here, you guys are awesome.
  45. 2 points
    INSERT INTO `creature_ai_scripts` (`id`, `creature_id`, `event_type`, `event_inverse_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action1_type`, `action1_param1`, `action1_param2`, `action1_param3`, `action2_type`, `action2_param1`, `action2_param2`, `action2_param3`, `action3_type`, `action3_param1`, `action3_param2`, `action3_param3`, `comment`) VALUES ('2123300','21233','11','0','100','1','0','0','0','0','21','0','0','0','0','0','0','0','0','0','0','0','Prevent Movement'), ('2123301','21233','9','0','100','1','0','50','50','200','11','36238','1','0','0','0','0','0','0','0','0','0','Cast Fel Cannon Blast'), ('2246100','22461','11','0','100','1','0','0','0','0','21','0','0','0','0','0','0','0','0','0','0','0','Prevent Movement'), ('2246101','22461','9','0','100','1','0','50','50','200','11','36238','1','0','0','0','0','0','0','0','0','0','Cast Fel Cannon Blast'); Seems to work very well. What do you think? @H0zen
  46. 2 points
    The cmangos fork split from mangos about 4 years ago and have continued to work on the core like we do. However include valid patches from them in our project as well as out own.
  47. 2 points
    nevermind...I think I answered my own question!
  48. 2 points
    So who has found out what happens when you put the mouse cursor over the Christmas lights at the top of the site? And are you liking the snow? So far I've scared a few of our developers with them! (Sound recommended).
  49. 2 points
    So you've found a bug you want to fix, or a feature you want to implement, thanks! If you follow this guide it will make it much easier for the community to review your changes, and the core team to get them included in the next release. If you need an introduction to git, check out the tutorial and Everyday GIT With 20 Commands Or So. Making Your Changes The first thing you need to do is obtain a clone of the MaNGOS repository (We will assume MangosZero in these examples) $ git clone --recursive http://github.com/mangoszero/server.git 0server $ cd 0server Then you need to create your new branch: $ git checkout -b make_mangos_scale Switched to a new branch "make_mangos_scale" Now you're ready to get coding. Be sure to include tests which demonstrate the bug you're fixing, and fully exercise any new features you're adding. You should also take care to make sure the documentation is updated if you're changing the API. Once you've finished making your changes you need to commit them. $ git commit -a -m "I made MaNGOS scale by adding quantum tunneling" Created commit 29f8baa: I made MaNGOS scale by adding quantum tunneling 1 files changed, 0 insertions(+), 1 deletions(-) Preparing your changes for submission. Now that you've made your changes it's time to get them into a patch. We need to update rails and fix any conflicts we had. $ git checkout master Switched to branch "master" $ git pull $ git submodule init $ git submodule update ... $ git checkout make_mangos_scale Switched to branch "make_mangos_scale" $ git rebase master Once you've fixed any conflicts, you're ready to create a patch: $ git format-patch master --stdout > make-mangos-scale.diff Now you can attach that patch file to a getmangos.eu tracker ticket and add the 'patch' tag. Reviewing Changes To apply someone's changes you need to first create a branch: $ git checkout -b koz_made_mangos_scale Then you can apply their patch $ git am < their-patch-file.diff Once you have a working copy, you should take note of the following kinds of things: Are you happy with the tests, can you follow what they're testing, is there anything missing Does the documentation still seem right to you Do you like the implementation, can you think of a nicer or faster way to implement a part of their change Once you're happy it's a good change, please comment on the ticket indicating your approval. Your comment should indicate that you like the change and what you like about it. Something like: I like the way you've restructured that code in Server namespace, much nicer. The tests look good too. If your comment simply says +1, then odds are other reviewers aren't going to take it too seriously. Show that you took the time to review the patch. Once three people have approved it, add the verified tag. This will bring it to the attention of a committer who'll then review the changes looking for the same kinds of things. Congratulations and Thank You! Once your changes have been applied, you've officially become part of the large community of independent contributors working to improve MaNGOS. Important Notes The MaNGOS core team prefers that you create a github fork only for large changesets which are likely to involve a lot of code reviews/changes back and forth, or if 2 or more people are working on the same feature/bug. But of course, like all the rules, exceptions can be made for cases that demands for it.
  50. 2 points
    How to fix bugs? This one is easy! Take up knitting instead. Your sanity will thank you. Still, it's a well-written guide. I give it 10/10.

Contact Us

To contact us click here
You can also email us at [email protected]

Privacy Policy | Terms & Conditions

Repositories

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®
×
×
  • Create New...