Jump to content

Platforms and OS


Guest theluda_

Recommended Posts

Since mangos and its' branches can be built to run on many different breeds of systems, we would like to know which one you chose and why!

If you can provide system specs, let's hear it :-)

Link to comment
Share on other sites

Linux feel much more native for everything, its taking less resources and is generally faster for what i am using it for. Im still programming on windows tho, i have not yet got my stationary computer (Will run Debian 6 on it)

Linux box:

OpenVZ Container with
1024 MB ECC RAM
One core from a Intel Xeon X5650 @ 2.67GHz
RAID-10 * SAS 15.000 RPM 5 GB Storage
50 GB Transfer on a 100Mbit/s uplink (Previously it was 1000Mbits uplink, peaked 70MB/s from debian.org)

Development/School/Crap box:

HP ProBook 4530s
4096 MB NON-ECC RAM
Intel Core i5-2410M @ 2.30 GHZ
AMD Radeon 7470M / Intel Integrated Bull****
320 GB Seagate Something @ 5400 RPM with broken sectors (Do not hit your laptop, the harddrive will break they said )

For some reason there are no driver for linux to my laptop, so im stuck with windows 7 until i get my Debian "workstation" (Cheap ass computer ill use for WoW Development mainly)

Link to comment
Share on other sites

This poll doesn't differentiate FreeBSD, OpenBSD, NetBSD,etc but since they are technically BSD Unix descendents i'll let that one slide since all linux distros are grouped as well ;) however there is no option for 32 or 64 bit *BSD.. and there is no option for OS's that support other cpu architectures (for those that live dangerously and attempt to run mangos on a MIPS for example)

Link to comment
Share on other sites

I'm running a FreeBSD 9.0-Release machine here. My CPU is an Intel® Core2 Duo CPU E7400 @ 2.80GHz , with a NVIDIA GeForce GTX 260 and 4GB of RAM. I use this machine as a desktop and for occasional programming (mainly PHP & C++). I've also got Windows 7 dual-booted on my system which I only use when necessary.

Link to comment
Share on other sites

Mac OS X version 10.6 (Snow Leopard). I've worked with Mac OS for twenty years and I stick with it because of its strong Unix foundations which in addition give access to lots of open source softwares. Moreover, the increasing interest for Mac OS X also increases the number of available softwares.

Local dev:

core i7 @2.8GHz

12 GB memory DDR3

2 TB disk

mysql 5.5.17

Link to comment
Share on other sites

I'd like to hear more about your experience on BSD and OS X. Did mangos compile out of the box or does it require changes? Other than that some interesting specs :-)

Well for BSD MaNGOS will almost compile out of the box. ACE requires one slight change to compile, and the map&vmap extractors need to be changed as well.

Adding this patch to the core will fix the ACE issue:

diff --git a/dep/ACE_wrappers/ace/config-freebsd.h b/dep/ACE_wrappers/ace/config-freebsd.h
index b83394d..1715675 100644
--- a/dep/ACE_wrappers/ace/config-freebsd.h
+++ b/dep/ACE_wrappers/ace/config-freebsd.h
@@ -50,7 +50,7 @@
# endif /* _THREAD_SAFE */
#endif

-
+#define ACE_HAS_MEMCPY_LOOP_UNROLL
#define ACE_HAS_3_PARAM_READDIR_R
#define ACE_HAS_3_PARAM_WCSTOK
#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG

When it comes to the maps though I don't know of a way to fix it upstream for everyone. What I had to do was edit CMakeLists.txt for each vmap&map folder (and their subdirectories) and modify LINK_DIRECTORIES wherever it linked to anything in dep/libmpq. Instead of it saying

LINK_DIRECTORIES( ${LINK_DIRECTORIES} ../../../dep/libmpq/libmpq/.libs/ )

, for example, it would have to be changed to

LINK_DIRECTORIES( ${LINK_DIRECTORIES} /home/froid/Documents/mangos-tbc/dep/libmpq/libmpq/.libs/ )

.

Maybe someone could create a script for CMake to execute which would find the LINK_DIRECTORIES part of CMakeLists.txt and replace the "../../../"'s with your home directory. Other then that I would either do it by hand or use the windows executables through wine.

Link to comment
Share on other sites

FreeBSD 9.0-RELEASE (amd64 Custom Kernel)

Intel® Core2 Duo CPU E6750

4GB RAM

1.7TB spanned over 4 HDDs

Runs 2 separate instances of mangos (master) in separate jails (one live, one for testing/debug)

Using epair/vimage so jails have their own network stacks

Testing/Devel Server:

8.2-RELEASE FreeBSD (i386 GENERIC Kernel)

AMD Sempron Processor 3100+

1GB RAM

Runs upto 5 jails where I test different features/forks of zero, one, and master (they normally don't all run at the same time)

and also for testing different library versions (openssl/ACE/etc)

using original jail v1, so jails have shared network stack unlike main server

I've never had the bundled ACE work correctly for me since its update a while ago. Currently forced to use an external ace library (which is out of date currently, but it works)

I tried Froid's suggestion on my 64bit main server with no luck, even in a newly created jail to test it in a completely clean environment. have not tried it on the 32bit test server yet

Link to comment
Share on other sites

I'd like to hear more about your experience on BSD and OS X. Did mangos compile out of the box or does it require changes? Other than that some interesting specs :-)

On OS X, you cannot setup a running server straight out of the box, there are some workarounds but nothing impossible. First, as advice in a tutorial found on mangos wiki, I apply the following patch:

diff --git a/dep/src/g3dlite/prompt.cpp b/dep/src/g3dlite/prompt.cpp
index d78f8b7..df3da50 100644
--- a/dep/src/g3dlite/prompt.cpp
+++ b/dep/src/g3dlite/prompt.cpp
@@ -21,6 +21,7 @@
#    define _getch getchar
#endif

+#undef G3D_OSX
#if 0 /* MANGOS exclude for disabled gui prompt */
#ifdef G3D_OSX

Regarding the maps and vmaps extractors, I use Wine (an emulator) to run the Windows extractors.

You have to note that I only manage to build mangos-zero as I'm very interested in the zero branch. I never tried building mangos-main and mangos-one until this evening to provide you a better feedback and unfortunately, I failed building both with the same error :

In file included from /Users/mo/Desktop/mangos-two/mangos/src/game/movement/../MoveMapSharedDefines.h:23,
                from /Users/mo/Desktop/mangos-two/mangos/src/game/movement/../PathFinder.h:22,
                from /Users/mo/Desktop/mangos-two/mangos/src/game/movement/MoveSplineInit.h:23,
                from /Users/mo/Desktop/mangos-two/mangos/src/game/ConfusedMovementGenerator.cpp:23:
/Users/mo/Desktop/mangos-two/mangos/dep/recastnavigation/../recastnavigation/Detour/Include/DetourNavMesh.h:33: error: conflicting declaration ‘typedef uint64_t uint64’
/Users/mo/Desktop/mangos-two/mangos/src/framework/Platform/Define.h:112: error: ‘uint64’ has a previous declaration as ‘typedef ACE_UINT64 uint64’

As it seems related to ACE and that OS X is based on BSD, I'll try the patch adviced above by Froid. EDIT: nope, no effect with this patch. :(

I hope this feedback is useful. Feel free to ask for more.

I'm writing an installation guide for Mac OS X and mangos-zero, I will share it very soon, I guess.

Link to comment
Share on other sites

It's unfortunate that ACE won't compile with my patch :\\

It might be worthwhile to add the same line ( #define ACE_HAS_MEMCPY_LOOP_UNROLL ) somewhere in ace/config.h.in . I noticed in one of my local git commits that I placed the same line in that file too. Other then that I'm out of advice.

I looked at your build error for OSX by the way, and I have a general idea of how to fix it. The line

    typedef uint64_t           uint64;

is causing the problems since the file Define.h already defined what uint64 is. Try changing

 #ifdef __linux__
#include <linux/types.h>
#endif
#endif
   typedef uint64_t           uint64;
#endif

in recastnavigation/Detour/Include/DetourNavMesh.h to

#ifdef __linux__
#include <linux/types.h>
typedef uint64_t           uint64;
#endif
#endif
#endif

and see what happens.

Link to comment
Share on other sites

an other interesting past would be compiling on windows without VS (for example mingw (gcc))

and how it will impact on the performance and stability on windows systems...

would it be more unix like, or would it get even worst...

the only way to check this is to being able to compile mangos on WIN-GCC and run tests.

how ever could be a interesting topic

Link to comment
Share on other sites

an other interesting past would be compiling on windows without VS (for example mingw (gcc))

That probably would be a project of it's own to setup and get that done. I imagine both GCC and CLANG may be interesting journeys. Myself I onl y have tried CLANG on Windows which was quite a long run due to having to build CLANG with VS first.

Link to comment
Share on other sites

For now, my server platform is Windows XP SP2. Once I'm comfortable with the power-user features, I intend to switch over to Linux.

The hardware is basically the same: my old, reliable single-core Athlon 2.4 Ghz with two HDDs, 100 GB for OS and server and an 80 GB for MySQL and the databases. Motherboard is an MSI KT4V with 2GB of DDR 400 Mhz RAM, but I have an extra 2GB waiting to be added when Linux takes over. That may seem like a shitbox, compared to more recent hardware everyone else seems to use, but it's always worked flawlessly, even with five players logged in, AHBot running, and five Playerbots. Since my nephews moved on to other things, the server load is now just me and my bots, but I haven't yet tried adding mmaps.

With Android devices becoming more powerful every day, especially tablets, and ports of Android in the works for PC architectures, it would be interesting to have MaNGOS on that OS. Imagine carrying your entire server in your pocket, using Wi-fi hotspots to start up WoW LAN parties almost anywhere! Too bad we couldn't also use the mobile phone connections as well, but American mobile services are just too restrictive to allow that in my corner of the world.

Link to comment
Share on other sites

For OSX: https://github.com/faramir118/mangos/commit/c542d0028445c55ccfcd6b82e69842d86c4c20bb

This is for lion, but might fix your snow leopard issues.

Mangos One builds on Mac OS X 10.6.8 successfully with this commit. I did not try it on main Mangos, but having the exact same error, it should also fix it.

Thank you very much, Faramir. Is it possible to port it to main branch and mangos one or would it break building on other OS?

Link to comment
Share on other sites

Windows 7 64bit laptop at the moment will post specs when next on it :)

why? well why not, its computer I do most of stuff atm. But I am currently setting up an old box to be a linux server

I usally run mangos zero because it has the smallest patch's to the client version required :P

Link to comment
Share on other sites

Mangos One builds on Mac OS X 10.6.8 successfully with this commit. I did not try it on main Mangos, but having the exact same error, it should also fix it.

Thank you very much, Faramir. Is it possible to port it to main branch and mangos one or would it break building on other OS?

I only tested on OSX lion and mangos master, glad to hear it works OSX and mangos versions.

Would need to be tested on other platforms before it could be merged.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

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