Jump to content

Xenithar

getMaNGOS Staff
  • Posts

    1395
  • Joined

  • Last visited

  • Days Won

    3
  • Donations

    0.00 GBP 

Posts posted by Xenithar

  1. I will try when I get home this evening. I work 9-5 though!

    *UPDATE*

    Alright, how do I get gprof to work during the build process with MaNGOS? Is there something I do in the makefile or what?

    *UPDATE*

    I edited build/CMakeFiles/CmakeCXXCompiler.cmake and added -pg to the ARGS1 var. Building now, but not sure I did it properly.

  2. Mine does the same thing. I have two physical CPUs on a Tyan motherboard and the mangosd process eats 100% CPU on one of them at all times, even when I am not connected from my gaming rig. I am concerned as well due to possible high temperatures on the CPU that is being stressed. My server is a shell-only install of Debian 6.0.3 with no extras. I remotely administer it using SSH (PuTTY if I am in Windows).

  3. We already covered that. His problem lies within the network configuration on his Linux box. He does not have his interfaces configured in the standard way, and he has some kind of advanced configuration with iptables going on.

    *UPDATE*

    I just figured out that all of those "NR" lines deal with routes. He is routing traffic from all networks to a class C network. That probably has something to do with it. I will keep digging, but why on earth is the Lubuntu team throwing in static routes?

  4. Well your firewall is run on iptables, which does more than firewalling. Iptables also does NAT (network-address translation) and a whole lot more. Your default chains (rules) are much more than firewall rules. I see various networks specified, which makes no sense unless you have multiple networks in your home. I see class A, B, and C networks somehow being related to a class C network in those "NR" rules. On top of that, your networking interfaces are not specified in your interfaces file, leading me to believe that all of those chains have something to do with that. This is why I hate distros that don't conform to standards. Heck, even RedHat, Slackware, and Gentoo use an interfaces file!

    I will try to sort through those rules later when I get some time, but I have a job during the day.

  5. Alright, sorry for the delay. Ubuntu is doing something very, VERY screwy with networking. Normally your itnerfaces (Ethernet, wireless, etc) are listed and configured in /etc/network/interfaces, yet yours only has loopback. Then there's that extremely odd iptables configuration. I know a bit about iptables and I build firewalls, but I don't do routing and NAT yet, so a lot of your rules don't make sense to me. I would recommend that you speak with the Ubuntu team on their forum to try to gain an understanding of how your network is running. From my perspective, they are handling everything within iptables, which is just not normal, but I may be mistaken. Again, I use Debian, not Ubuntu. Debian is upstream (Ubuntu is based on it) and does not have the bloatware that Ubuntu has. Maybe Ubuntu has some extra package installed that is handling your networking, such as network manager. Either way, ask the Ubuntu team. They should be able to help.

    On a side note, I placed an iptables firewall on my WoW server last night after building, allowing only TCP ports 3724, 8085, and 22 through. Upon doing this, I had the same problem you have. I would sit at the connecting screen for ages and never get in. This leads me to believe that MaNGOS uses more ports than just 8085 and 3724. Upon removing my firewall, I could connect instantly. I still believe the heart of your problem is with the networking setup on Ubuntu.

    *UPDATE*

    Alright, I should not be allowed to use Firewall Builder after 22:00 any more. My problem was that I was testing against the source port for 3724 and 8085, not the destination port. It works fine now, and MaNGOS only needs ports 3724 and 8085 allowed. Just wanted to point that out since I assumed my problem was an unknown port earlier.

    Naz, if you want to try allowing your WoW ports, you can enter these two commands as root to open just the MaNGOS ports up.

    iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3724 -m state --state NEW -j ACCEPT

    iptables -A INPUT -i eth0 -p tcp -m tcp --dport 8085 -m state --state NEW -j ACCEPT

    That tells your firewall to allow traffic on the two MaNGOS ports to be allowed even if it is a new connection.

  6. How do I know which revision to keep, head or mmaps? I am looking at "SpellEffects.cpp" right now and the head has nothing while mmaps has a small case section in a switch block. In this case I am assuming that it is OK to use the mmaps version since nothing is being changed, only code added, but I would like to be sure and I would like to know how to determine which revision to use.

    *UPDATE*

    The other differences were where a space was deleted in a function prototype and in the implementation. The final one was the revision. The mmaps version set it to 1765 and of course the zero version was at 1809. I kept 1809, committed, made sure sd0 was set to compile, and have just started my compilation. Now I must send the tools over to my Latitude laptop to build for Windows, then send those executeables to one of my lab PCs to pull out the stuff from WoW. Fun...

    *UPDATE*

    The server built and started with the mmaps, vmaps, etc I extracted and built when using the straight mmaps branch. Already tested with my hunter and the mobs do not act like they're high enough to float anymore, and they can now cross bridges. Thanks for all of the help!

    Now, when an update for zero and/or mmaps comes out, how would I go about updating the sources and rebuilding?

  7. Thanks faramir. Since this is a server, I only have a shell which is accessible only through SSH. I will check it out tonight, fix the issues, and build the new executeables. I will post back tonight if I run into anything else. Also, I will make a guide for this once I get it working properly.

    By the way, what timezone are guys in?

    *EDIT*

    One more thing. How do I do this? Do i simply edit the files in vi, or do I do something with git?

  8. Same problem. Still wants 1765. No merge errors or anything, just wants 1765...

    *UPDATE*

    Modified my script and am starting over... again. I took out the remote for the working branch and the patch code since I just add the line myself. I will update you when I get done again.

    #!/bin/sh

    clear

    cd

    rm -rf ~/wow-src ~/wow-server/bin ~/wow-server/include ~/wow-server/lib

    sleep 3

    mkdir ~/wow-src

    cd ~/wow-src

    git init

    git remote add -f -t develop origin git://github.com/mangos-zero/server.git

    git remote add -f -t feature/movemaps mmaps git://github.com/mangos-zero/server.git

    git branch master --track origin/develop

    git branch mmaps --track mmaps/feature/movemaps

    git branch working

    git checkout master

    git checkout working

    git merge master

    git merge mmaps

    cd ./src/bindings

    mkdir ./ScriptDevZero

    cd ./ScriptDevZero

    git init

    git remote add -f -t master sd0 git://github.com/mangos-zero/scriptdev0.git

    git branch master --track sd0/master

    git checkout master

    cd

    *UPDATE*

    That worked. I got the merge errors you said I would get. Now, how do I fix said errors? I mean are these physical errors (such as null pointers) or what? What am I looking for in these files and once I fix the problems, how do I tell git that it can merge them?

    *UPDATE*

    Alright, I found the following in "CreatureAI.h". I assume that between "HEAD" and "=======" is the original code and between "=====" and "mmaps" is the proposed change. My big question is whether or not git commented out the lines and I need to uncomment them or what? Do I delete the old code and leave the new code as-is? I need more info to make an informed decision and git isn't helping.

    <<<<<<< HEAD

    /**

    * Called at any heal cast/item used

    * @param healer Unit* who healed the creature

    */

    virtual void HealBy(Unit* healer, uint32 amount_healed) {}

    =======

    // Called at any heal cast/item used (call non implemented)

    // virtual void HealBy(Unit * /*healer*/, uint32 /*amount_healed*/) {}

    >>>>>>> mmaps

  9. Oh God, I was about to try that. I figured the "stable/master" was lagging behind and the development tree would be more modern. You just solved it. I will do a reset and setup the develop branch now. Thanks!

    *UPDATE*

    Thought I would share my reset script with you guys. Enjoy!

    #!/bin/sh

    clear

    cd

    rm -rf ~/wow-src

    sleep 3

    mkdir ~/wow-src

    cd ~/wow-src

    git init

    git remote add -f -t develop origin git://github.com/mangos-zero/server.git

    git remote add -f -t feature/movemaps mmaps git://github.com/mangos-zero/server.git

    git remote add -f -t master working git://github.com/mangos-zero/server.git

    git branch master --track origin/master

    git branch mmaps --track mmaps/feature/movemaps

    git branch working --track working/master

    git checkout master

    git checkout working

    git merge master

    git merge mmaps

    cd ./src/bindings

    mkdir ./ScriptDevZero

    cd ./ScriptDevZero

    git init

    git remote add -f -t master sd0 git://github.com/mangos-zero/scriptdev0.git

    git branch master --track sd0/master

    git checkout master

    cp ./MaNGOSZero-ScriptDevZero.patch ~/wow-src

    cd ~/wow-src

    git apply ./MaNGOSZero-ScriptDevZero.patch

    cd

  10. Wow, no clue what they are trying to do there, but you are setup to use your loopback interface for net access. They must use iptables to handle this as well as firewall your system. Let me get some advice for this and get back to you.

    *UPDATE*

    Alright, let's not wipe out your firewall and NAT setup. Instead, let's just set the input and output policies to accept by default. This is a simple command issued as root that should fix it while leaving your rules in place.

    iptables -P INPUT ACCEPT

    iptables -P OUTPUT ACCEPT

    Try that as root or with sudo. That will allow all traffic in and out of your system without removing all of your rules. Once you do those two commands, use iptables -S as root and paste me the result. After you paste the result, try your server out and cross your fingers.

  11. What is with the sudden attack of retards, err spammers? I see three new spam posts and now they're infesting our legit threads also!

    I will keep at it, but I will also say that everything went flawlessly last night. No merge errors or build errors. That leads me to believe that something in the mmaps sources is either requiring 1765 or is overwriting something in zero that it shouldn't be. If I compile plain zero and sd0, no issues, but mobs like to bounce around and fall through bridges. If I knew where the code to check the database revision was, I would simply manually set it to 1809 and then compile to see if it would run properly using 1809. I will keep looking at it in the evenings after work. Thanks for your support!

  12. Well my problem is in resolving conflicts. For one, I didn't write the code. For another, the conflicts always seem to be git files and cmake files while I am a C++ guy. They may be easy to you two, but I am lost in cmake format files and git files. I never had conflicts while working with svn. Add this to the pile of issues with git that need to be sorted. I wouldn't expect a .NET UI designer to be able to fix a C++ DLL issue in a Windows project, and this cmake stuff is as alien to me as Daerdric text is to you.

    What I am getting at is that it tells me there's a conflict, but I haven't a clue what I am looking for because I do not understand the cmake format or what the file is telling cmake to do. It would be like me asking you to rebuild a 500hp Cat truck engine, assuming you are not a diesel tech! I don't know what I am looking for, so my only option is to start cutting lines of code until it works or breaks, then pasting back what is needed if it breaks.

  13. The realm server simply lists the realms in the database and passes the WoW client the ip address of the selected server, unless I am gravely mistaken. You are running a firewall. That is your problem. When you are not running a firewall, the iptables -S command will only show you:

    -P INPUT ACCEPT

    -P OUTPUT ACCEPT

    -P FORWARD ACCEPT

    If you get anything else, you are firewalled. The problem is that Ubuntu does some weird crap with their firewall. I don't use Ubuntu so I am not an expert on it. It is based on my distro however, and should work similarly.

    Now, I need the output after you run those commands. I have yet to see what happens when you try to clear your firewall rules. Run the commands in my last post, then run iptables -S and paste me the output. For all we know, those commands may not take effect with the new UFW crap.

  14. Yes, please.

    *UPDATE*

    Try the following commands in order and see if it will clear out your rules without screwing up. This is why I hate Ubuntu...

    $ sudo iptables -X

    $ sudo iptables -t nat -F

    $ sudo iptables -t nat -X

    $ sudo iptables -t mangle -F

    $ sudo iptables -t mangle -X

    $ sudo iptables -P INPUT ACCEPT

    $ sudo iptables -P FORWARD ACCEPT

    $ sudo iptables -P OUTPUT ACCEPT

  15. You should have had:

    -P INPUT ACCEPT

    -P OUTPUT ACCEPT

    -P FORWARD ACCEPT

    All of that junk you see is a firewall. You have to clear your rules out or you will never be able to connect. That or you must add a rule for WoW. The command iptables -F should clear everything out and reset iptables unless Ubuntu has changed something. You must run that command as root!

    *EDIT*

    Get to a shell as root. Run iptables -F and note that it is a capital F. Then run iptables -S noting the capital S. You should only see the three basic rules. If not, let me know.

×
×
  • 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