Jump to content

Pysis

Members
  • Posts

    42
  • Joined

  • Last visited

  • Days Won

    1
  • Donations

    0.00 GBP 

Everything posted by Pysis

  1. Pysis

    account

    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.
  2. https://github.com/mangosthree/server/commit/6dd4317dbba12e3245efba6be33324228ef80cfe You can post some local repo details, like `git log -1 --pretty=oneline`. `git pull --recurse-submodules`
  3. 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.
  4. 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.
  5. 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.
  6. Pysis

    Installing MariaDB

    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.
  7. Confirmed fixed! https://github.com/mangostwo/database/commit/2f15ca885d377af80df34b4686e654476d1980c7
  8. 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.
  9. Pysis

    Client File Formats Summary

    For working with each of the formats: BLP: https://github.com/PatrickCyr/BLPConverter/issues/1#issue-1585162886 MPQ:
  10. Pysis

    MPQ File

    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
  11. 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.
  12. Sample CMake/Generate command: Sample, optional, non-string CMake parameters: Sample VS build command:
  13. Pysis

    Installing MangosSharp

    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:
  14. 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.
  15. 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&section=all Those usually have scripts that aid with compiling yourself automatically.
  16. Pysis

    Installing MySQL 5.7

    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.
  17. 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
  18. When he said latest patch like 1.12.1 for Zero then it seems not without personal effort.
  19. Pysis

    Installing MySQL 5.7

    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
  20. That's a lot of dots... "I am trying to setup zero using the getmangos.sh script." So that would be a fresh install. Guides have you do: I took the script from here:, which I found on the CentOS 7 install guide: https://raw.githubusercontent.com/mangoszero/server/master/linux/getmangos.sh Edited Wednesday at 10:08 AM by Mac Wheeler 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 That doesn't have him doing any git, at least for now..
  21. but getmangos is a contain all script, the guides tell you to just download that script directly, individually, and it does the rest?
  22. He shouldn't need that command though, you are just mentioned that's what the script does now?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use