

Talendrys
getMaNGOS Staff-
Posts
706 -
Joined
-
Last visited
-
Days Won
30 -
Donations
0.00 GBP
Content Type
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Everything posted by Talendrys
-
Hm, that should be on the client. The server will never get such request normally. Tal'
- 7 comments
-
- breaking news
- server note
-
(and 1 more)
Tagged with:
-
Northshire Guard attacking horse
Talendrys commented on madmax's bug in Archived Reports (Zero)(Resolved issues)
Poor horse -
In my knowledge, that zone was indeed considered as indoor at Vanilla time. Some researches may help us to find whether this was the case or not. Tal'
-
getmangos.sh fails (two different heads)
Talendrys commented on z-vap's bug in Archived Reports (Two)(Resolved issues)
The script does only what you are asking to do. If there are missing files/functions in Two, that's the cause of the build issue. Tal' -
MySQL Server has gone away - Connection handling (Show stopper bug)
Talendrys commented on madmax's bug in Tasks (Zero)
Well, you need a fail-over system for sure. But the proof that you got authenticated is the session key that has been negotiated during the logon. If you are by-passing the logon, there's no way you could have that session-key properly setup. A by-pass, though, could be that the session-key is re-used if we don't zero it when a player is disconnecting from a realm. -
I don't understand your point Foe. Only PvP title were displayed during Vanilla AFAIR.
-
We are not gona flame someone who is willing to help and eager to learn ! Tal'
-
Cannot open any chest type gameobject
Talendrys commented on Chucksta's bug in Archived Reports (Three)(Resolved issues)
Thank you -
Can you please sahre how you solved it ? Tal'
-
Quest from NCP "McBride" from Humans Starting place wrong
Talendrys commented on Locario's bug in Mangos Zero
Indeed, that's the way to go Or if you find the text somewhere else, you could import it. Tal' -
Quest from NCP "McBride" from Humans Starting place wrong
Talendrys commented on Locario's bug in Mangos Zero
I checked in the source code yesterday, and apparently, Mangos is already capable of using several locales. You only need to fill-in the tables with translated version of the text within the appropriate "locale_x" field that correspond to your locale. :-) -
Indeed, I don't think it actually existed prior WOTLK.
-
Hello, For a long time, the item_instance "data" blob field has been some mystery. In this post, I will describe the update that we need to do on the wiki to solve this misunderstanding: The data-field is a String separated by spaces between each values. Here's the value meaning sorted by index: Item GUID Item High GUID (Stored 0x4000 0000) Object Field Type (Mask value retrieved from the code: TypeMask enum, value is 3 or 7 depending if it's an item or a container) Item Entry (Entry ID of the item_template) Scale (Scale value, did not yet found the storage type, maybe float ?) Padding (No info on this) Owner Guid High Guid Owner (Should be always 0 for player) Item Field Contained (Can be the GUID of another item instance if stored in a bag or the GUID of the character if equipped) Item Field Container High Guid (Should be 0x4000 0000 or 0 depending if it's a bag or if it's a player) Creator GUID Creator HIGH Guid GUID Gift Creator High Guid Gift Creator Stack Count Duration Spell Charges 01 Spell Charges 02 Spell Charges 03 Spell Charges 04 Spell Charges 05 Item Flags (Mask is ITEM_DYN_FLAGS) Perm Enchantment ID Perm Enchantment Duration Perm Enchantment Charges Enchantment ID Temp Enchantment Duration Temp Enchantment Charges Temp Enchantment ID Max Inspect Enchantment Duration Max Inspect Enchantment Charges Max Inspect Enchantment Prop 0 ID Enchantment Prop 0 Duration Enchantment Prop 0 Charges Enchantment Prop 1 ID Enchantment Prop 1 Duration Enchantment Prop 1 Charges Enchantment Prop 2 ID Enchantment Prop 2 Duration Enchantment Prop 2 Charges Enchantment Prop 3 ID Enchantment Prop 3 Duration Enchantment Prop 3 Charges Item Field Property Seed Item Field Random Properties ID Item Field Text ID Item Field Durability Item Field Max Durability CONTAINER NUM SLOT (only available if it's a bag/container) MAX slots = 28, the slots are then always a combination of Item GUID + Item High GUID, so 28*2 = 56 FIELD SLOTS CONTAINER ALIGN PAD (???) CONTAINER FIELD SLOT 1 (Item GUID) CONTAINER FIELD SLOT 2 (Item HIGH GUID 0x4000 000) CONTAINER FIELD SLOT 3 CONTAINER FIELD SLOT 4 CONTAINER FIELD SLOT 5 CONTAINER FIELD SLOT 6 CONTAINER FIELD SLOT 7 CONTAINER FIELD SLOT 8 CONTAINER FIELD SLOT 9 CONTAINER FIELD SLOT 10 CONTAINER FIELD SLOT 11 CONTAINER FIELD SLOT 12 CONTAINER FIELD SLOT 13 CONTAINER FIELD SLOT 14 CONTAINER FIELD SLOT 15 CONTAINER FIELD SLOT 16 CONTAINER FIELD SLOT 17 CONTAINER FIELD SLOT 18 CONTAINER FIELD SLOT 19 CONTAINER FIELD SLOT 20 CONTAINER FIELD SLOT 21 CONTAINER FIELD SLOT 22 CONTAINER FIELD SLOT 23 CONTAINER FIELD SLOT 24 CONTAINER FIELD SLOT 25 CONTAINER FIELD SLOT 26 CONTAINER FIELD SLOT 27 CONTAINER FIELD SLOT 28 CONTAINER FIELD SLOT 29 CONTAINER FIELD SLOT 30 CONTAINER FIELD SLOT 31 CONTAINER FIELD SLOT 32 CONTAINER FIELD SLOT 33 CONTAINER FIELD SLOT 34 CONTAINER FIELD SLOT 35 CONTAINER FIELD SLOT 36 CONTAINER FIELD SLOT 37 CONTAINER FIELD SLOT 38 CONTAINER FIELD SLOT 39 CONTAINER FIELD SLOT 40 CONTAINER FIELD SLOT 41 CONTAINER FIELD SLOT 42 CONTAINER FIELD SLOT 43 CONTAINER FIELD SLOT 44 CONTAINER FIELD SLOT 45 CONTAINER FIELD SLOT 46 CONTAINER FIELD SLOT 47 CONTAINER FIELD SLOT 48 CONTAINER FIELD SLOT 49 CONTAINER FIELD SLOT 50 CONTAINER FIELD SLOT 51 CONTAINER FIELD SLOT 52 CONTAINER FIELD SLOT 53 CONTAINER FIELD SLOT 54 CONTAINER FIELD SLOT 55 CONTAINER FIELD SLOT 56
-
I think that our core is not 100% retail because a refactoring or the code base is necessary to do so. But the functionnalities are all available in the core though. Other private servers demonstrated that it was possible to be vanilla-like as much as possible. The things that we don't know are some calculations and formulas but not "technical handling" such as unknown opcodes or so.
-
Today, the systemd configuration for service is done manually. This could be done through getmangos.sh script. This bug report is highlighting this.
-
Today, the database setup is explained into the "Installing Mangos on.." guides but they could be handled inside getmangos.sh. This Bug Report makes it visible.
-
Changed Status to Completed
-
New guides added:
-
Changed Status to Completed
-
Added: https://github.com/mangoszero/server/pull/17
-
ACE is used for the complete network layer I think. The "try, debug & fix" approach you're advising is kind of dangerous... the door open to hackfix.
-
Replace entirely with C++ 11 ? Is there somewhere something explaining this ? What about performance ? Although I think that ACE should go away at some point
-
Hello, in this tutorial, I will explain a step-by-step approach to configure, install and run Mangos on a Debian 8 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 Debian 8 system with minimal installation. Let's go.. Setup the database: Debian 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: aptitude -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 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 Debian ! Install Mangos: We are now at the interesting part, how do we install Mangos on Debian ? 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 Debian. 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 "MariaDB" because Debian is providing an old version of 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 Debian 8 :-) You can now reboot your computer to verify that everything is indeed started: reboot
Contact Us
To contact us
click here
You can also email us at [email protected]
Privacy Policy | Terms & Conditions

You can also email us at [email protected]
Privacy Policy | Terms & Conditions
Copyright © getMaNGOS. All rights Reserved.
This website is in no way associated with or endorsed by Blizzard Entertainment®
This website is in no way associated with or endorsed by Blizzard Entertainment®