-
Posts
45 -
Joined
-
Last visited
-
Days Won
1 -
Donations
0.00 GBP
Content Type
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Everything posted by Pysis
-
Just to document for others: This might be a problem using server software that is not actually supported by this organization, but could be similarly-named, such as CMangos or other various and specific repacks of either, causing these differences, which is why it is recommended to access the software from here or GitHub, release or source variants, or access the correct sites supporting that other software.
-
https://github.com/mangos/realmd/blob/master/Auth/AuthSocket.cpp#L393 Seems to still use that hash. This document mentions them as the validated and salt vlues. https://github.com/mangos/realmd/blob/master/Auth/AuthSocket.cpp#L225 `AuthSocket::_SetVSFields` has its code you can view, and mentions this: https://en.wikipedia.org/wiki/Secure_Remote_Password_protocol And the similar with these code sections too: https://github.com/mangoszero/server/blob/master/src/game/WorldHandlers/AccountMgr.cpp#L80 https://github.com/mangoszero/server/blob/master/src/game/WorldHandlers/AccountMgr.cpp#L380 `AccountMgr::CalculateShaPassHash` I also see this website account creation code sample too: https://github.com/i-am-fyre/BasicCMS/blob/master/main.py#L94 Maybe you don't need the other values. They could just be temporary per auth exchange with a client following SRP. Seems to be based on this code: https://github.com/mangoszero/server/blob/master/src/game/WorldHandlers/AccountMgr.cpp#245 With this only using the 2 values: https://github.com/mangoszero/server/blob/master/src/game/WorldHandlers/AccountMgr.cpp#361 It's possible you aren't colon-concatenating them first. I also don't think that the property is version specific, and is still used for all older, vanilla clients, since realmd handles account procedures, and is a submodule to all of the server projects.
-
Having install log files or described procedures always helps more, but I believe jwh's SD3 is not current, and could probably benefit from a `git submodule update` or `pushd server/src/modules/SD3; git pull origin master; popd`. This commit published near before the date of this post will likely help once being included by that update: ⋊> .../server on master ⨯ pushd src/modules/SD3; git log -1 --format=reference (read); popd; read> 61e0b547c827cca9c09714d3580259f991f36fbd 61e0b54 (Replaced SIZEFMTD macro with "%zu" format parameter, 2024-06-04) This commit in Zero's Server repository helped incorporate that SD3 commit: ⋊> /server on master ⨯ git log -1 --format=reference (read); read> 5ab90165fb888d3ee020006d81823247038925a7 5ab90165 ([SD3] Updated SD3, 2024-06-04) My working environment ⋊> neofetch --stdout distro distro: Fedora release 40 (Forty) x86_64 ⋊> gcc --version gcc (GCC) 14.1.1 20240701 (Red Hat 14.1.1-7) Copyright (C) 2024 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ⋊> cmake --version cmake version 3.28.2 CMake suite maintained and supported by Kitware (kitware.com/cmake). ⋊> pushd server; git log -1 --format=reference; popd; 668c89ff (Update core_windows_build.yml, 2024-06-05) ⋊> pushd server/src/modules/SD3; git log -1 --format=reference; popd; 519bbc3 (Merge branch 'master' into patch-1, 2024-06-04) The non-working environment that I have reproduced locally, that may match the poster's ⋊> on master ⨯ git log -1 --format=reference 668c89ff (Update core_windows_build.yml, 2024-06-05) ⋊> on master ⨯ pushd src/modules/SD3; git log -1 --format=reference; popd; 6ee2d21 (Update SD3 to use C++17, 2024-03-10) ⋊> .../server on master ⨯ sudo env \ USE_FZF='true' \ SKIP_USER='true' \ KEEP_USER='true' \ SKIP_PATHS='true' \ SKIP_UNINSTALL='true' \ AUTO_DEFAULT_OPTIONS='true' \ DB_COMMAND="mariadb -u$dbUser -p$dbPP" \ SERVER_USER=(id -un) \ linux/getmangos.sh \ ; Cleaning the old build... This script builds the MaNGOS server. Options that can be used in order to configure the process: General: CMAKE_INSTALL_PREFIX Path where the server should be installed to BUILD_MANGOSD Build the main server BUILD_REALMD Build the login server BUILD_TOOLS Build the map/vmap/mmap extractors USE_STORMLIB Use StormLib for reading MPQs SOAP Enable remote access via SOAP PCH Enable use of precompiled headers DEBUG Debug build, only for systems without IDE (Linux, *BSD) Scripting engines: SCRIPT_LIB_ELUNA Compile with support for Eluna scripts SCRIPT_LIB_SD3 Compile with support for ScriptDev3 scripts Modules: PLAYERBOTS Enable Player Bots To set an option simply type -D<OPTION>=<VALUE> after 'cmake <srcs>'. Also, you can specify the generator with -G. See 'cmake --help' for more details For example: cmake .. -DCMAKE_INSTALL_PREFIX=/opt/mangos -DSCRIPT_LIB_SD3=0 -- Lua version: lua52 -- Lua linking: dynamic =================================================== Mangos revision : 668c89ff2cc5+ 2024-06-05 15:05:43 +0100 (master branch) Build type : Release Install server(s) to : .../server_install/bin Install configs to : .../server_install/etc Detailed Information +-- opeating system : Linux-6.9.9-200.fc40.x86_64 +-- cmake version : 3.28.2 Build main server : Yes (default) +-- with Eluna script engine +-- with SD3 script engine Build login server : Yes (default) Support for SOAP : No (default) Build tools : No =================================================== -- Configuring done (0.3s) -- Generating done (0.2s) -- Build files have been written to: .../server_build ...... [ 54%] Linking CXX static library libshared.a [ 54%] Built target shared [ 54%] Built target revision_data.h [ 55%] Building CXX object src/modules/SD3/CMakeFiles/mangosscript.dir/cmake_pch.hxx.gch [ 55%] Building CXX object src/modules/SD3/CMakeFiles/mangosscript.dir/pch.cpp.o [ 55%] Building CXX object src/modules/SD3/CMakeFiles/mangosscript.dir/include/precompiled.cpp.o [ 55%] Building CXX object src/modules/SD3/CMakeFiles/mangosscript.dir/include/sc_creature.cpp.o [ 55%] Building CXX object src/modules/SD3/CMakeFiles/mangosscript.dir/include/sc_grid_searchers.cpp.o [ 55%] Building CXX object src/modules/SD3/CMakeFiles/mangosscript.dir/include/sc_instance.cpp.o [ 55%] Building CXX object src/modules/SD3/CMakeFiles/mangosscript.dir/system/ScriptDevMgr.cpp.o [ 55%] Building CXX object src/modules/SD3/CMakeFiles/mangosscript.dir/system/ScriptLoader.cpp.o [ 56%] Building CXX object src/modules/SD3/CMakeFiles/mangosscript.dir/system/system.cpp.o [ 56%] Building CXX object src/modules/SD3/CMakeFiles/mangosscript.dir/base/escort_ai.cpp.o .../server/src/modules/SD3/base/escort_ai.cpp: In member function ‘void npc_escortAI::Start(bool, const Player*, const Quest*, bool, bool)’: .../server/src/modules/SD3/base/escort_ai.cpp:635:44: error: expected ‘)’ before ‘SIZEFMTD’ 635 | debug_log("SD3: EscortAI started with " SIZEFMTD " waypoints. Run = %d, PlayerGuid = %s", WaypointList.size(), m_bIsRunning, m_playerGuid.GetString().c_str()); | ~ ^~~~~~~~~ | ) make[2]: *** [src/modules/SD3/CMakeFiles/mangosscript.dir/build.make:221: src/modules/SD3/CMakeFiles/mangosscript.dir/base/escort_ai.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:698: src/modules/SD3/CMakeFiles/mangosscript.dir/all] Error 2 make: *** [Makefile:136: all] Error 2 ================================================================================ The selected tasks have been completed. If you built or installed Mangos, please edit your configuration files to use the database you configured for your MaNGOS server. If you have not configured your databases yet, please do so before starting your server for the first time. ================================================================================
-
I was helping with `realmd` account creation today, and wanted to add some of my own documentation from the personal exchange to further help the public with technical literacy for this topic. https://www.getmangos.eu/wiki/referenceinfo/otherfiles/managing-user-accounts-using-3rd-party-apps-r20088/ This page actually provides this more generic information well, but wanted to link that to here for that reason, and also in case I can add anything more useful too. My statements are not producing the same value, but this is the clarified process, with differing examples. Remember to replace `username` and `password` with your intended, respective values, and your resulting SHA1 hash will most likely be different than my `5b...78` hash. For the shell command examples, I provide alternatives that request user input to compete, to make this more obvious. Using the MariaDB included, or associated, GUI application client, HeidiSQL: https://www.heidisql.com/help.php#queries I use DBeaver, but have also used MySQL Workbench in the past, along with SequelPro for Apple computers, and Navicat even longer ago. The base SQL, mentioned above, that I also wanted to represent a bit differently: `SELECT SHA1(CONCAT(UPPER('username'), ':', UPPER('password')));` Fish shell command line statements: ``` ⋊> echo -n 'SELECT SHA1(CONCAT(UPPER(\'username\'), \':\', UPPER(\'password\')));' | mariadb -s -p"$dbRootPP"; 5b039d152722e351c8bdebcf06fd8cd4e5244d78 ⋊> echo -n 'SELECT SHA1(\''(read -P 'Username: '| upcase)':'(read -P 'Password: '| upcase)'\');' | mariadb -s -p"$dbRootPP"; Username: username Password: password 5b039d152722e351c8bdebcf06fd8cd4e5244d78 ⋊> echo -n 'USERNAME:PASSWORD' | sha1sum | cut -d' ' -f1 5b039d152722e351c8bdebcf06fd8cd4e5244d78 ⋊> echo -n (read -P 'Username: '| upcase)':'(read -P 'Password: '| upcase) | sha1sum | cut -d' ' -f1 Username: username Password: password 5b039d152722e351c8bdebcf06fd8cd4e5244d78 ⋊> echo -n 'USERNAME:PASSWORD' | openssl sha1 | cut -d' ' -f2 5b039d152722e351c8bdebcf06fd8cd4e5244d78 ⋊> echo -n (read -P 'Username: '| upcase)':'(read -P 'Password: '| upcase) | openssl sha1 | cut -d' ' -f2 Username: username Password: password 5b039d152722e351c8bdebcf06fd8cd4e5244d78 ⋊> echo -n 'USERNAME:PASSWORD' | /usr/bin/openssl sha1 | cut -d' ' -f2 5b039d152722e351c8bdebcf06fd8cd4e5244d78 ⋊> echo -n (read -P 'Username: '| upcase)':'(read -P 'Password: '| upcase) | /usr/bin/openssl sha1 | cut -d' ' -f2 Username: username Password: password 5b039d152722e351c8bdebcf06fd8cd4e5244d78 ``` My environment: ``` ⋊> neofetch --stdout distro kernel shell term distro: Fedora release 39 (Thirty Nine) x86_64 kernel: 6.6.13-200.fc39.x86_64 shell: fish 3.7.0 term: gnome-terminal ⋊> mariadb --version mysql Ver 15.1 Distrib 10.1.21-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 ⋊> sha1sum --version sha1sum (GNU coreutils) 9.3 Copyright (C) 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Ulrich Drepper, Scott Miller, and David Madore. ⋊> openssl version OpenSSL 1.1.1b 26 Feb 2019 ⋊> /usr/bin/openssl version OpenSSL 3.1.1 30 May 2023 (Library: OpenSSL 3.1.1 30 May 2023) ``` The only remaining problem was that the new account, or at some point, any account, were all receiving messages that they were banned, or the account closed, and could basically not login using the WoW client. Changing `LogLevel` to '2' in `realmd.conf` helped show us a message about an AuthChallenge code module reporting "Banned IP ...". https://github.com/search?q=repo%3Amangos%2Frealmd banned&type=code https://github.com/mangos/realmd/blob/8c08d47a9a3e6c64007be67074e7c587a5e63e5e/Auth/AuthSocket.cpp#L375 This could be answered in another article, and I may have seem some posts mentioning various strategies, but I want to briefly list the possible solutions for these other problems here, since they are at least close in function and process. What may have fixed this these problems, while even using the localhost IP address 127.0.0.1 in the `realmd.conf` file, is restarting the realmd process. https://www.getmangos.eu/forums/topic/10721-says-my-account-is-closed/#comment-79515 https://www.getmangos.eu/forums/topic/10690-stuck-on-connected/#comment-79328 For specific account problems, try using the same localhost IP address as the `localAddress`, but changing the `address` field to the external IP address of the machine the server is being hosted on. An alternative is deleting the `address` field record's data. We also checked reduced `failedLogins` to '0', any `active` field to '1', or `locked` to '0', and checking there was no matching record for either IP address in the `ip_banned` table, or even that it was empty. Also, for any solution in this post, make sure all database changes are saved/persisted, so you can reload and find the data you updated again, which is more applicable when using GUI application clients to interact with a database, but also any command line execution in case errors are reported there too.
-
Can try tools focused on the parts to help simplify complex problems such as Wireshark and nc in sending and receiving mode, possibly alternating between TCP and UDP packet types too.
-
If you need to configure the router, then you are testing access external to your LAN, and need to use that IP instead. https://whatismyipaddress.com/ Staying internal to your LAN would only use the typical 192.168.*.* IP address. Whichever scenario you are using, pick that one, and it does need to be set to bind in your conf file, then restart the servers.
-
Post does not have much detail. Did you perform the conf bind and DB IP update steps? If that's fine, and only on LAN, it should not be a router setting, unless it is using some sort of isolation feature, just configure an OS firewall to allow traffic for that program or port then.
-
Using a client on the command line is always possible, and may even support login path like MySQL does. If you want a GUI like MySQL Workbench though, that may still work and just mention a warning every time, or Maria includes HeidiSQL automatically.
-
Trouble with db update 21_04_001 on MySQL 8
Pysis commented on Daniil's bug in Archived Reports (Two)(Resolved issues)
Confirmed fixed! https://github.com/mangostwo/database/commit/2f15ca885d377af80df34b4686e654476d1980c7 -
You can better identify problems that affect the world server (mangosd) using this process. Do this by attaching to the running process from a Microsoft Visual Studio (MSVS) instance with the code project repository downloaded, configured, and the Solution (sln) file opened. The keyboard shortcut for this should be "Ctrl+Alt+P", and other instructions for performing this in the IDE can be viewed here: Microsoft - Attach to running processes with the Visual Studio debugger I'm not sure that you can do this with any other IDE yet, but there have been several similar packages that accomplish this function for the now unsupported Atom editor, with examples such as PHP xdebug functionality. Also unsure if this can be accomplished using Visual Studio Code or not. If this does not work, or seems strange, make sure the version of the project matches the server, and the server has the associated symbol (pdb) files that match the executable you want to inspect. Once connected, you can set breakpoints and view the process state when those are encountered.
-
For working with each of the formats: BLP: https://github.com/PatrickCyr/BLPConverter/issues/1#issue-1585162886 MPQ:
-
For users, I found this utility to work nicely for reading and modifying this type of archive format: MPQ Editor https://www.zezula.net/en/mpq/download.html
-
It was mentioned, at least for Three/Cata (so Two/WotLK), and possibly any, to use "config.wtf" for all changes, to keep them in the same file, in case you see either file mentioned, both can work, just choose a preference.
-
Remaining task:
-
Sample CMake/Generate command: Sample, optional, non-string CMake parameters: Sample VS build command:
-
Disclaimer The original instructions are from Krill, mentioned in the MaNGOS Discord server, on 2021-02-21. I will try to improve them. Overview This guide will demonstrate how to setup the project for a sample modern Windows system. Warning This project may not be functional, for the following reasons: The second Wow Exe Extractor has 4 buttons, but only seems to create an empty maps folder, as that code seems to be commented out, regardless of the output in the dialog boxes, The GameServer will not execute due to compilation problems currently. Clustering has been disabled. This is a unique feature and goal for the project, but code updates have caused a divergence from it. Because of this, any mention can be ignored until this feature is also updated. Step 1 - Download the source code Clone the following projects locally: https://github.com/MangosServer/MangosSharp https://github.com/mangosvb/DatabaseZero Similar Instructions: https://www.getmangos.eu/wiki/documentation/installation-guides/guidesgeneral/downloading-the-mangos-sourcecode-r20023/ Step 2 - Populate a database server Locally in the `sql` folder. Note that MangosSharp in its README under 'Requirements' claims to better support MySQL 8 more than the main C++ cores. These actions can be similar to, or also even require, others from the following guides: https://www.getmangos.eu/wiki/documentation/installation-guides/guideswindows/installing-mysql-57-r20057/ https://www.getmangos.eu/wiki/documentation/installation-guides/guideswindows/installing-mariadb-r40012/ https://www.getmangos.eu/wiki/documentation/installation-guides/guideswindows/configuring-the-realm-database-r20069/ https://www.getmangos.eu/wiki/documentation/installation-guides/guideswindows/updating-existing-database-with-latest-updates-r20051/ Step 3 - Compile the servers and tools But in your locally-downloaded project, and is now at: src\server\Mangos.sln I just used MSVS 2022 CE. Now 14. Step 4 - Extract Game data (WIP?) The resulting executables will then be located at src\server\GameServer\bin\Debug\net7.0\GameServer.exe and src\server\RealmServer\bin\Debug\net7.0\RealmServer.exe to run. I'm not sure if a cluster project needs to be run, or is included as a dll when other executables are. If it is important, then you should probably configure it using this file: src\server\Mangos.Cluster\bin\Debug\net7.0\configuration.json. Extract data using Mangos.Extractor & Mangos.DBCExtractor tools here: https://github.com/MangosServer/MangosSharp/tree/main/Source/Tools Build the project using the file src\tools\Mangos.Tools.sln. Run src\tools\Mangos.DBCExtractor\bin\Debug\net7.0\DBCExtractor.exe and src\tools\Mangos.Extractor\bin\Debug\net7.0-windows\WowExeExtractor.exe by copying the files to your vanilla WoW game client directory, like in this guide: Step 5 - Configure the servers Like in this guide: Step 6 - Install dependencies Now 7.0, also as mentioned in the README under 'Requirements': https://dotnet.microsoft.com/download/dotnet/7.0 Not sure if it needs OpenSSL or not. If it does, a useful guide can be found here:
-
Since updates, my other comments here, and my own recent success, I should report that Visual Studio 2019 Community Edition, version 16.9.2, EasyBuild version 2.2.6, and CMake version 3.18, all on Windows 10 Pro 64-bit, I was able to build a MaNGOS core successfully, thanks to the great work of others! The VS minor and patch versions were both very important to keep updated throughout, but may hopefully be less important now.
-
It may be just simple to compile the project yourself instead of following anything else explicitly. I want the getmangos.sh script to take care of everything for Linux OSes at least, but I always hear it's in a state of repair. More notes: From the guide you link: "You also need to grab and compile libace. You can get it from here. Extract it and read the instructions.They're pretty straight-forward. It should be named 'ACE-INSTALL.html' or something similar. https://download.dre.vanderbilt.edu/ ACE https://www.dre.vanderbilt.edu/~schmidt/ACE.html Maybe you can find a download from that link, but instead I looked through the GitHub repository: https://github.com/mangosone/server Following deps I see acelite, and since it is bundled with the Mangos source code, I think it's important to use that version specifically. That leads to this linked module repo and directory, where I did find that "ACE-INSTALL.html" file: https://github.com/mangos/mangosDeps/tree/1228d504656d73a3a7eaf1fe5e2b594c9e48a8a0/acelite I think UNIX build instructions would make the most sense from that list, since it does not have "Linux", and GNU Make/Configure is pretty common for Linux packages. I was hoping for an existing Ace(Lite) package in the Debian repos but did not see anything quickly from here: https://packages.debian.org/search?keywords=ace&searchon=names&suite=stable§ion=all Those usually have scripts that aid with compiling yourself automatically.
-
For using MySQL 8.0, all I had to do so far was update the password scheme for the database connection user(s). Working so far with minimal testing, you just need to run this SQL: The default was the caching_sha2_password scheme. Update: After practicing the process again recently, and wanting to retain higher security, I found you can still use MySQL 8 as the database server with the newer secure default password method, but requires retrieving a dll from a MariaDB installation/package: https://stackoverflow.com/questions/49963383/authentication-plugin-caching-sha2-password#comment116030255_51532833 "MariaDB\lib\plugin\caching_sha2_password.dll" Of course, there may still be issues using MySQL 8 with MaNGOS as Antz stated at the top of the article. I just wanted to continue collecting pieces of information relating to this somewhere, as I have not found an item to track them all yet. More notes are the following: I saw in another guide that since MySQL 8.0.28, TLSv1 support was removed, so MaNGOS may no longer be able to connect to the database server at all. Antz has also stated that MariaDB support seems better, a comment stating the move with elation implying general success, possibly avoiding sql_mode / strict mode troubles with zero dates, even when only specified as a predicate in the WHERE clause. I have made a change to demonstrate this can be avoided, but is not ideal, and think the coding style for SQL database updates, and game data representation, could probably be changed instead to promote modern conformance. There could be other issues though, and MariaDB support seems easier so far.
-
I was going to reply but the process was long running. I saw that the issue was the linux package as she seems to realize now. I just following this guide for Windows which uses the Linux-style script and the more obvious Windows binaries: https://www.getmangos.eu/wiki/documentation/installation-guides/guideswindows/extracting-game-data-r20067/ That should help, and also I can report there is no current large issues with the three's client extraction tools. I can post my log and some details for reference as attachments. I have the result folders with files in them as you can see below, and some errors during the process as well. My tools directory for Mangos Server Three that I compiled from source on master at 18d218a2ae23ecc91b673cb163be4bc9ffe7e897 just yesterday in Release mode, but the release package should work too: My result folders with some meaningful information: MaNGOSExtractor.log MaNGOSExtractor_detailed.log MoveMapGen_detailed.log
-
When he said latest patch like 1.12.1 for Zero then it seems not without personal effort.
-
Those minor revisions are just patch releases to fix bugs or security issues, use the latest. AntzToday at 6:02 AM @Whyarp 5.7 is the ideal version, but we have done a lot of work recently to support 8.0 (not 100% tested though) [6:03 AM] of the 5.7.x versions, just grab the latest(edited) Ryan WadeToday at 6:03 AM Thank you Antz, much appreciated! Elmsroth [FR]Today at 7:03 AM @Whyarp Be careful with 5.7, with some DB script it could block the execution of DB import because of the SQL_MODE (you should set SQL_MODE as an empty string otherwise it could lead to errors).(edited) [7:03 AM] Sometimes related to Zero dates instead of 1900-01-01 - 00:00:00 [7:04 AM] If I remember well [7:04 AM] https://dev.mysql.com/doc/refman/5.7/en/faqs-sql-modes.html
-
From the community help forum by Mac Wheeler, ported to here from The advice given to Mac should be checked that the script is following as well, checking out the git repo completely/recursively with all submodules and their contents properly downloaded.
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®