Table of Contents

Installing a Crossfire Server on MacOS X - Intel

FIXME – Instructions are still under development, use with caution

Server

Please note. The server will compile and run but stability as not been tested. Please let us know what you find out with it.

Start Here

 $ pwd
 /Users/<username>

Download

Trunk

 $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/trunk server.svn
 $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/maps/trunk maps.svn
 $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/trunk arch.svn

SETUP

This confirms that you are still in your home directory

 $ pwd
 /Users/<username>

Now change directory (hence the cd) to the directory that contains the server files

 $ cd server.svn

This confirms that you are in the server directory

 $ pwd
 /Users/<username>/server.svn

This step “links” two directories to each other which makes the compile process more automated

 $ sudo ln -s /Users/<username>/maps.svn maps

This step “links” two directories to each other which makes the compile process more automated and is used by the server once Crossfire server is up and running. This links the server to the map files which you downloaded earlier.

First, create the necessary directory tree for the map files with this command:

 $ sudo mkdir /usr/games/crossfire;sudo mkdir /usr/games/crossfire/share; sudo mkdir /usr/games/crossfire/share/crossfire

What that does, is it creates a directory located here: /usr/games/crossfire/share/crossfire

Now this step “links” two directories to each other which makes the compile process more automated

 $ sudo ln -s /Users/<username>/maps.svn /usr/games/crossfire/share/crossfire/maps

Now change directory (hence the cd) to the directory that contains the library files

 $ cd lib

Double check that you are in the correct directory

 $ pwd
 /Users/<username>/server.svn/lib

This step “links” two directories to each other which makes the compile process more automated. This links the arch or archetype files to the server files which you downloaded earlier.

 $ ln -s /Users/<username>/arch.svn ./arch

Go back another directory

 $ cd ..

Double check that you are in the correct directory which is the server directory

 $ pwd
 /Users/<username>/server.svn

Compile

This section may be easy but it also may not be easy. NOTE: This process has only been tested on one computer and the server stability HAS NOT BEEN TESTED.

First, build the configure script. From /Users/<username>/server.svn

 $ automake
 $ chmod +x autogen.sh
 $ ./autogen.sh --enable-static --disable-shared CFLAGS=-ste=c99 --disable-check

Now we will run the rest

 $ make
 $ make install

Dependencies

List of crossfire-server dependencies:

 $ otool -L /Users/<username>/server.svn/server/crossfire-server 
 /Users/<username>/server.svn/server/crossfire-server:
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
    /sw/lib/libcurl.3.dylib (compatibility version 4.0.0, current version 4.0.0)
    /usr/lib/libssl.0.9.7.dylib (compatibility version 0.9.7, current version 0.9.7)
    /usr/lib/libcrypto.0.9.7.dylib (compatibility version 0.9.7, current version 0.9.7)
    /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

Full list of gclient2 dependencies:

$ otool -L /usr/local/bin/gcfclient2
/usr/local/bin/gcfclient2:
      /sw/lib/libgtk-x11-2.0.0.dylib (compatibility version 601.0.0, current version 601.10.0)
      /sw/lib/libgdk-x11-2.0.0.dylib (compatibility version 601.0.0, current version 601.10.0)
      /usr/X11/lib/libXrandr.2.dylib (compatibility version 3.0.0, current version 3.0.0)
      /usr/X11/lib/libXinerama.1.dylib (compatibility version 2.0.0, current version 2.0.0)
      /usr/X11/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)
      /usr/X11/lib/libXfixes.3.dylib (compatibility version 5.0.0, current version 5.0.0)
      /usr/X11/lib/libXcursor.1.dylib (compatibility version 2.0.0, current version 2.2.0)
      /sw/lib/libatk-1.0.0.dylib (compatibility version 1215.0.0, current version 1215.0.0)
      /sw/lib/libgdk_pixbuf-2.0.0.dylib (compatibility version 601.0.0, current version 601.10.0)
      /sw/lib/libpangoxft-1.0.0.dylib (compatibility version 1002.0.0, current version 1002.0.0)
      /usr/X11/lib/libXft.2.dylib (compatibility version 4.0.0, current version 4.2.0)
      /usr/X11/lib/libXrender.1.dylib (compatibility version 5.0.0, current version 5.0.0)
      /sw/lib/libpangox-1.0.0.dylib (compatibility version 1002.0.0, current version 1002.0.0)
      /usr/X11/lib/libX11.6.dylib (compatibility version 9.0.0, current version 9.0.0)
      /sw/lib/libpangoft2-1.0.0.dylib (compatibility version 1002.0.0, current version 1002.0.0)
      /usr/X11/lib/libfontconfig.1.dylib (compatibility version 3.0.0, current version 3.0.0)
      /usr/X11/lib/libfreetype.6.dylib (compatibility version 10.0.0, current version 10.16.0)
      /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
      /sw/lib/libpango-1.0.0.dylib (compatibility version 1002.0.0, current version 1002.0.0)
      /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
      /sw/lib/libgobject-2.0.0.dylib (compatibility version 1201.0.0, current version 1201.12.0)
      /sw/lib/libgmodule-2.0.0.dylib (compatibility version 1201.0.0, current version 1201.12.0)
      /sw/lib/libglib-2.0.0.dylib (compatibility version 1201.0.0, current version 1201.12.0)
      /sw/lib/libintl.3.dylib (compatibility version 8.0.0, current version 8.3.0)
      /sw/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
      /sw/lib/libSDL-1.2.0.dylib (compatibility version 12.0.0, current version 12.2.0)
      /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 12.0.0)
      /sw/lib/libSDL_image-1.2.0.dylib (compatibility version 2.0.0, current version 2.5.0)
      /sw/lib/libpng12.0.dylib (compatibility version 19.0.0, current version 19.0.0)
      /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)